![]() |
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 |
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: |
Re: ereignisprozduren
Delphi-Quellcode:
das ist die Deklration meiner Klasse ... Sie gehört zu meinem SodokuLoeser
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 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 |
Re: ereignisprozduren
dann weiss doch im create deine ereignisbehandlungsroutine zu ...
Delphi-Quellcode:
dann sollte das problem gelöst sein :-)
e.onChange := myOnChangeprocedure
|
Re: ereignisprozduren
sry ich versteht das nicht so ganz .. und vorallem wie soll ich dann mit der arbeiten
|
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; |
Re: ereignisprozduren
nö nicht ganz ...
eher so:
Delphi-Quellcode:
aber deine methode (EditChange) ist noch falsch definiert. die erstellst dir am einfachsten in dem du bei einem anderen Edit, auf die OnChange klickst ...
constructor TFeld.Create(var E:TEdit; N:Integer);
var i : integer; begin inherited Create; E.OnChange:=EditChange; |
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 01:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz