![]() |
ListBox.Item.Names[] Problem
Delphi-Quellcode:
Ich hab hier nur gerade das CheckGroup Bsp rausgeschnitten. Aber das gleiche Problem gibts mit ListBoxen
for i:=0 to CheckGroup1.Items.Count-1 do
begin if CheckGroup1.Checked[i] then begin case i of 0: Values[i]:=Label6.Caption; 1: begin Values[i-1]:=Label6.Caption; Values[i]:=Label7.Caption; end; 2: for j:=0 to CheckGroup2.Items.Count-1 do if CheckGroup2.Checked[j] then Values[j+i]:=CheckGroup2.Items.Names[j]; 3: Values[i+CheckGroup2.Items.Count-1]:=Edit2.Text; 4: Values[i+CheckGroup2.Items.Count-1]:=Edit3.Text; 5: Values[i+CheckGroup2.Items.Count-1]:=Edit4.Text; end; end; end; Beide (ListBox.Items.Names[] und CheckGroup.Items.Names[]) liefern mir einen leeren String. Values[] ist dyn. globales Array. Tut allerdings nichts zur Sache. Habe mir das Values-Array im Memo ausgeben lassen. Wird nichts angezeigt an den stellen, wo halt die besagten Eigescnhaften angesprochen werden. Habe ich irgendetwas grundlegendes übersehen? Programm lässt sich auch wunderbar kompilieren. grüße |
Re: ListBox.Item.Names[] Problem
Hi,
wie sieht denn der Inhalt aus? Hat er das Format Name=Value? Wenn nicht, suchst du wohl eher Strings statt Names. Vergiss es, nicht genau hingeguckt. Könnte doch sein. Durchstreichung wieder entfernt. Mfg FAlter |
Re: ListBox.Item.Names[] Problem
Hi Falter,
du nutzt laut Signatur ja auch Lazarus. Obwohl das bei dem Problem unerheblich sein müsste. könnte vll. jmd. das mal bei sich ausprobieren? Einfach kurz ne Listbox erstellen was reinschreiben und den Befehel ListBox1.Items.Name[0] irgendwo wieder ausgeben lassen. Mich würde das Ergebnis mal interessieren. --- Habs gerade nochmal selbst getestet in nem neuen Projekt. Gleiches Ergebnis. Ein leerer String. Welchen Wert spricht man denn mit .Items.Names[] an? Scheinbar ja nicht den Namen. Zumal da "NameS" steht und dort erst der Index auftaucht. Nicht beim Item. Sehr komische Sache, weil ein Item ja nicht mehrere Namen besitzen kann, oder irre ich mich? Mir geht es darum, einfach nur den Namen des x-ten Items einer Listbox oder Checkgroup zu ermitteln. MMh. Grüße ----Edit--- Welcher Inhalt? Also .Items.Names[x] hat einen String als Rückgabewert. Mein Array, falls du das meinst, ist ein Array of String. Das hat aber mit dem Problem nichts zu tun. Oder habe ich deine Frage/Antwort nicht ganz verstanden? |
Re: ListBox.Item.Names[] Problem
Wenn Deine Listbox einen Eintrag in der Form
Code:
hat, bekommst Du mit Zugriff auf Names den Teil vor dem Gleichheitszeichen. Hast Du hingegen "ganz normale" Strings drin, greifst Du am besten direkt auf Items zu.
Name=Value
|
Re: ListBox.Item.Names[] Problem
Hi,
bei mir hat das (bei ner Listbox, mit Lazarus) geklappt. Inhalt war:
Code:
Listbox1.Items.Names[0] war Key
Key=Value
Listbox1.Items.Values['Key'] war Value Mfg FAlter |
Re: ListBox.Item.Names[] Problem
Und wenn kein Gleichheitszeichen drin ist, ist Names[Index] leer (auch mit Lazarus getestet).
|
Re: ListBox.Item.Names[] Problem
Wie kann ich denn den Typ des Eintrags steuern?
Mit der Zeile fülle ich meine ListBox
Delphi-Quellcode:
Die Items werden nat. auch richtig angezeigt. Es muss doch jetzt möglich sein alle Item-Namen nacheinander auszulesen. Ich habe das über eine gezählte Schleife gemacht und ListBox1.Items.Names[i] genutzt. Wie gesagt leerer String als Ergebnis.
ListBox1.Items.Add(FTPClient.FtpList.Items[i].FileName)
Ich verstehe euer Anliegen mit Name=Value nicht ganz. |
Re: ListBox.Item.Names[] Problem
Hi,
über Items.Strings[I]. Da das der Standard ist, gehts auch direkt über Items[I]. Mfg FAlter |
Re: ListBox.Item.Names[] Problem
Okay, danke. Wiedermal mehr gemacht, als gebraucht war :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 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