Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ComboBox - Items auswerten (https://www.delphipraxis.net/72777-combobox-items-auswerten.html)

MarLe 6. Jul 2006 15:58


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?)

ste_ett 6. Jul 2006 16:00

Re: ComboBox - Items auswerten
 
Per Copy() kannst du aus einem String einen Teilstring herausholen.
Mit StrToInt() kannst du dann eine Zahl daraus generieren. :)

Martin K 6. Jul 2006 16:05

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]

Christian Seehase 6. Jul 2006 16:56

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));

Hawkeye219 6. Jul 2006 18:19

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 Delphi-Referenz durchsuchenVal die Zahlen extrahieren:

Delphi-Quellcode:
procedure Test;
var
  s : string;
  Value : Cardinal;
  Code : Integer;
begin
  s := '1 - erster Eintrag';
  Val (s, Value, Code);
end;
Gruß Hawkeye

MarLe 7. Jul 2006 09:47

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