Forum: Object-Pascal / Delphi-Language
Delphi
by Kedariodakon,
28. Feb 2007
ok...
Wenn nichts angegeben wird:
procedure Machwas( a, b: Integer )
{...}
Ist es Call by Value, sprich beim aufruf der Funktion wird für a und b neuer Speicher angelegt und die übergebenen Werte werden dahin kopiert...
Inerhalb der Methode kann man sogar a und b verändern, ohne das dies außerhalb Auswirkungen hat...
Sprich es wär in der Methode z.B. möglich: a := 56;...
Forum: Object-Pascal / Delphi-Language
Delphi
by Kedariodakon,
28. Feb 2007
Ok, dass wuste ich noch nicht...
Man lernt ein Leben lang :lol:
Aber Übersichtshalber würd ich lieber immer Result nehmen, ist ja auch meist kürzer als der Funktionsname... Zudem wissen auch gleich fremde Leute auf den ersten Blick was gemeint ist...
Bye Christian
Forum: Object-Pascal / Delphi-Language
Delphi
by Kedariodakon,
28. Feb 2007
Erstmal nein, da das Ergebiss von Funktionen in Result gelegt werden muss! ;)
Nunja, wenn du nur mit Ganzzahlen arbeiten willst, ist das Performance mässig weniger gut.
Zudem würde ich bei Fließkomma lieber mit dem Const arbeiten, da du so mit der Referenz des Wertes arbeitest und nicht mit einer Kopie... (Kopien und Rechenoperationen mit Fließkommazahlen können das Ergebniss ungenau...
Forum: Object-Pascal / Delphi-Language
Delphi
by Kedariodakon,
28. Feb 2007
Oder du nimmst einen Parameter "call by reference" =)
Und da gibt es in Delphi 2 Möglichkeiten:
Einmal explezit nur als Ausgabeparameter mit dem Schlüsselwort Out oder mit dem Variablenparameter Var
Würde dann so aussehen:
Procedure Flaeche1( Const a, b: Integer; Out Result: Integer );
{...}