Einzelnen Beitrag anzeigen

livemedia

Registriert seit: 14. Mär 2006
8 Beiträge
 
Delphi 2009 Professional
 
#1

Sortierte TListbox - Probleme mit ItemIndex

  Alt 12. Mai 2008, 22:40
Hallo

Ich befülle eine Listbox mit den Daten aus einem Array und möchte anschließend auf Doppelklicks in der Listbox reagieren. Solange ich die Daten nicht vcn der Listbox sortieren lasse ist alles wunderbar weil der gelieferte Wert Itemindex dem Speicherplatz in meinem Array entspricht.

EXTREM verkürztes Beispiel:

Delphi-Quellcode:
type friends = record
        firstname: string[30];
        lastname : string[30];
        email : string[50];
end;
var friendlist : array[1..100] of friends;

for i := 1 to 10 do
begin
 form1.ListBox1.Items.Add(friendlist[i].firstname+' '+friendlist[i].lastname)
end;
Und sobald ein Doppelklick kommt in der Listbox soll die Mailadresse rauskommen. (wieder nur als kurzes Beispiel)

Delphi-Quellcode:
procedure TForm1.ListboxdBlClick(Sender: TObject);
begin
  if listbox1.ItemIndex <> -1 then
    showmessage(friendlist[listbox1.ItemIndex+1].email); // +1 weil itemindex bei 0 anfängt - meine Liste aber mit 1
end;
Wenn ich jetzt aber die Listbox sortieren lasse kommt beim Klick auf den ersten Eintrag der Itemindex 0 obwohl der Speicherplatz in meinem Array z.b. 8 sein könnte. Somit wird mir bei dem obigen Beispiel dann eine falsche Mailadresse angezeigt. Wie bekomme ich diese Daten denn wieder überein OHNE vorab zu sortieren ??

Ich hoffe ich konnte mein Problem deutlich machen obwohl ich nur beispielhafte Code verwendet habe.
  Mit Zitat antworten Zitat