wie wär's denn ungefähr so:
Delphi-Quellcode:
const maxidx = 9;
type
TForm1 = class(TForm)
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
...
Edit21: TEdit;
Edit22: TEdit;
Edit23: TEdit;
...
Edit91: TEdit;
Edit92: TEdit;
Edit93: TEdit;
...
Edit99: TEdit;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private-Deklarationen }
EditCompNo: array[1..maxidx,1..maxidx] of integer;
function myEditName(i,j: integer): string;
function myEdit(i,j: integer): TEdit;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.myEditName(i, j: integer): string;
begin
Result:='Edit'+IntToStr(i)+IntToStr(j);
end;
function TForm1.myEdit(i, j: integer): TEdit;
begin
Result:=Components[EditCompNo[i,j]] as TEdit;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i,j: Integer;
Editname: string;
begin
for i:=1 to maxidx do
begin
for j:=1 to maxidx do
begin
Editname:=myEditName(i,j);
EditCompNo[i,j]:=FindComponent(Editname).ComponentIndex;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var i,j: Integer;
begin
for i:=1 to maxidx do
for j:=1 to maxidx do
myEdit(i,j).Text:=IntToStr(i)+IntToStr(j);
end;
nur so als Gedanke ... und statt die Felder einzeln hinzuzappeln, könntest du dir auch ne Routine schreiben, um ein TEdit beim Create zu erzeugen. Damit könntest du dann alle Edit-Felder in einem Rutsch mit allen Eigenschaften definieren, positionieren und ganz nebenbei auch EditCompNo belegen.
mit myEdit(i,j) hast du dann immer Zugriff auf die Felder