Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ereignisprozduren (https://www.delphipraxis.net/118200-ereignisprozduren.html)

HugoHase 2. Aug 2008 17:44


ereignisprozduren
 
ein schönen guten Tag allerseits ich benötige mal wieder hilfe ... ich haffe ihr könnt mir helfen

also ich arbeite mal wieder an einem Projetkt ...
und in diesem Projetkt habe ich mir eine Klasse erstellt die der ich beim Kreiren ein Edit übergebe
und jetzt ist mene Frage wie erstelle ich in dieser Klasse eine Ereignisprozedur die activ wird wenn sich das Edit bzw der Text des edit verändert

vielen dank im Vorraus Gruß HugoHase

grenzgaenger 2. Aug 2008 17:59

Re: ereignisprozduren
 
:glaskugel: sorry, kann mir jetzt nicht grad viel drunter vorstellen, wie du das meinst. hast mal 'n paar zeilen quällcode da ...

dann wirds gemütlich :feuerchen:

HugoHase 2. Aug 2008 18:07

Re: ereignisprozduren
 
Delphi-Quellcode:
 TFeld = class
  private
    { Private declarations }
  public
    Nr : Integer;
    moegliche : array[1..9] of boolean;
    sw : array of TElement;
    Edit : TEdit;
    zeile : integer;
    spalte : integer;
    block : integer;
    constructor Create(var E:TEdit; N:Integer);
    procedure swe(zahl:integer; F:TFeld);
    destructor Destroy;
  end;
das ist die Deklration meiner Klasse ... Sie gehört zu meinem SodokuLoeser
das edit was bei craete über geben wird kommt von der GUI
da ich kein Lust habe 81 OnChanereignisse zu schreben dachte ich ich könnte hier auf die verändereung eines Edits reagieren

grenzgaenger 2. Aug 2008 18:09

Re: ereignisprozduren
 
dann weiss doch im create deine ereignisbehandlungsroutine zu ...
Delphi-Quellcode:
e.onChange := myOnChangeprocedure
dann sollte das problem gelöst sein :-)

HugoHase 2. Aug 2008 18:11

Re: ereignisprozduren
 
sry ich versteht das nicht so ganz .. und vorallem wie soll ich dann mit der arbeiten

HugoHase 2. Aug 2008 18:19

Re: ereignisprozduren
 
ich hab das jetzt so verstanden ...
Delphi-Quellcode:
 TFeld = class
  private
    { Private declarations }
  public
    Nr : Integer;
    moegliche : array[1..9] of boolean;
    sw : array of TElement;
    Edit : TEdit;
    zeile : integer;
    spalte : integer;
    block : integer;
    constructor Create(var E:TEdit; N:Integer);
    procedure swe(zahl:integer; F:TFeld);
    procedure EditChange;
    destructor Destroy;
  end;


.
.
.
.


constructor TFeld.Create(var E:TEdit; N:Integer);
var i : integer;
begin
 inherited Create;

 Edit:=E;
 Edit.OnChange:=EditChange();

 for i:=1 to 9 do
 begin
  moegliche[i]:=true;
 end;

 if Length(sw) <> 0 then
 begin
  SetLength(sw,0);
 end;
 Nr:=N;
end;

procedure TFeld.EditChange;
begin
 showmessage(edit.Text);
end;

grenzgaenger 2. Aug 2008 18:25

Re: ereignisprozduren
 
nö nicht ganz ...

eher so:
Delphi-Quellcode:
constructor TFeld.Create(var E:TEdit; N:Integer);
var i : integer;
begin
inherited Create;

E.OnChange:=EditChange;
aber deine methode (EditChange) ist noch falsch definiert. die erstellst dir am einfachsten in dem du bei einem anderen Edit, auf die OnChange klickst ...

HugoHase 2. Aug 2008 18:27

Re: ereignisprozduren
 
ok ich noch mal ich hab blos vergessen dieses (sender:TObject) hinzu schreiben..
vilen dank an grenzgaenger


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz