Dein Sort-Algorhytmus ist falsch aufgebaut.
Delphi-Quellcode:
repeat
fertig := True;
for i := 1 to dfs-1 do // bei einer Schleife ist nur sicher, dass das
begin // größte Element ganz hinten steht
if kontakte[i].Name > kontakte[i+1].Name then
begin
tausch(kontakte[i],kontakte[i+1]);
fertig := false;
end;
end;
until fertig = true;
Schau mal
hier. Da steht alles wichtige drin.
Erwarte das Beste und bereite dich auf das Schlimmste vor.