Frage von bommel02020, 61

Wie lese ich ein Produkt aus einer ListBox aus (In Delphi Lazarus)?

Hallo, Ich habe ein kleines Problem. Und zwar sollten wir eine Einkaufliste erstellen mithilfe von Arrays und das in einer ListBox. Das habe ich auch noch hinbekommen, aber jetzt möchte ich gerne ein Produkt auswählen und es in ein Edit-Feld speichern. Das soll wie folgt funktionieren. Ich wähle eine Produktnummer aus in einem Edit. dann soll das ausgewählte Produkt in ein anderes Edit-Feld angezeigt werden, wo ich es dann bearbeiten kann. Nach der Bearbeitung soll ich dann auf einen anderen Button drücken der das ganze in der ListBox ändert. Ich komme da echt nicht weiter hat jemand eine Idee wie man dieses Problem lösen kann ?

Würde mich um eine Rückmeldung freuen

MFG bommel02020

Antwort
von zlheadhunter, 44

Du kannst das Problem über die Funktion ListBox1.ItemIndex ändern. Diese Funktion erlaubt dir, das bestimmte "Item" auszulesen, da jedem Item aus der ListBox ein bestimmter, in Reihenfolge aufsteigender Wert, zugeordnet ist. Meist beginnt er mit "0". Auswählen kannst du die bestimmten Items beispielsweise mit dem Befehl: 

Edit1.Text:=ListBox1.ItemIndex(0);

Mit diesem Befehl würdest du in dem Edit1-Feld die erste "Zeichenkette" bzw. das Item aus der ListBox1 ausgegeben bekommen. Eine Datentypumwandlung brauchst du nicht, da beides String-Datentypen sind!

Hoffe ich konnte dir helfen!

[Die Bezeichnungen der Objekte können abweichen.]

Antwort
von Juyas, 50

Also ich habe nicht ganz die Reihenfolge und das Ziel verstanden, aber sinnvolle Funktionen sind:
ListBox.Items.Add('String');
IntegerVariable := ListBox.ItemIndex // das ausgewählte Item.
ListBox.Items.Remove(index);
StringVariable := ListBox.Items[index];
EditFeld.Text := StringWert;
StringVariable := EditFeld.Text;

Kommentar von bommel02020 ,

Naja ich möchte halt eine ausgewählt Zeile aus einer ListBox entnehmen und diese dann in einem Edit Feld wiedergeben

Und da weiß ich leider nicht wie ich vorgehen soll. Programmieren ist nicht meine Stärke...

Kommentar von Juyas ,

zeile auslesen ist: StringVariable := ListBox.Items[ListBox.ItemIndex]; ausgeben: EditFeld.Text := StringVariable; Hier zu beachten ist, dass dejne Variablen Namen eventuell anders sind.

Keine passende Antwort gefunden?

Fragen Sie die Community