Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi OnChange zweier Felder soll die gleiche Prozedur auslösen (https://www.delphipraxis.net/157396-onchange-zweier-felder-soll-die-gleiche-prozedur-ausloesen.html)

MetalAddict 10. Jan 2011 17:12

OnChange zweier Felder soll die gleiche Prozedur auslösen
 
Hallo,

ich würde gerne dem OnChange-Event zweier Edit-Felder die gleiche Prozedur zuweisen, und zwar (vereinfacht) soll eine Ampel grün werden, wenn der Quotient eine gerade Zahl ist, und rot wenn nicht. Die Prozedur an sich ist kein Problem, nur will ich weniger Code haben.

Gibt es etwas wie:
Code:
if Sender = Edit1,Edit2 then
   begin
   [...]
Danke für eure Antworten :)

Grüße :)

p80286 10. Jan 2011 17:28

AW: OnChange zweier Felder soll die gleiche Prozedur auslösen
 
Warum nicht so?
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Machwasmitderampel;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  Machwasmitderampel;
end;
Gruß
K-H

MetalAddict 10. Jan 2011 17:49

AW: OnChange zweier Felder soll die gleiche Prozedur auslösen
 
Und davor Machwasmitderampel als eine Prozedur deklarieren (falls man das so sagt)?
Das wollte ich, aber dann hats mir die Editfelder als Fehler ausgespuckt.. :/

Und wenn ich es so machen würde und jedes Mal den Befehl neu hinschreiben würde, wäre es ja noch mehr code. o0

Trotzdem danke. :)

DeddyH 10. Jan 2011 18:09

AW: OnChange zweier Felder soll die gleiche Prozedur auslösen
 
Du brauchst in MachWasMitDerAmpel-Methode noch den Sender-Parameter, den Du einfach durchreichst. Nun schreibst Du die Methode für ein Edit und weist sie im OI allen Edits, die es betrifft, zu.

Norbert987 10. Jan 2011 19:02

AW: OnChange zweier Felder soll die gleiche Prozedur auslösen
 
Du kannst doch zweimal das gleiche Event vergeben (Doppelklick erzeugt ein neues, ein vorhandenes kann in der DropDownliste ausgewählt werden. Und wenn beide genau das gleiche machen, brauchst du nichtmal den Sender unterscheiden.


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