Español
Befehlssatz y Ayuda

Sprachelement: proc

 
proc Name( [ Parámetro, [ ...

Definiert una Procedimiento/ nombre Name y para ihre (optionalen) Parámetro el Namen el Variables.

Prozeduren puede Werte aller Variablentypen (einschließlich Arrays) por volver zurückliefern.

Prozeduren puede Über- y Unterladen voluntad: Parámetro necesario no a una Proc transferencia voluntad, auch entonces no, si welche definiert son. Übergibt uno a una Proc z.B. sólo el Parámetro a y b en lugar de auch c, entonces c en el Proc definiert aber ha valor null. So puede ser auch innerhalb uno Proc erkennen, si una Parámetro transferencia wurde oder no. Un Proc sin Volver liefert siempre null. Referencia: Null es no es igual 0!

In Infinity-Profano hay auch Procs en Procs, el inneren Procs son sólo en el Elternproc bekannt.

Como en XProfan y XPSE con nProcs es en Infinity-Profano egal, si Procs al Programmkopf oder Fuß definiert voluntad, como el Kompilierer ohnehin el Ver código fuente umsortiert y el tatsächlich verwendeten Características a el passenden Punto des Quelltextes verknüpft. So puede ser se oben en el Programmkopf en el real Ver código fuente/ Ablauf konzentrieren y benötigte Procs al Fuß ablegen.

El Beschränkung el Anzahl el übergebenen Parámetro liegt theoretisch en 9100, sin embargo debería así viele Parámetro keiner Proc transferencia voluntad en Speicherprobleme a vermeiden.

Parameterwerte voluntad byValue transferencia, byRef para Arrays con vorangestelltem @ antes cada Parameternamen. Auf Parámetro, el no vom Typ Array transferencia voluntad, ha @ no Einfluss, sin embargo se el Prüfung para esta Parámetro en una Array-Kopie beim conjunto des @-Zeichens abgeschaltet. En Características, en denen lo en höchste Geschwindigkeit ankommt, es also una Optimierung por @ para cada Parámetro con einzubeziehen.

Referencia: Zeiger en una Proc por @Procname

Beispiele:
proc meineProc(a,b,c)

    /// ...
    /// volver

ENDPROC


También - dank Espacio-Operator - einfachere Syntax posible:
proc meineProc a b c

    /// ...
    /// volver

ENDPROC


En Parámetro-Definition kann auch igual una Vorwert transferencia voluntad, una Valor el genutzt voluntad se si la Parámetro no con transferencia wurde:
proc test(a,b,c=50)

    volver c

ENDPROC

imprimir test()// son 50 de

Selbe:
proc test a b c=50

    volver c

ENDPROC

imprimir test()// son 50 de

Es auch:

Selbe:

Referencia a Performance:

es más rápido como:

porque para todos Parámetro el Prüfung en una Array wegfällt, dessen Daten ggf. para el Proc dupliziert würden.

Keywords: Prozeduren, Características

proc
ENDPROC
 
14.02.2015  
 




HofK
Como Es el Art el Parameterübergabe vorgesehen?

Nur call by value? pero en arrays?
 
10.03.2015  
 



En Arrays y Procs el Referenz, de otra manera el Valor.
 
11.03.2015  
 




HofK
OK, puede ser en Bedarf auch einelementiges array a transferencia, entonces aber a[0] siempre "mitschleppen".

Was spricht (intern?) gegen
proc beispiel(var a, var b, c, d)
a Übergabe "by reference"?
 
12.03.2015  
 



Posesiones como una Concepto:

Si usted en una variable byref zugreifen willst, entonces deklariere ellos
doch simplemente no en el Parámetro-Descripción.

Das var en el Parameterbeschreibung podría redundant verstanden
y ser es mi humilde opinión no eineindeutig, entonces más byref a, byref b,
oder C-Style &a, &b...

Das kann Yo natürlich einbauen, pero yo halte lo para Doppelgemoppel
wegen "Idee".
 
12.03.2015  
 




HofK
Für una einzeln betrachtetes Programa Aprovecho auch globale Variables en el Procedimiento.

Wenn Yo aber Prozeduren como propio "Features" a Manipulation auch de Variables escribir, el Yo en verschiedenen Programmen einsetzen möchte, hay una Problema con el Bezeichnern. Einmal heißt el Variable etwa meineSpezialzeit, en un otro Programa wegen el inneren Systematik aber x_time. Dann debería uno el globalen Variables en el Procedimiento extra umbenennen.

Man debería el en el Procedimiento benutzten globalen Variables auch extra irgendwie dokumentieren, sonst übersieht uno ligeramente algo. Als Parámetro con z.B. proc bsp(ref a, ref b, c, d) son ellos dagegen deutlich sichtbar. (en GFA war lo damals "doppelt" var)

In el Zusammenhang muss uno aber sicher auch el Namensräume en Incluir (siehe XProfan) betrachten. Ist alles más no Anfängerproblematik, mehr qué para AndroidProfanXtended.
 
12.03.2015  
 



Sí el verstehe Yo, voluntad solch Syntax entonces para spätere Versionen
umsetzen. Yo finde el "ref" no schlecht, así voluntad wir el wohl
hacer.
 
13.03.2015  
 



También - dank Espacio-Operator - einfachere Syntax posible:
proc meineProc a b c

    /// ...
    /// volver

ENDPROC

 
24.05.2015  
 



En Parámetro-Definition kann auch igual una Vorwert transferencia voluntad, una Valor el genutzt voluntad se si la Parámetro no con transferencia wurde:
proc test(a,b,c=50)

    volver c

ENDPROC

imprimir test()// son 50 de

Selbe:
proc test a b c=50

    volver c

ENDPROC

imprimir test()// son 50 de

Es auch:

Selbe:
 
24.05.2015  
 



Proc-Parámetro Typ Array Übergabe nun byVal en lugar de byRef:  [...] 
 
11.01.2016  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

12.277 Views

Untitledvor 0 min.
Sven Bader04.08.2021
Micha1233418.05.2016
Michael W.09.04.2016
HofK08.04.2016
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (7x)
HofK (3x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie