OK... ich habe jetzt main Code geändert aber er erkennt "Sender" nicht als ein Edit an:
Zitat:
Undefinierter Bezeichner: 'Text'
Delphi-Quellcode:
...
type
TForm2 = class(TForm)
...
procedure CheckValues(Sender: TObject);
...
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
...
var
Form2: TForm2;
Edit: Array[1..9, 1..9] of TEdit;
x, y, i: Integer;
...
procedure TForm2.FormActivate(Sender: TObject);
begin
for y := 1 to 9 do
for x := 1 to 9 do
begin
Edit[x, y] := TEdit.Create(Self);
Edit[x, y].Parent := Form2;
Edit[x, y].Width := 25;
Edit[x, y].Text := '';
Edit[x, y].Top := 56 + ( y * 21 ) - 21 + ( StrToInt ( FloatToStr( Int( y / 3.3 ) ) ) * 5 );
Edit[x, y].Left := 8 + ( x * 25 ) - 25 + ( StrToInt ( FloatToStr( Int( x / 3.3 ) ) ) * 5 );
Edit[x, y].OnChange := CheckValues;
...
end;
...
end;
...
procedure TForm2.CheckValues(Sender: TObject);
begin
if Sender.Text = '' then
exit;
if Sender.Text <> '' then
for i := 1 to 9 do
begin
s := IntToStr(i);
if Sender.Text = s then
exit;
end;
Sender.Text := '';
end;
CheckValues soll überprüfen ob der Edit nach und beim ändern entweder leer oder eine Zahl 1-9 enthält aber er erkennt "Sender" nicht als Edit an!