Function/Procedure mit optionalen Parametern

  • 1
  • 2
  • Page 1 of 2
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 09:21  ·  #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
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 13:27  ·  #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
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 13:59  ·  #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
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 17:45  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 19:52  ·  #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
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 19:55  ·  #6
weil diese Funktionalität in Delphi realisiert ist
Gunter
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Function/Procedure mit optionalen Parametern

 · 
Posted: 20.03.2021 - 22:37  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Function/Procedure mit optionalen Parametern

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

That's bad, but thanks anyway.

Harry
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   135   149 · Page-Gen-Time: 0.036371s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI