![]() |
ListBox & Edit
Hallo,
habe in einer ListBox einige Strings. Beim Anklicken eines Strings soll dieser zerteilt werden und auf die memos aufgeteilt werden. So z.B. 1 _ 2 _ 3 _ 4 _ 5 _ 6 _ 7 _ 8 _ 9 Jetzt soll das Item in 9Edits aufgeteilt werden wobei die Zahlen hier im Programm durch Wörter ersetzt sind und nicht immer gleich lang sind! Also das soll dann im Endeffekt herauskommen: Edit1.Text := '1'; Edit2.Text := '2'; ... Edit9.Text := '9'; Ich habe schon einige Sachen ausprobiert komme aber nicht drauf wie ich das umsetzen muss! Kann mir jemand behilflich sein? MfG Christian Danke schon mal für die Hilfe... |
Re: ListBox & Edit
Delphi-Quellcode:
So müsste es gehn. Vorraussetzung: Es muss so viele Edits geben wie es Einträge in der ListBox gibt!
procedure TForm1.Button1Click(Sender:TObject);
var i: Integer; begin for i:= 0 to ListBox1.Items.Count-1 do begin (FindComponent('Edit' + IntToStr(i+1) as TEdit).Text := ListBox1.Items[i]; end; end; Gruß Neutral General |
Re: ListBox & Edit
danke.. aber nicht falsch verstehen ich will wenn ich auf irgendein item in der ListBox klicke das den inhalt...
1 _ 2 _ 3 _ 4 _ 5 _ 6 _ 7 _ 8 _ 9 hat, den inhalt dieser einen Zeile auf die 9 vorhandenen Edits aufteilen! MfG Christian |
Re: ListBox & Edit
Ach so.. ups :oops:
Moment muss mal überlegen :) Gruß Neutral General |
Re: ListBox & Edit
Delphi-Quellcode:
Ich habe fertig :)
procedure TForm1.ListBox1Click(Sender: TObject);
var i: Integer; tmp: String; begin i:= 1; tmp := ListBox1.Items[ListBox1.ItemIndex] + '_'; repeat if FindComponent('Edit' + IntToStr(i) = nil then exit; (FindComponent('Edit' + IntToStr(i)) as TEdit).Text := copy(tmp,1,pos('_',tmp)-1); delete(tmp,1,pos('_',tmp)); inc(i); until Length(tmp) = 0; end; Gruß Neutral General |
Re: ListBox & Edit
Hallo,
in ListBox.Items[ListBox.ItemIndex]; steht der String. Ich würde ne TStringList benutzen mit Delemiter und DelimitedText also
Delphi-Quellcode:
Heiko
var
SL: TStringList; iWord: Integer; Edit: TEdit; iEdit: Integer; begin for iEdit:= 1 to 9 do begin Edit:= FindComponent('Edit'+IntToStr(iEdit)); if Edit<>NIL then Edit.Text:= ''; end; SL:= TStringList.Create; try SL.Delimiter:= ' '; // Leerzeichen SL.DelimitedText:= ListBox.Items[ListBox.ItemIndex]; for iWord:= 0 to SL.Count-1 do begin if iWord>8 then break; // bis 9 hattest du gesagt ? // wir beginnen bei 0 ... Edit:= FindComponent('Edit'+IntToStr(iWord+1)); if Edit<>NIL then begin Edit.Text:= SL[iWord]; end; end; finally SL.Free; end; end; |
Re: ListBox & Edit
Ihr seid die besten DANKE!!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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