Forum: FreePascal
by Michael II,
23. Mai 2017
BlattMax := BlattMax and BlattMax(inRefWurzel^.Links, inPfadMax);
Ersetze BlattMax durch Result. Also so:
Result := Result and BlattMax(inRefWurzel^.Links, inPfadMax);
Nebenbei: Es ist seit vielen Jahren üblich das Resultat einer Funktion via Result zurückzugeben.
Und wie bereits erwähnt: Der Code ist cool, wenn die Kurzschlussauswertung eingeschaltet ist (d.h. in Delphi "Vollständige...
Forum: FreePascal
by Michael II,
21. Mai 2017
Nein natürlich nicht, dass der Code langsamer läuft; im Gegenteil:
Ich habe mich falsch ausgedrückt: Ich meinte nur (wollte meinen ;-)), dass man bei diesem Code darauf achten muss, dass B- effektiv gesetzt ist. Wenn die Kurzschlussauswertung ausgeschaltet ist (B+), dann würde bei diesem Code immer der ganze Baum durchsucht.
(Man kann den Code natürlich leicht so umschreiben, dass auch bei...
Forum: FreePascal
by Michael II,
21. Mai 2017
Sehr schön :-).
Ich würde noch ein {$B-} .. {$B+} reinhängen, damit die in diesem Code ausgenützte Kurzschlussauswertung draussen in der Welt auch ganz sicher stattfindet.