![]() |
Re: Problem bei logischer abfrage
Der Rückgabewert einer Funktion wird mit Result festgelegt.
Damit eine Funktion true zurück gibt, schreibst Du also einfach:
Delphi-Quellcode:
//Edit:
Result := true;
Ob das mit dem Namen der Funktion auch funktioniert, weiß ich nicht - sollte aber eigentlich :gruebel: Aber einfach mal ausprobieren, indem Du einmal den Namen und einmal Result nimmst und dann guckst, was jeweils dabei raus kommt :wink: |
Re: Problem bei logischer abfrage
Hi,
getestet, und funktioniert so wie du es erwartest:
Delphi-Quellcode:
MJfunction cardexistsnoco(a,b : integer) : boolean; begin showMessage('Bin bei '+IntToStr(a)); if a = b then result := true else result := false; end; procedure TForm1.Button5Click(Sender: TObject); begin if (cardexistsnoco(1,1)AND cardexistsnoco(2,2) AND cardexistsnoco(3,3333) AND cardexistsnoco(4,4) AND cardexistsnoco(5,5)) or (cardexistsnoco(6,6)AND cardexistsnoco(7,7) AND cardexistsnoco(8,8) AND cardexistsnoco(9,9) AND cardexistsnoco(10,10)) then ShowMessage('fertig'); end; |
Re: Problem bei logischer abfrage
oh - mein - gott..
war ne schwere geburt, aber ich hab den fehler.. danke an euch alle - war ein (dummer) denkfehler in einer schleife.. dass man auf sowas immer erst nach stundenlangem suchen kommt.. naja zumindest kann ich delphis logik den fehler nicht in die schuhe schieben ;) |
Re: Problem bei logischer abfrage
Moin Maja,
Du kannst auch gleich
Delphi-Quellcode:
schreiben.
Result := a = b;
|
Re: Problem bei logischer abfrage
Hab Majas Beispiel anstatt mit result mal mit dem Namen der Funktion getestet und es funktioniert genuso!
Der einzige Vorteil von Result ist wohl, dass es auch noch funktioniert, wenn die Funktion umbenannt wurde :gruebel: |
Re: Problem bei logischer abfrage
Zitat:
Delphi-Quellcode:
oder wie Martin K schrieb über den Namen der function
function cardexistsnoco(a,b : integer) : boolean;
begin showMessage('Bin bei '+IntToStr(a)); result := a = b; end;
Delphi-Quellcode:
Was ist nun die "beste Version"?
function cardexistsnoco(a,b : integer) : boolean;
begin showMessage('Bin bei '+IntToStr(a)); cardexistsnoco := a = b; end; Grüsse, MJ |
Re: Problem bei logischer abfrage
Zitat:
|
Re: Problem bei logischer abfrage
Moin Maja,
spätestens, wenn Du das Ergebnis innerhalb der Funktion noch weiterverwenden willst, wirst Du den Funktionsnamen nicht mehr verwenden können, da, z.b., die Benutzung auf der rechten Seite eines := als Funktionsaufruf interpretiert wird. Die Verwendung von Result finde ich aber auch aus Gründen der Dokumentation sinnvoll, was besonders bei rekursiven Funktionen interessant wird. |
Re: Problem bei logischer abfrage
Zitat:
|
Re: Problem bei logischer abfrage
Zitat:
So steht es in der Delphi-Hilfe: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 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