Einzelnen Beitrag anzeigen

Henriko

Registriert seit: 7. Feb 2013
1 Beiträge
 
#1

TList Filterfunktion

  Alt 7. Feb 2013, 12:46
Delphi-Version: 5
Morgen zusammen!

Ich programmiere im Moment ne kleine "Verwaltungssoftware" für nen Freund. Es ähnelt im Prinzip nem Karteikartensystem, wo er kleine Datensätze mit Name, Telefon und nem kurzen Kommentar speichern kann. Dieser Datensatz wird dann in ner Liste vom Typ TList gespeichert.
Die Namen werden dann in ner ListBox angezeigt und wenn er drauf klickt werden alle Daten in nem Feld neben der ListBix angezeigt.

Jetzt will ich halt, ne Prozedur schreiben, die es ermöglicht, die Elemente der Liste nach bspw. Namen ordnet. Ich hab schon viel versucht, aber es will einfach nicht laufen!

Mein Plan war eben Mit ner For Schleife die ganze Liste durchzugehen. Dann in eine VAriabel "aktuell" das aktuelle Elemente einzulesen und in die Variabel "naechstes" das folgende Element(aktuell.next) zu speichern. Dann per IF Abfrage den aktuellen Nachnamen mit dem naechsten Nachnamen UND den "naechstnaechsten" (Sorry ) Nachnamen mit dem mittleren Vergleichen. Ziel ist es also zwei Elemente zu finden, ZWISCHEN die das aktuelle eingeordnet werden kann! Dann soll das ganze in ne zweite temporäre Liste geschrieben werden, die dann auf die "richtige" Liste übertragen wird... Problem ist aber, dass dieses Vorgehen nicht klappt wenn die Liste am Anfang noch leer ist, weil die IF Funktion eben nicht erfüllt wird :/ ICh hoffe ihr könnt mir helfen und den Code schonmal im Anhang !

Delphi-Quellcode:
procedure TForm1.DBOrdnen(o:TListBox);
VAR x,i:integer;
VAR aktuell, naechstes:TELement;
begin

Datanbank.AnAnfang;

FOR x:=1 TO Datenbank.getAnzahl DO
BEGIN
aktuell:=Datenbank.getaktuell;
naechstes:=aktuell.next;

IF (aktuell.Nachname<naechstes.Nachname) AND (naechstes.Next.Nachname > naechstes.Nachname) THEN tempDB.EinfuegenVor(aktuell);

Datenbank.Vor;

END;
  Mit Zitat antworten Zitat