Hi!
ich habe einmal eine ListBox, in der ich eine Uhrzeit eintrage und dazu noch eine Beschreibung - in einer TStringList lasse ich gleichzeitig die IDs der einzelnen Sachen eintragen - nun will ich die Anzeige geordnet haben - und zwar nach der Uhrzeit!
In der ListBox ist das ja kein Problem - hier mache ich einfach ListBox.Sorted:= True, aber jetzt habe ich ein Problem...wie soll ich die StringList ordnen lassen, sodass die Einträge in der Reihenfolge noch zueinander passen? hier der ganze Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| // Prüfen, ob für gewählten Tag noch etwas aussteht if (Query.FieldByName('Uhrzeit').AsString >= TimeToStr(Time)) and (Query.FieldByName('Datum').AsDateTime = Datum) and (Query.FieldByName('Erledigt').AsBoolean = False) then begin // falls noch aussteht, normal anzeigen LBToDo.Items.Add(Query.FieldByName('Uhrzeit').AsString + ' - ' + Query.FieldByName('Beschr').AsString);
LBToDo.Sorted:= True;
Auswahl.Add(Query.FieldByName('WID').AsString); end else if (Query.FieldByName('Uhrzeit').AsString <= TimeToStr(Time)) and (Query.FieldByName('Datum').AsDateTime = Datum) and (Query.FieldByName('Erledigt').AsBoolean = False) then begin // falls noch aussteht und verpasst wurde, mit Meldung anzeigen LBToDo.Items.Add('***** VERPASST - ' + Query.FieldByName('Uhrzeit').AsString + ' - ' + Query.FieldByName('Beschr').AsString + ' *****');
LBToDo.Sorted:= True;
Auswahl.Add(Query.FieldByName('WID').AsString); end; Query.Next; ... |
Sonst kommt alles durcheinander!