Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ausgewählten Eintrag aus Listbox in Editbx schreiben (https://www.delphipraxis.net/92847-ausgewaehlten-eintrag-aus-listbox-editbx-schreiben.html)

Marcer 27. Mai 2007 13:07


Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Hallo,
ich habe folgendes Problem: Ich hab eine Listboxen mit einmal 11 Einträgen und einmal 2 Einträgen, nun möchte ich, dass der jeweils angeklickte Eintrag in ein Editfeld geschrieben wird, so dass ich erst einen Eintrag der ersten Listbox anklicke, dieser in das Editfeld geschrieben wird und anschließend der angeklickte Eintrag der zweiten Listbox dahintergeschrieben wird.

Dazu habe ich nun bei dem Ereignis OnClick der Listboxen folgende Prozedur verwendet:

procedure TForm2.WriteBox(Sender: TObject);
begin
Editbox.Text:=Listbox1.Items;
end;


Problem ist nur, dass beim Starten immer die Fehlermeldung kommt "Inkompatible Typen 'String' und 'TStrings'"

Also... was tun? ^^

Apollonius 27. Mai 2007 13:10

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Listbox.items sind alle Einträge. Da Listbox.itemindex die Nummer des angewählten Eintrages ist, brauchst du Listbox.Items[Listbox.itemindex]. Wenn ich dich richtig verstanden habe, solltest du
Delphi-Quellcode:
Editbox.Text:=Listbox1.Items[Listbox1.ItemIndex]+Listbox2.Items[Listbox2.ItemIndex];
verwenden.
Hoffe geholfen zu haben
Apollonius

Marcer 27. Mai 2007 13:17

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich es so mache lässt sich das Programm zwar starten, allerdings kommt folgende Fehlermeldung sobald ich auf einen der Einträge klicke (siehe Screenshot)..

Matze 27. Mai 2007 13:19

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Die Meldung besagt, dass du auf einen Index zugreifst, den es nicht gibt. Bist du sicher, dass nu nicht einen blöden Fehler wie diesen machst:

Delphi-Quellcode:
Listbox2.Items[Listbox1.ItemIndex]
Zeige mal bitte deinen relevanten Code dazu.

Marcer 27. Mai 2007 13:47

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Das Problem hat sich grad gelöst, hab anstatt der Onclick funktion nun einfach 'nen Button gemacht um das ganze in der Editbox anzuzeigen --> jetzt geht's :mrgreen:

thx an alle die hier gepostet haben^^

_frank_ 27. Mai 2007 15:56

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
du musst nur sicherstellen, dass beim onClick auch ein item markiert ist:

Delphi-Quellcode:
if listbox1.itemindex>-1 then
  edit1.text:=listbox1.items[listbox1.itemindex];
dafür einen eigenen button hinzubasteln halte ich für unnötig...überprüfe, ob du immer die gleiche listbox zugreifst...

HTH Frank

Marcer 27. Mai 2007 16:49

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Ich hab nun ein weiteres Problem, Sinn und Zweck des Programms soll es sein, diverse Gitarrenakkorde in Tab-Form darzustellen, wobei die Editboxen für die jeweiligen Saiten stehen.
Nun hab ich folgendes Stück Quelltext:

Delphi-Quellcode:
E:=-1;A:=1; D:=1; G:=1; H:=-1; E2:=-1;
for i:=0 to 11 do
begin
E:=E+1; A:=A+1; D:=D+1; G:=G+1; H:=H+1; E2:=E2+1;
if ListBox1.Selected[i] then
E_Edit.text:=inttostr(E);
A_Edit.text:=inttostr(A);
D_Edit.text:=inttostr(D);
G_Edit.text:=inttostr(G);
H_Edit.text:=inttostr(H);
E2_Edit.text:=inttostr(E2);
end;
Es funktioniert aber nur das Zählen in der ersten Editbox, die anderen bleiben, egal welches item ich aus der Listbox auswähle konstant auf 13 bzw. 11, wenn ich für jedes Editfeld eine einzelne Prozedur mache funktionierts, aber da ich ja schreibfaul bin :mrgreen:
Weiß vielleicht jemand wie das auch so geht..?

_frank_ 27. Mai 2007 17:03

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Hi,

was mir auffällt, ist dass du auch nur bei der ersten edit-box auf das selected eingehst.
klammer das setzen der edit-boxen mal in begin/end (für das if)...

Delphi-Quellcode:
E:=-1;A:=1; D:=1; G:=1; H:=-1; E2:=-1;
for i:=0 to 11 do
begin
  E:=E+1; A:=A+1; D:=D+1; G:=G+1; H:=H+1; E2:=E2+1;
  ...
wenn das nicht ist:
du setzt die werte ja auch immer gleich und gehst nicht darauf ein, was ausgewählt ist ;)
der einzige punkt, wo darauf eingegangen wird ist beim setzen der edit-boxen...

vielleicht solltest du zeigen, was in der edit-box steht und welche Werte du erwartest bei welchem Item...
so eine wertetabelle

Gruß Frank

Marcer 27. Mai 2007 17:30

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Es geht! Es lag an dem fehlenden begin/end, hätt ich eigentlich auch selbst draufkommen können :wall:
Vielen Dank! :spin2:

Marcer 6. Jun 2007 15:57

Re: Ausgewählten Eintrag aus Listbox in Editbx schreiben
 
Sorry, dass ich den alten Thread nochmal nehme, wollt aber nicht extra einen neuen machen ;)
Und nun zu meiner Frage^^
Wie sag ich delphi, dass gleich vom Start des Programmes an ein bestimmter Eintrag einer Listbox ausgewählt sein soll?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr.
Seite 1 von 2  1 2      

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