| |
|
|
| proc nom( [ paramètre, [ ...
défini une Procédure/ nommé nom et pour ses (optionalen) paramètre qui Namen qui Variablen.
Prozeduren peut Werte aller Variablentypen (einschließlich Arrays) per return zurückliefern.
Prozeduren peut Über- et Unterladen volonté: paramètre doit pas à une Proc transfert volonté, aussi ensuite pas, si quelle défini sommes. Übergibt on à une Proc z.B. seulement qui paramètre a et b statt aussi c, ensuite ist c dans qui Proc défini mais hat la valeur zéro. So peux on aussi dedans einer Proc erkennen, si un paramètre transfert wurde ou bien pas. une Proc sans Retour liefert toujours zéro. Hinweis: zéro ist pas juste 0!
dans Infinity-Profan gibt es aussi Procs dans Procs, qui inneren Procs sommes seulement dans qui Elternproc bekannt.
comment chez XProfan et XPSE avec nProcs ist es dans Infinity-Profan égal, si Procs am Programmkopf ou bien Fuß défini volonté, là qui Kompilierer de toute façon den Voir le texte source umsortiert et qui réellement verwendeten Funktionen à qui passenden Stelle des Quelltextes verknüpft. So peux on sich dessus im Programmkopf sur den réel Voir le texte source/ le bout konzentrieren et benötigte Procs am Fuß enlever.
qui Beschränkung qui Nombre de übergebenen paramètre liegt theoretisch chez 9100, cependant devrait so viele paramètre aucun Proc transfert volonté um Speicherprobleme trop vermeiden.
Parameterwerte volonté byValue transfert, byRef pour Arrays avec vorangestelltem @ avant chaque Parameternamen. sur paramètre, qui pas vom Typ Array transfert volonté, hat @ keinen Einfluss, cependant wird qui Prüfung pour cette paramètre sur une Array-Kopie beim mettons des @-Zeichens abgeschaltet. chez Funktionen, chez denen es sur höchste Geschwindigkeit ankommt, ist alors une Optimierung per @ pour jeden paramètre avec einzubeziehen.
Hinweis: aiguille sur une Proc per @Procname
Beispiele:
Ebenso - dank Space-Operator - einfachere Syntax possible:
chez qui paramètre-définition peux aussi juste un Vorwert transfert volonté, un Wert qui genutzt volonté soll si qui paramètre pas avec transfert wurde:
Selbe:
cela allez aussi:
Selbe:
Hinweis zur Performance:
ist plus rapide comme:
weil pour alle paramètre qui Prüfung sur un Array wegfällt, dessen données ggf. pour qui Proc dupliziert würden.
Keywords: Prozeduren, Funktionenproc endproc |
|
|
| |
|
|
|
HofK | comment ist qui Art qui Parameterübergabe vorgesehen?
seulement call by value? mais chez arrays? |
|
|
| |
|
|
|
| chez Arrays et Procs qui référence, andernfalls qui Wert. |
|
|
| |
|
|
|
HofK | OK, peux on chez besoin aussi einelementiges array a transfert, ensuite mais a[0] toujours "mitschleppen".
quoi spricht (interne?) vers proc beispiel(var a, var b, c, d) zur Übergabe "by reference"? |
|
|
| |
|
|
|
| Habe là une concept:
si Du sur une variable byref zugreifen veux, ensuite deklariere vous doch simple pas dans qui paramètre-Beschreibung.
cela var dans qui Parameterbeschreibung pourrait redundant verstanden volonté et ist imho pas eineindeutig, ensuite plutôt byref a, byref b, ou bien C-Style &a, &b...
cela peux je naturellement einbauen, mais je halte es pour Doppelgemoppel à cause de "Idee". |
|
|
| |
|
|
|
HofK | Pour un einzeln betrachtetes Programme nehme je aussi globale Variablen dans qui Procédure.
si je mir mais Prozeduren comme eigene "Features" zur Manipulation aussi de Variablen schreibe, qui je dans verschiedenen Programmen einsetzen voudrais, gibt es un Problem avec den Bezeichnern. Einmal est qui Variable etwa meineSpezialzeit, dans einem anderen Programme à cause de qui inneren Systematik mais x_time. ensuite devrait on qui globalen Variablen dans qui Procédure extra débaptiser.
on sollte sich qui dans qui Procédure benutzten globalen Variablen aussi extra irgendwie dokumentieren, sonst übersieht on léger quelque chose. comme paramètre avec z.B. proc bsp(ref a, ref b, c, d) vous êtes dagegen deutlich sichtbar. (chez GFA était es autrefois "doppelt" var)
dans dem Zusammenhang muss on mais sûrement aussi qui Namensräume chez Include (siehe XProfan) betrachten. Ist alles plutôt aucun Anfängerproblematik, plus quoi pour AndroidProfanXtended. |
|
|
| |
|
|
|
| oui cela verstehe je, werde solch Syntax ensuite pour plus tard Versionen umsetzen. je trouve cela "ref" pas mal, so volonté wir cela wohl . Assurez- |
|
|
| |
|
|
|
| Ebenso - dank Space-Operator - einfachere Syntax possible:
|
|
|
| |
|
|
|
| chez qui paramètre-définition peux aussi juste un Vorwert transfert volonté, un Wert qui genutzt volonté soll si qui paramètre pas avec transfert wurde:
Selbe:
cela allez aussi:
Selbe:
|
|
|
| |
|
|
|
| Proc-paramètre Typ Array Übergabe eh bien byVal statt byRef: [...] |
|
|
| |
|
|