AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Procedimientos WLanguage
  • Casos especiales
  • Parámetros con nombre
  • Llamada a un navegador WLanguage global Procedure desde un JavaScript global Procedure (que se encuentra en el mismo conjunto de Procedure s)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El método para llamar a un Procedure es el mismo, sin importar si es un Procedure global o un Procedure local.
Recordatorio:
  • En WLanguage, no hay distinción entre los procedimientos y las funciones. Las sintaxis para declarar y utilizar los procedimientos también se aplican a las funciones.
  • En el caso de una Procedure multisintaxis, la llamada a la sintaxis adecuada se resuelve en tiempo de ejecución. Para obtener más información, consulte Prototipo overload.
Ejemplo
// Call to the Find procedure that returns a boolean
IF Find(Customer, CustNum, Number) THEN
Info("Customer number found")
ELSE
Info("Customer number not found")
END
Sintaxis

Llamando a un Procedure que devuelve un parámetro Ocultar los detalles

[<Returned value> = ] <Procedure name>([<Parameters>])
<Returned value>:
Valor devuelto por la Procedure (opcional), sólo si la Procedure devuelve un resultado.
El tipo de valor de retorno de un Procedure puede ser especificado durante su declaración. Para obtener más información, consulte Declarando un Procedure.
<Procedure name>:
Nombre de la Procedure a llamar.
<Parameters>:
Parámetros pasados a la Procedure. Cada parámetro está separado por una coma.
WINDEVWEBDEV - Código ServidoriPhone/iPadIOS WidgetApple WatchMac Catalyst Tiene la capacidad de utilizar parámetros con nombre. Para más detalles, consulte "Parámetros con nombre".
Para más detalles sobre cómo declarar los parámetros de un Procedure, véase Los parámetros de un Procedure.

Llamando a un Procedure que devuelve varios parámetros Ocultar los detalles

(<Value 1>, ..., <Value N>) = <Procedure name>([<Parameters>])
<Value 1 to N>:
Valores devueltos por la Procedure.
El tipo de los valores de retorno de una Procedure puede ser especificado durante su declaración. Para obtener más información, consulte Declarando un Procedure.
<Procedure name>:
Nombre de la Procedure a llamar.
<Parameters>:
Parámetros pasados a la Procedure. Cada parámetro está separado por una coma.
WINDEVWEBDEV - Código ServidoriPhone/iPadIOS WidgetApple WatchMac Catalyst Tiene la capacidad de utilizar parámetros con nombre. Para más detalles, consulte "Parámetros con nombre".
Para más detalles sobre cómo declarar los parámetros de un Procedure, véase Los parámetros de un Procedure.
Observaciones

Casos especiales

  • Para que sus programas sean más legibles, la palabra clave Procedure puede sustituirse por la palabra clave FUNCION.
  • Si el Procedure no espera ningún parámetro, también puede usar la siguiente sintaxis:
    [<Returned value> = ] <Procedure name>
  • Para ejecutar una Procedure de una ventana abierta, utilice ExecuteProcess. Ejemplo:
    // Run the MyProc procedure found in WIN_MyWindow
    WinName is string = "WIN_MyWindow"
    ExecuteProcess(WinName + ".MyProc", trtProcédure)
WINDEVWEBDEV - Código ServidoriPhone/iPadIOS WidgetApple WatchMac Catalyst

Parámetros con nombre

Si un Procedure incluye parámetros con valores por defecto, tienes la posibilidad de llamar al Procedure nombrando sus parámetros. Son posibles dos sintaxis:
  • Parámetros nombrados de Single-Line,
  • Parámetros con nombre de varias líneas.
1. Single-Line llamado parámetros
Se utiliza la siguiente sintaxis:
ProcedureName(< <name of parameter1> >: <value1>, < <name of parameter2> >: <value2>, ...)
Veamos las diferentes reglas de operación a través de un ejemplo:
  • Código del procedimiento:
    PROCÉDURE MyProcedure(p1, p2, p3 = 0, p4 = 0, p5 = 0)
  • Llama a la Procedure usando parámetros nombrados:
    MyProcedure(<p1>:1, <p2>:2)
  • Los parámetros opcionales no especificados se asignarán con su valor de Default.
    MyProcedure(<p1>:1, <p2>:2, <p4>:4)
  • Los parámetros obligatorios se pueden pasar sin su nombre, utilizando los parámetros ordenados estándar. Los parámetros nombrados se encuentran necesariamente después de los parámetros ordenados:
    MyProcedure(1, 2, <p4>:4)

    MyProcedure(1, <p4>:4, 2) // Triggers an error
  • Se deben especificar todos los parámetros obligatorios, de lo contrario se producirá un error de compilación..
    MyProcedure(<p1>:1) // error: p2 missing

    MyProcedure(<p1>:1, <p4>:4)// error: p2 missing
  • Cada parámetro debe especificarse una sola vez, de lo contrario se producirá un error de compilación..
    MyProcedure(<p2>:2, <p1>:1, <p2>:2) // error: p2 twice
  • Los parámetros se pueden especificar en cualquier orden: los valores de los parámetros se evalúan en el orden de escritura estándar (de izquierda a derecha).
    MyProcedure(f1(), f2(), <p5>:f3(), <p4>:f4()) // Execution order: f1, f2, f3, f4
Las reglas para pasar los parámetros son idénticas a las que se aplican durante una llamada estándar.. Para obtener más información, consulte Pasar parámetros.
2. Parámetros con nombre de varias líneas
Se utiliza la siguiente sintaxis:
// Define the parameters
ProcedureName.<Name of parameter 1> = <Value 1>
...
ProcedureName.<Name of parameter N> = <Value N>
// Call the procedure
ProcedureName()
Esta sintaxis está disponible:
  • para los procedimientos globales.
  • para los Procedure locales llamados desde el elemento que posee el Procedure.
  • para los métodos llamados desde un método de la clase o clase derivada.
Ejemplo:
  • Código del procedimiento:
    PROCÉDURE MyProcedure(p1, p2, p3 = 0, p4 = 0, p5 = 0)
  • Código de llamada:
    // Define the parameters
    MyProcedure.p1 = 1
    MyProcedure.p2 = 2
    // Call the procedure
    MyProcedure()
Observaciones:
  • Los parámetros del procedimiento se limitan a la actual Process. Por lo tanto, la llamada y las asignaciones deben encontrarse en la misma Process. Se produce un error de compilación si se especifican los parámetros y si no se detecta ninguna llamada a la Procedure en la Process.
  • No se realiza ninguna comprobación de la presencia de parámetros obligatorios.. Puede producirse un error en tiempo de ejecución si no se ha especificado un parámetro obligatorio.
  • Los parámetros se reinician durante la llamada, de modo que no se puede volver a utilizar ningún parámetro por error; por lo tanto, no se pueden realizar dos llamadas con los mismos parámetros.
  • Atención: En este caso, el paso de parámetros se realiza por valor (y no por Variable).
WEBDEV - Código Navegador

Llamada a un navegador WLanguage global Procedure desde un JavaScript global Procedure (que se encuentra en el mismo conjunto de Procedure s)

Para llamar a un navegador WLanguage Procedure desde un JavaScript Procedure, el nombre del WLanguage Procedure debe ir precedido del nombre del conjunto de Procedure s. El nombre de la Procedure y el nombre de la función deben estar separados por un guión bajo (_) y no por un punto.
El nombre del conjunto de Procedure s utilizado en el JavaScript Procedure:
  • no debe contener ningún carácter acentuado,
  • debe escribirse en mayúsculas,
  • sin puntuación,
  • sin espacios en blanco.
Por ejemplo: Para llamar a la Procedure WLanguage llamada "MySet to test.UnitTest", hay que escribir "MYSETTOTEST_UnitTest" en el JavaScript Procedure.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local