Glück auf!
Vielen Dank für die Replies.
Noch einmal, mein Problem ist, daß ich die Editierfelder zur Laufzeit erzeugen kann. Die Editierfelder haben Namen:ABC00_Edt, ABC01_Edt usw. usf. In diese Editierfelder gebe ich die Werte der Matrixkomponenten ein. Wenn ich nun mit der TAB-Taste zum nächsten Editierfeld "wandere", soll ein OnExit-Ereignis ausgelöst werden, welches ich benutzen will, um den Wert im Editierfeld den Variablen ABC[0,0], ABC[0,1] ... zuzuweisen. Zur Programmierzeit sind ja weder die ABC00_Edt, ABC01_Edt noch ABCOnExit dem Compiler bekannt.
Den Code habe ich inzwischen leicht modifiziert, so daß ich ihn wieder einstelle.
Delphi-Quellcode:
procedure TForm1.CreateMatrix(rang:integer);
var
Edt : TEdit;
i,k : integer;
begin
SetLength(ABC,rang,rang);
for i:=0 to rang-1 do
for k:=0 to rang-1 do
begin
if TEdit(FindComponent('ABC'+IntToStr(i)+IntToStr(k)+'_Edt')) = nil then
begin
Edt:=TEdit.Create(Self);
Edt.Parent:=GroupBox1;
Edt.Name:='ABC'+IntToStr(i)+IntToStr(k)+'_Edt';
Edt.Width:=75;Edt.Height:=24;
Edt.Top:=30+i*35;
Edt.Left:=15+k*90;
Edt.Alignment:=taRightJustify;
Edt.BiDiMode:=bdLeftToRight;
Edt.Visible:=true;Edt.Enabled:=true;
Edt.Text:='';
Edt.OnExit:=ABCOnExit;
end;
end;
if rang=3 then
begin
GroupBox1.Width:=290;GroupBox1.Height:=145;
end
else
begin
GroupBox1.Width:=195;GroupBox1.Height:=100;
end;
end;
Viele Grüße
Kurt