ComboBox - Items auswerten
Gibt es irgendeine Möglichkeit bei folgenden ComboBox Items
1 - erster Eintrag 3 - zweiter Eintrag 9 - dritter Eintrag Bei der Auswahl eines Eintrages z.B. "3 - zweiter Eintrag" die Zahl für einen Funktionsaufruf zu verwenden, oder muss ich die Zahl aus dem String rausfischen??? (kann man eventuell den ItemIndex verwenden, aber wo/wie weise ich diesen dem Eintrag zu?) |
Re: ComboBox - Items auswerten
Per Copy() kannst du aus einem String einen Teilstring herausholen.
Mit StrToInt() kannst du dann eine Zahl daraus generieren. :) |
Re: ComboBox - Items auswerten
Ehrlich gesagt, verstehe ich die Frage nicht so ganz.
Mit .Items[i] erhälst Du den String in Zeile i, wobei 0 die erste Zeile ist. Mit ItemIndex erhältst Du die Zeilennummer der Zeile, die gerade ausgewählt ist (in der Box steht). Wenn alle Zeilen als erstes eine Zahl haben, müsstest Du diese so erhalten: StrToInt(ComboBox.Items[i][1]) [roter Kasten] geht aber nur, wenn die Zahl aus nur einem Zeichen besteht ('0'..'9'), ansonsten musst Du mit Copy() bei 1 beginnen und gucken, wie viele Zeichen die Zahl breit ist... [/roter Kasten] |
Re: ComboBox - Items auswerten
Moin MarLe,
eine andere Variante: Du hinterlegst die Werte, die Du brauchst als Objekt mit in der Item-Liste, also hinzufügen mit
Delphi-Quellcode:
ComboBox1.Items.AddObject(' 3 - zweiter Eintrag',TObject(3));
|
Re: ComboBox - Items auswerten
Hallo MarLe,
Christians Lösung ist die eleganteste, fallst du die Item-Liste zur Laufzeit füllst. Wenn die Einträge in der von dir vorgestellten Form bereits zur Designzeit vorliegen, kannst du mit der Prozedur Val die Zahlen extrahieren:
Delphi-Quellcode:
Gruß Hawkeye
procedure Test;
var s : string; Value : Cardinal; Code : Integer; begin s := '1 - erster Eintrag'; Val (s, Value, Code); end; |
Re: ComboBox - Items auswerten
Danke für die Tipps.
Den Tipp mit TObject http://www.delphipraxis.net/internal...t=tobject+zahl hatte ich auch schon gefunden. Ich suchte eine Lösung die Einträge schon zur Designzeit festlegen zu können (da die Liste doch länger ist). Ich denke ich verwende den Vorschlag von Hawkeye. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz