Einzelnen Beitrag anzeigen

Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#3

Re: OnChange für OnActivate erstellte Komponenten

  Alt 18. Mai 2007, 14:21
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!
  Mit Zitat antworten Zitat