Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Zahlenwert aus Listbox auslesen


flow36 - Do 05.03.09 19:08
Titel: Zahlenwert aus Listbox auslesen
Mit den folgenden Zeilen wird eine Listbox angelegt, was auch problemlos funktioniert.

Delphi-Quelltext
1:
2:
var de : cardinal
Form1.ListBox3.Items.Add(IntToStr(de));

Durch Anclicken einer Zahl, die jetzt in der ListBox steht, soll der Zahlenwert zur Weiterverarbeitung übernommen werden.
Wie könnte man dies machen?

so, wie in der folgenden Zeile, geht es nicht

Delphi-Quelltext
1:
Edit6.text:= IntToStr(Form1.ListBox3.?????);                    

MfG
flow36

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Do 05.03.2009 um 18:53


Marc. - Do 05.03.09 19:21

Hey und :welcome: im Forum!

Mit der Property ItemIndex erhälst du in der Tat den Index der selektierten Zeile. ;)

Delphi-Quelltext
1:
Edit3.Text := Form1.ListBox1.Items[Form1.ListBox1.ItemIndex];                    

Übrigens werden die Daten aus der Listbox als Strings behandelt, weshalb du dir in diesem Falle das IntToStr sparen kannst.


flow36 - Fr 06.03.09 00:10

danke für die Hilfe
ist [Form1.ListBox3.ItemIndex] ein array?

so sieht es jetzt aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.ListBox3Click(Sender: TObject);
begin
        
      ByteNr:= StrToInt(Form1.ListBox3.Items[Form1.ListBox3.ItemIndex]);
                               //übernimmt die in der Liste stehende Zahl

end;

MfG
flow36

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


jaenicke - Fr 06.03.09 00:27

user profile iconflow36 hat folgendes geschrieben Zum zitierten Posting springen:
danke für die Hilfe
ist [Form1.ListBox3.ItemIndex] ein array?
Das Array ist Form1.ListBox3.Items und Form1.ListBox3.ItemIndex ist der Index des aktuell ausgewählten Eintrags der ListBox im Array, dieses Index schreibst man beim Zugriff auf einen Eintrag dann in eckige Klammern.