Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Exit über zwei(/mehrere) Prozeduren? (https://www.delphipraxis.net/73873-exit-ueber-zwei-mehrere-prozeduren.html)

davar 25. Jul 2006 05:38


Exit über zwei(/mehrere) Prozeduren?
 
Hallo Leute,

dass man mit Exit eine Prozedur/Funktion abbrechen kann, ist mir bekannt, wie mache ich es jedoch bei zwei oder mehr Prozeduren/Funktionen? Beispiel:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ergebnis: double;
begin
ergebnis:= multipliziere(strtofloat(edit1.text), strtofloat(edit2.text));
showmessage(floattostr(ergebnis));
end;

function TForm1.multipliziere(zahl1, zahl2: double): double;
begin
if (zahl1 = 0) or (zahl2 = 0) then Exit;
result:= zahl1 * zahl2;
end;
Nun soll - wenn zahl1 oder zahl2 0 ist - nicht nur die Funktion "multipliziere" abgebrochen werden, sondern auch Button1Click, so dass die letzte Zeile

Delphi-Quellcode:
showmessage(floattostr(ergebnis));
nicht mehr ausgeführt wird.

Gibt es da einen einfachen Befehl?

MfG

davar

mkinzler 25. Jul 2006 05:44

Re: Exit über zwei(/mehrere) Prozeduren?
 
Baue die Funktion so um das sie ein Statuscode als Rückgabewert liefert und übergebe die Ergebnisvariable als var-Parameter.

marabu 25. Jul 2006 05:55

Re: Exit über zwei(/mehrere) Prozeduren?
 
Hallo davar,

Zitat:

Zitat von davar
wie mache ich es jedoch bei zwei oder mehr Prozeduren/Funktionen?

die Sprache Object Pascal kennt nur eine einzige Möglichkeit um verschachtelte Blöcke zu verlassen und das sind Exceptions - und bei denen ist dein Wunsch eher ein konzeptbedingter Nebeneffekt.

Grüße vom marabu


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