Function InsertarDato(dato:tDato;lista:tListaOrdenada):tListaOrdenada ;
var
flag:boolean = false;
aux1,aux2:tDato;
begin
if esListavacia(lista)=true THEN
Begin
lista.primero:=1;
lista.datos[1]:=dato;
lista.ultimo:=1;
InsertarDato:=lista;
end
else begin
for contador:=lista.primero to lista.ultimo do
begin
if ((upcase(lista.datos[contador].nickUsuario)<=upcase(dato.nickUsuario)) and (flag=false)) then
flag:=true;
lista.ultimo:=lista.ultimo+1;
aux1:=lista.datos[contador+1];
lista.datos[contador+1]:=dato;
aux2:=lista.datos[contador+2];
if contador+2<lista.ultimo then
begin
for contador2:=contador+2 to lista.ultimo do
begin
lista.datos[contador2]:=aux1;
aux1:=aux2;
aux2:=lista.datos[contador2+1];
end;
end
else lista.datos[contador+1]:=aux1;
end;
if flag=false then
begin
aux1:=lista.datos[1];
lista.ultimo:=lista.ultimo+1;
lista.datos[1]:=dato;
for contador:=2 to lista.ultimo do
begin
aux2:=lista.datos[contador];
lista.datos[contador]:=aux1;
aux1:=aux2;
end;
end;
InsertarDato:=lista;
end;
end;