Hallo,
nehmen wir an, ich habe 3 Editfelder(edit1, edit2, edit3). Alle Editfelder will ich mit dem String "Text" befüllen.
Anstatt die Editfelder einzeln zu befüllen, sollen die Editfelder über eine for-Schleife initialisiert werden.
Wie bekomme ich das hin?
So sieht aktuell mein Code aus:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for i := 1 to 3 do
begin
edit1.Text:='text';
end;
end;
Ich benutze für sowas meist eine Funktion wie die hier:
Delphi-Quellcode:
procedure FillEditcontrols(const aText:string; const A: array of TCustomedit);
var
i: integer;
begin
for i:= Low(A) to High(A) do
A[i].Text := aText;
end;
Aufgerufen aus einer Methode des Forms z. B. mit
FillEditcontrols(String.empty,[edit1, edit2, edit3, memo1]);
Der Vorteil ist hier, dass dieses Verfahren auch funktioniert, wenn die Controls sprechende Namen haben und nicht diese nutzlosen automatisch erzeugten Namen, und es funktioniert auch mit beliebig vielen Controls.