Nicht schlecht (sagt ein schlechter Programmierer
)
Also was habe ich vor:
Für eine Simulation (GrandPrix Legends) ein Tool schreiben, das durch alle gespeicherten replays geht, den Header ausliest indem die Zeiten gespeichert sind und diese in einem Objekt/Liste speichern.
Die Daten liegen ungefähr in dieser Form vor:
Datum
Fahrername
Saison (65/67/69/TC)
Kurs
Liste von Rundenzeiten
Nun muss die beste Zeit gefunden werden und diese nach folgendem sortiert werden:
Fahrer Name => Saison => Kurs => beste Zeit (kleinster Wert da in 1/1000 Sekunden gespeichert).
Habe jetzt auch schon mit Tlist überprüft und denke das ich den ersten Wert speichere und den nächsten Zeitwert vergleiche. Ist er besser ersten Wert löschen und mit neuem besserem Ersetzen.
Habe jetzt mal einfach mit TList probiert stecke jetzt aber mit TList.Sort fest
Delphi-Quellcode:
type
PMyList = ^RLaps;
RLaps = record
Track: String;
Name: String;
Time: Currency;
end;
var
MyList: TList;
ARecord: PMyList;
B: Integer;
begin
MyList := Tlist.create;
try
New (ARecord);
ARecord^.Track :='Silverstone';
ARecord^.Name := 'Nowak';
ARecord^.Time := 86.12;
MyList.Add(ARecord);
New (ARecord);
ARecord^.Track :='Silverstone';
ARecord^.Name := 'Nowak';
ARecord^.Time := 86.01;
MyList.Add(ARecord);
New (ARecord);
ARecord^.Track :='Silverstone';
ARecord^.Name := 'Nowak';
ARecord^.Time := 86.12;
MyList.Add(ARecord);
for B := 0 to (MyList.Count - 1) do
begin
ARecord := MyList.Items[B];
showmessage('Track: '+ARecord^.Track + 'Time: ' +CurrToStr(ARecord^.Time));
end;
Finally
MyList.Free
end;
end;
Aber bin offen für alle Ideen da ich bisher noch nicht groß mit Listen in Delphi gearbeitet habe.