Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OnChange-Ereignis eines Edits "hooken" (https://www.delphipraxis.net/149871-onchange-ereignis-eines-edits-hooken.html)

ecHo89 1. Apr 2010 10:11


OnChange-Ereignis eines Edits "hooken"
 
Hallo,

ich reagiere auf ein OnChange-Ereignis eines Edits mit:
Delphi-Quellcode:
(Sender as TEdit).text;
Das liefert mir den "neuen" Wert des Edit. Ich will aber sozusagen das Edit "hooken" und auch den vorigen Wert haben. Muss ich dazu immer für alle Edits n Array mitführen, oder kann man sich da irgendwie "einhaken"?

Viele Grüße Malte

QuickAndDirty 1. Apr 2010 10:15

Re: OnChange-Ereignis eines Edits "hooken"
 
Du kannst einen Nachfahren bauen der das richtig macht.

ecHo89 1. Apr 2010 10:18

Re: OnChange-Ereignis eines Edits "hooken"
 
hmm weiß jetzt nicht genau was du meinst. bin einigermaßen drin in der erstellung von komponenten zur laufzeit.
was meinst du mit nachfahr? das edit erweitern?

himitsu 1. Apr 2010 10:18

Re: OnChange-Ereignis eines Edits "hooken"
 
OnChange wird ausgelöst, nachdem der Wert geändert wurde.

Wenn du den vorherigen Wert haben willst, dann speichere diesen doch einfach irgendwo?



Zitat:

das edit erweitern?
jupp, eine neue Komponente von TEdit oder TCustomEdit ableiten.

ecHo89 1. Apr 2010 10:19

Re: OnChange-Ereignis eines Edits "hooken"
 
@himitsu:

Zitat:

Muss ich dazu immer für alle Edits n Array mitführen
Das wäre die unschönere Lösung, aber will erstmal was besseres suchen

ecHo89 1. Apr 2010 10:22

Re: OnChange-Ereignis eines Edits "hooken"
 
hmm hast du da vllt. n schönes beispiel an der hand, damit ich mich da einarbeiten kann?

himitsu 1. Apr 2010 10:24

Re: OnChange-Ereignis eines Edits "hooken"
 
Nutzt du die Hints in den Edits?

OnCreate der Form
> alle Texte EditX.Hint := EditX.Text; speichern

und dann in OnChange der Edits
Delphi-Quellcode:
// zugreifen
(Sender as TEdit).Text // neuer Text
(Sender as TEdit).Hint // alter Text

// und dann am Ende der Ereignisprozedur den neuen Text als Alten speichern
(Sender as TEdit).Hint := (Sender as TEdit).Text;
ShowHint natürlich FALSE.

So hättest du die Werte in den Edits selber und bräuchtest keine externe Liste und auch keine Ableitungen der Edits.

ecHo89 1. Apr 2010 10:29

Re: OnChange-Ereignis eines Edits "hooken"
 
himitsu.... :wall: danke ^^
habe vor 10 minuten das selbe mit meinen buttons mithilfe von helpkeyword gemacht :P
und das geht ja dann natürlich auch bei den edits -.- manchmal steht man echt aufm schlauch
hint is ja ähnlich, aber ich behalt mir gern alle möglichkeiten deswegen nehm ich mal helpkeyword

die variante is ja ähnlich wie array speichern, werde mal die frage schließen aber wenn jmd. weiß ob sowas geht mit nem hook bescheid sagen, wäre aber jetzt nicht mehr nötig


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 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