Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prozedur ausführen wenn zwei Bedingungen erfüllt sind (https://www.delphipraxis.net/76894-prozedur-ausfuehren-wenn-zwei-bedingungen-erfuellt-sind.html)

DashRendar 11. Sep 2006 20:05


Prozedur ausführen wenn zwei Bedingungen erfüllt sind
 
Hallo,
ich würde gerne EINE Prozedur bzw. Berechnung immer dann ausführen wenn zwei Bedingungen erfüllt sind, auch dann wenn nur eine Bedingung sich ändert. D.h. eine Eingabe in Edit UND eine Auswahl in einer ComboBox sollen unabhängig von der Reihenfolge der Eingabe eine Berechnung zur Folge haben mit der Ausgabe in einem Label.


Ich hatte die Frage bereits gestern gestellt, allerdings unter einem weniger passenden Thema (dort waren auch noch andere Fragen) und habe diese Antwort bekommen:

Delphi-Quellcode:
procedure TForm1.OnChange(Sender: TObject);
begin
  if (Edit1.Text <> '') and (ComboBox1.Text <> '') then
    Berechne(Edit1.Text, ComboBox1.Text);
end;
Das funktioniert bei mir aber nicht, da mein Delphi 2005 kein .onchange bei TForm kennt :shock:
Abgesehen davon "changed" doch auch in der Form selbst nix, nur in meinen Edits und ComboBoxen :?: Obgleich die ja gewissermaßen dazu gehören, das gebe ich zu^^.
Kann mir jemand verraten wie man das ohne zwei separate onchange-Prozeduren bewerkstelligt?

Gruß,
DashRendar

Christian Seehase 11. Sep 2006 20:12

Re: Prozedur ausführen wenn zwei Bedingungen erfüllt sind
 
Moin DashRendar,

Zitat:

Zitat von DashRendar
Kann mir jemand verraten wie man das ohne zwei separate onchange-Prozeduren bewerkstelligt?

indem Du dem TEdit.OnChange und TComboBox.OnChange die gleiche Routine zuweist.

Du kannst die Prozedur auch manuell im Code erzeugen:


Delphi-Quellcode:
TForm1 = class(TForm)
  //...
  procedure MyOnChange(Sender: TObject);
  //...
end;

//...

implementation

procedure TForm1.MyOnChange(Sender: TObject);
begin
  // Was auch immer hier passieren soll
end;
und dann diese Routine im ObjectInspektor für die beiden Events auswählen.

DashRendar 11. Sep 2006 21:28

Re: Prozedur ausführen wenn zwei Bedingungen erfüllt sind
 
Danke hat nun funktioniert....nach einiger Zeit :roll: . Ich habe vergeblich meine manuell erstellte Prozedur im Objektinspektor gesucht, da diese sich hinter "onchange" versteckt hat.

Gruß,
DashRendar


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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 by Thomas Breitkreuz