Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Optionale Functions Parameter...


FriFra - Mo 07.10.02 21:01
Titel: Optionale Functions Parameter...
Wie deklariere ich eigentlich eine function, wenn ich einige Parameter nur Optional haben will??

MyFunction([MyParam1],[MyParam2],[MyParam3])


patmann2001 - Mo 07.10.02 21:44

Hallo
Der Befehl dazu heißt "overload".
Das Beispiel aus der Hilfe von Delphi:

Quelltext
1:
2:
3:
4:
function Func(X: Real; Y: Integer): Real; overload;
...
function Func(X: Integer; Y: Real): Real; overload;
...

Wie du siehst, sind hier verschiedene Variablenzuweisungen gemacht worden.

cu Patmann


FriFra - Mo 07.10.02 22:07

Danke :D

Da hab ich mal wieder was dazugelernt...


Alibi - Mo 07.10.02 22:14

function blubb(a: integer; b: String = "bla");

Wenn Parameter b nun nicht gegeben wurde wird "bla" verwendet.
Wie bei Inc und Dec.


Klabautermann - Mo 07.10.02 23:48

Hallo,
Alibi hat folgendes geschrieben:
function blubb(a: integer; b: String = "bla");

wenn du einfache Quotes verwendest und einen Rügabewert angibst bin ich einverstanden ;)

Quelltext
1:
function blubb(a: integer; b: String = 'bla') : Real;                    


Gruß
Klabautermann


SMI - Di 08.10.02 17:09

Einen Kritikpunkt habe ich, dein Beispiel mit dec und inc ist schlecht, da diese Befehle wie die Casts, die Grundrechenarten und eigentlich alle reservierten Worte vom Präprocessor gestellt werden.
Leider ist hier die Delphi Hilfe fehlerhaft, die beschreibt, dass man Dec und Inc als Funktionen in der Unit System wiederfinden, in VC würde man sie besser und passenderweise als Macros bezeichnen.
Pascal und Objekt Pascal konnte bis einschließlich Delphi 3 nicht überladen, und INC sowie Dec standen seit den ersten Pascal Versionen zur Verfügung, also lange bevor Delphi, das Licht der Welt erblickte.

SMI