Hi zusammen,
mein Quellcode soll verschiedene Werte einer Textdatei einlesen und sortieren. Die sortierten Werte sollen in einer Highscore-Liste angezeigt werden.
In der Textdatei stehen abwechselnd Wert und Benutzer in einer Zeile.
Beispiel: In der ersten Zeile steht die Punktzahl von Benutzer 1. Der Name von Benutzer 1 seht in der zweiten Zeile. In der dritten Zeile steht die Punktzahl von Benutzer 2. Der Name von Benutzer 2 seht in der vierten Zeile, usw.
Das Problem: Es werden nur die ersten 10 Werte in der Textdatei sortiert. Der 11. Benutzer wird nicht mehr in der Sortierung berücksichtigt.
Würde mich freuen, wenn sich das jemand mal anschauen könnte, DANKE.
Delphi-Quellcode:
procedure TForm1.bestenlistebuttonClick(Sender: TObject);
var ende,zwischenspeicher,lauefer,lauefer2,x,y,wertespeicher,wabbel:integer;
personenspeicher: string;
platz: array[1..100] of integer;
person: array[1..100] of string;
begin
bestenliste.Show;
highscore:=TStringList.Create;
if FileExists ('memory.txt') then
begin
highscore.LoadFromFile('memory.txt');
ende:=highscore.Count;
lauefer:=0;
lauefer2:=1;
for x:=1 to 10 do
begin
if (highscore.Count/2>=x) then
begin
platz[x]:=StrToInt(highscore[lauefer]);
lauefer:=lauefer+2;
person[x]:=highscore[lauefer2];
lauefer2:=lauefer2+2;
end;
end;
for y:=1 to 10 do
begin
for x:=1 to 10 do
begin
if (highscore.Count/2>=x) then
begin
if platz[x+1]<platz[x] then
begin
wertespeicher:=platz[x];
personenspeicher:=person[x];
platz[x]:=platz[x+1];
person[x]:=person[x+1];
platz[x+1]:=wertespeicher;
person[x+1]:=personenspeicher;
end;
end;
end;
end;
bestenliste.Label1.Caption:=IntToStr(platz[2]); //hier folgt die Ausgabe in die einzelnen Labels
bestenliste.Label2.Caption:=IntToStr(platz[3]);
bestenliste.Label3.Caption:=IntToStr(platz[4]);
bestenliste.Label4.Caption:=IntToStr(platz[5]);
bestenliste.Label5.Caption:=IntToStr(platz[6]);
bestenliste.Label6.Caption:=IntToStr(platz[7]);
bestenliste.Label7.Caption:=IntToStr(platz[8]);
bestenliste.Label8.Caption:=IntToStr(platz[9]);
bestenliste.Label9.Caption:=IntToStr(platz[10]);
bestenliste.Label39.Caption:=person[2];
bestenliste.Label38.Caption:=person[3];
bestenliste.Label37.Caption:=person[4];
bestenliste.Label36.Caption:=person[5];
bestenliste.Label35.Caption:=person[6];
bestenliste.Label34.Caption:=person[7];
bestenliste.Label33.Caption:=person[8];
bestenliste.Label32.Caption:=person[9];
bestenliste.Label31.Caption:=person[10];
highscore.Free;
end;
end;