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 / Instrucciones estructuradas
  • Extractos que pueden devolver un valor
  • Otras sentencias utilizadas para salir de un bucle o de una Procedure
  • Tipos devueltos
  • Múltiples valores de retorno
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
La sentencia RETURN se utiliza para salir del evento actual, Process o Procedure y devolver un resultado.
Este resultado puede ser:
El DEVOLVER se puede usar en:
  • El código de cierre del proyecto,
  • El código de cierre de la ventana o página,
  • El código de cierre de reporte,
  • Un Procedure (prueba condicional, FOR, FOR EACH, LOOP o bucle WHILE, ...).
Ejemplo
// Call to a procedure that returns NOTHING if a problem occurs
// Different process according to the return value
Control_Value is string
Control_Value = MyProcess(Control_Name)
IF Control_Value = "Nothing" THEN
Info("No value was calculated")
ELSE
Info("Value of control: " + Control_Value)
END
// -- MyProcess procedure
PROCEDURE MyProcess(Control)
IF Control..Type = typInputText THEN
RETURN Control..Value
ELSE
RETURN "Nothing"
END
Sintaxis

Procedure Ocultar los detalles

PROCEDURE <Procedure name> ([<Parameter>])
IF <Condition> THEN
    RETURN <Value(s) to return>
ELSE
    RETURN <Value(s) to return>
END
Observaciones:
  • Las siguientes operaciones se realizan si se cumple <Condición>:
    • Devuelva un estado reporte al llamado Process. El tipo y valor de <Valor a devolver> depende del valor esperado por el proceso que llama a la Procedure.
    • Salir del bloque de sentencia.
    • Salir del Process actual (o del Procedure).
  • Tiene la capacidad de devolver varios valores. Para obtener más información, consulte Múltiples valores de retorno.

Código para cerrar la ventana, la página o la reporte Ocultar los detalles

RETURN <Value to return>
Observaciones:
  • En este caso, <Valor a devolver> debe corresponder al valor esperado durante la llamada a la ventana, página o reporte.
  • Tiene la capacidad de devolver varios valores. Para obtener más información, consulte Múltiples valores de retorno.

Código de cierre del proyecto Ocultar los detalles

RETURN <Value to return>
Observación: En este caso, <Valor de retorno> debe ser un número entero. Este valor puede ser recuperado por cualquier aplicación. Para una aplicación WINDEV, el valor devuelto por otra aplicación puede ser recuperado por ExeRun.
Observaciones

Extractos que pueden devolver un valor

Varias declaraciones pueden devolver un valor en una Procedure:
  • Instrucción IF
    PROCEDURE <Procedure name> ([<Parameter>])
    IF <Condition> THEN
    RETURN <Value to return>
    ELSE
    RETURN <Value to return>
    END
  • Instrucción FOR
    PROCEDURE <Procedure name> ([<Parameter>])
    FOR <Control variable> = <Initial value> TO <Final value> [STEP <x>]
    IF <Condition> THEN RETURN <Value to return>
    END
  • PARA CADA estado de cuenta
    PROCEDURE <Procedure name> ([<Parameter>])
    FOR EACH <File> ON <Key item>
    ...
    IF <Condition> THEN RETURN <Value to return>
    END
  • Instrucción LOOP
    PROCEDURE <Procedure name> ([<Parameter>])
    LOOP
    ...
    IF <Condition> THEN RETURN <Value to return>
    ...
    END
  • Instrucción WHILE
    PROCEDURE <Procedure name> ([<Parameter>])
    WHILE <Condition 1>
    ...
    IF <Condition> THEN RETURN <Value to return>
    ...
    END
Observación: Estas sentencias también pueden devolver varios valores. Para obtener más información, consulte Múltiples valores de retorno.

Otras sentencias utilizadas para salir de un bucle o de una Procedure

Cerrar se utiliza para salir del bucle (o procedure) y cerrar la ventana actual.

Tipos devueltos

Se pueden devolver los siguientes tipos:
  • estructura
  • estructura dinámica
  • class
  • tipo avanzado
  • array
  • asociativa array
  • queue
  • stack
  • listar
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxAndroidWidget Android iPhone/iPadApple WatchJavaCódigo de Usuario (UMC)

Múltiples valores de retorno

Una Procedure, una función, un método de clase o una ventana pueden devolver varios valores.
Se debe utilizar la siguiente sintaxis:
RETURN [<Value 1>, <Value 2>, ... <Value N>]
o
RETURN = [<Value 1>, <Value 2>, ... <Value N>]
Ejemplo:
// Code of the procedure
PROCEDURE MyProc()
 
// Process
RETURN (1, 2, 3)
 
 
// Code for calling the procedure
( x, y, z ) = MyProc()
// x is set to 1, y to 2 and z to 3
Observación:
  • Para una ventana, Cerrar también puede utilizarse para devolver varios valores.
  • En un Procedure, todas las palabras clave RETURN deben devolver el mismo número de valores.
  • No se permiten las devoluciones múltiples en una Procedure almacenada.
  • Las propiedades no pueden utilizar valores múltiples.
  • Para una Procedure, los valores devueltos pueden corresponder a tipos simples (enteros, booleanos, ...) o a tipos complejos (estructuras, ...).
  • Para una ventana o para una reporte, los valores devueltos pueden corresponder a tipos simples (entero, booleano,...).
  • Si la Procedure, la ventana o la reporte devuelve varios valores, no es necesario recuperar todos los valores. Tienes la habilidad de leer uno solo. Por ejemplo:
    • Lectura de todos los valores:
      ( x, y, z ) = MyProc()
    • Lectura de un valor individual:
      • Lectura del primer valor:
        (x) = MyProc()
        o:
        x = MyProc()
      • Lectura del segundo valor:
        (,y) = MyProc()
Tipos de valores de retorno
Tiene la capacidad de asignar un tipo a los valores de retorno. La sintaxis es la siguiente:
PROCEDURE ProcedureName(): ([<Type value 1>, [<Type value 2>, ... , [<Type value N>]]])
Observación: No es necesario especificar el tipo para todos los valores de retorno..
Valor de retorno múltiple utilizado como parámetro
Un valor de retorno múltiple puede ser pasado como parámetro a una Procedure o función de WLanguage.
Ejemplo:
PROCEDURE f()
RETURN (1, 2)
 
PROCEDURE g(x, y)
RETURN x+y
 
z is int
z = g(f())
// z is set to 3
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