Ich programmiere gerade ein Programm in dem viele Labels vorkommen die von 1 bis 18 durchnummeriert sind. Jetzt stellt sich die Frage, ob ich die Labels so
Delphi-Quellcode:
procedure Tform1.blabla();
var
z : TComponent;
i : Integer;
begin
for i := 1 to 18 do
begin
z := FindComponent('lblBezeichnung' + IntToStr(i));
TLabel(z).Caption := IntToStr(i);
end;
end;
ansprechen soll oder so:
Delphi-Quellcode:
var
ArrayElemente : Array[1..18] of TLabel;
procedure Tform1.FormCreate(Sender: TObject);
begin
ArrayElemente[1] := lblBezeichnung1;
ArrayElemente[2] := lblBezeichnung2;
..
..
ArrayElemente[18] := lblBezeichnung18;
end;
procedure Tform1.blabla();
var
i : Integer;
begin
for i := 1 to 18 do
begin
ArrayElemente[i].Caption := IntToStr(i);
end;
end;
Die zweite Möglichkeit hat zwar mehr Quellcode aber ich denke, dass die schneller ist wenn man öfters auf die Labels zugreifen will. Kann mir jemand vielleicht einen Richtwert geben wieviel langamer das FindComponent ist?