Function/Procedure mit optionalen Parametern

  • 1
  • 2
  • Seite 1 von 2
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 09:21 Uhr  ·  #1
Hallo Zusammen,

wie programmiert man eine Function oder Procedure mit optionalen Parametern?

Beispiel aus dem Handbuch

Function IncToLim (var v : ordinal [, limit : ordinal[; val : ordinal]]) : boolean;

Hier muß nur der Parameter v angegeben werden, limit und val sind optional.
Wenn ich eine Function mit 3 Parametern programmiere, muß ich diese auch bei Aufruf übergeben. Hier bei IncToLim nicht. Wie funktioniert das?

Gruss
Harry
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1476
Dabei seit: 03 / 2005
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 13:27 Uhr  ·  #2
Hi Harry

AFAIK it can't be done in AVRCo. Only built in functions have this capability. In Delphi it can be done two ways, either using polymorphism or using default parameters. Syntactically default parameters appear to work in AVRCo but in practice they don't. Nor is polymorphism supported.

Regards

Merlin
Gunter
Administrator
Avatar
Geschlecht:
Herkunft: Frankfurt Main / Germany
Beiträge: 1697
Dabei seit: 02 / 2003
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 13:59 Uhr  ·  #3
Hallo Harry,

von Turbo Pascal kenne ich noch ParamCount und ParamStr(i) für die Anzahl der Parameter,
bzw. um den Parameter Nummer "i" als String zurück zu bekommen.
Gibt es im AVRco wohl nicht.
Bleibt wohl nur, um die Unzulänglichkeit herum zu programmieren.
z.B. negativer Wert = don`t care oder erlaubter Bereich ist MaxInt-1
und MaxInt = don`t care
Gruß, Gunter
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1476
Dabei seit: 03 / 2005
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 17:45 Uhr  ·  #4
Hi Gunter. I thought ParamCount and ParamStr (i) were for parameters passed to the program from the shell, not for functions?
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 19:52 Uhr  ·  #5
Hallo ihr beiden,

also wenn es nicht geht, wieso gibt es dann in AVRCo Funktionen, die genau das haben? Das IncToLim ist nur ein Beispiel von vielen.
Wäre da z.B. noch PipeRecV, PadLeft, PadRight, Inc, Dec, ....

Harry
Gunter
Administrator
Avatar
Geschlecht:
Herkunft: Frankfurt Main / Germany
Beiträge: 1697
Dabei seit: 02 / 2003
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 19:55 Uhr  ·  #6
weil diese Funktionalität in Delphi realisiert ist
Gunter
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1476
Dabei seit: 03 / 2005
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 22:37 Uhr  ·  #7
Hi Harry.

Those functions are built into the compiler itself. The are not part of units written in AVRCo pascal. You will not find any such functions in any of the drivers for instance, or any unit written in AVRCo itself.

Regards

Merlin.
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Function/Procedure mit optionalen Parametern

 · 
Gepostet: 20.03.2021 - 23:58 Uhr  ·  #8
Das ist schlecht, aber trotzdem danke.

That's bad, but thanks anyway.

Harry
  • 1
  • 2
  • Seite 1 von 2
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 8 · Cache Hits: 14   136   150 · Page-Gen-Time: 0.018511s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI