![]() |
wie ist der Code für folgendes Problem zu schreiben?
hallo zusammen
Wenn ich in einer Unit folgende Felder plaziert habe: edit1 edit2 edit3 edit4 edit5 (hier zu beachten, dass es aufummerierend ist von 1 bis 5) Ich möchte nun in einer Schleife edit1.Text / edit2.Text / edit3.text usw. in eine Combobox füllen. So z.B: for i:=1 to 5 if edit+i.text <> '' then ...items.add(edit+i.text) Geht sowas in Delphi? Vielen Dank für einen Input! Grüsse vom Bodensee. |
Re: wie ist der Code für folgendes Problem zu schreiben?
Nicht sehr effizient, aber versuch es mal so:
Delphi-Quellcode:
[edit] Besser wäre es z.B., die Tag-Property der Edits auf eine bestimmte Zahl zu setzen, dann musst Du das Components-Array nur einmal durchlaufen. [/edit]
for i := 1 to 5 do
ComboBox1.Items.Add(TEdit(FindComponent('Edit' + inttostr(i))).Text); |
Re: wie ist der Code für folgendes Problem zu schreiben?
Du könntest dir auch ein Array of TEdit basteln und die Edits per Hand erzeugen. Dann kannst du sie direkt in einer Schleife ansprechen (und es ist um einiges effizienter)
Delphi-Quellcode:
Ungetestet(tm)
var
MyEdits: Array of TEdit; ... SetLength(MyEdits,5); for i := 0 to 4 do //erzeugen begin MyEdits[i] := TEdit.Create(self); MyEdits[i].Parent := self; MyEdits[i].SetBounds(20, i*50, 100, 100); end; ... for i := 0 to 4 do begin if MyEdits[i].Text = '' then MyEdits[i].Text := 'We have joy, we have fun, we have Linux on our Sun!'; end; |
Re: wie ist der Code für folgendes Problem zu schreiben?
vielen Dank 2 gute Ansätze!
Ich werde beide testen. Wünsche heute allen einen lieben "Samichlaus" ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 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