![]() |
ListBox
Hi..
Ich will überprüfen ob der Eintrag den ich in die ListBox eintragen will, schon vorhanden ist. Dazu habe ich mir mal folgendes zurechtgelegt:
Delphi-Quellcode:
Leider funktioniert dies nicht!
for i:= 1 to ListBox3.Items.Count do
begin if (ListBox3.Items.ValueFromIndex[i] = Edit2.Text) then ShowMessage('Strasse schon ausgewählt...') else ShowMessage(ListBox3.Items.ValueFromIndex[i]); end; Folgendes Szenario habe ich debugt: Ich füge einen Eintrag ein z.B. 'asdf' Die Schleife durchläuf nicht, weil die ListBox noch leer ist, also Items.Count = 0 Dann füge ich nochmals 'asdf' ein. Die schleife wird einmal durchlaufen, weil Items.Count = 1 Komisch ist jetzt, das das Naximum des ListenIndexes(1) überschritten wurde (laut Fehlermeldung) und warum ist jetzt i = 256 und nicht i = 1 wie das eigentlich sein müsste... Naja, das stellt sich sicherlich bald heraus, bin schon gespannt! |
Re: ListBox
warum nicht
Delphi-Quellcode:
wenn du lieber die einzelnen einträge durchgehen willst (z.B. wegen Groß/Kleinschreibung) musst du bedenken, dass das erste item den Index 0 hat.
if (Listbox1.items.indexof(edit1.text)=-1) then
Listbox1.items.add(edit1.text);
Delphi-Quellcode:
Gruß Frank
function EntryExists(items:TStrings;Text:string):boolean;
var i:integer; lc:string; begin result:=false; lc:=AnsiLowerCase(Text); for i:=0 to items.count-1 do begin if lc=AnsiLowerCase(items.strings[i]) then result:=true; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if not entryexists(Listbox1.items,edit1.text) then Listbox1.items.add(edit1.text); end; |
Re: ListBox
Ist der gesuchte Wert komplett identisch mit den werten in der Liste? dann kannst du das mit .IndexOf machen und kannst die die Schleife sparen.
|
Re: ListBox
Hi,
der Index ist 0-basiert, beginnt also nicht bei 1, sondern bei 0. Entweder for i:=0 to ...count-1 oder ...[i-1] Schau Dir mal ![]() |
Re: ListBox
Vielen Dank euch allen...
Ich glob ich nehm dann die kürzere Variante :-D THX |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz