PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Statements that can return a value
  • Other statements used to exit from a loop or from a procedure
  • Types returned
  • Multiple return values
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
The RESULT statement is used to exit the current event, process or procedure and return a result.
This result can be:
The RESULT statement can be used in:
  • The closing code of project,
  • The closing code of window or page,
  • Versions 19 and later
    The closing code of report,
    New in version 19
    The closing code of report,
    The closing code of report,
  • A procedure (conditional test, FOR, FOR EACH, LOOP or WHILE loop, ...).
Versions 26 and later
Remark: The RETURN keyword can also be used instead of the RESULT keyword.
New in version 26
Remark: The RETURN keyword can also be used instead of the RESULT keyword.
Remark: The RETURN keyword can also be used instead of the RESULT keyword.
Versions 16 and later
Universal Windows 10 App This feature is available for Windows Phone applications.
New in version 16
Universal Windows 10 App This feature is available for Windows Phone applications.
Universal Windows 10 App This feature is available for Windows Phone applications.
Versions 17 and later
iPhone/iPad This feature is available for iPhone/iPad applications.
New in version 17
iPhone/iPad This feature is available for iPhone/iPad applications.
iPhone/iPad This feature is available for iPhone/iPad applications.
Versions 18 and later
Universal Windows 10 App This feature is available in Windows Store apps mode.
Android Widget This feature is available in Android Widget mode.
New in version 18
Universal Windows 10 App This feature is available in Windows Store apps mode.
Android Widget This feature is available in Android Widget mode.
Universal Windows 10 App This feature is available in Windows Store apps mode.
Android Widget This feature is available in Android Widget mode.
Example
// 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
RESULT Control..Value
ELSE
RESULT "Nothing"
END
Syntax

Procedure Hide the details

PROCEDURE <Procedure name> ([<Parameter>])
IF <Condition> THEN
    RESULT <Value(s) to return>
ELSE
    RESULT <Value(s) to return>
END
Remarks:
  • The following operations are performed if <Condition> is fulfilled:
    • Return a status report to the calling process. The type and value of <Value to return> depend on the value expected by the process calling the procedure.
    • Exit from the statement block.
    • Exit from the current process (or procedure).
  • Versions 19 and later
    You have the ability to return several values. For more details, see Multiple return values.
    New in version 19
    You have the ability to return several values. For more details, see Multiple return values.
    You have the ability to return several values. For more details, see Multiple return values.

Code for closing the window, the page or the report Hide the details

RESULT <Value to return>
Remarks:
  • In this case, <Value to return> must correspond to the expected value during the call to the window, page or report.
  • Versions 19 and later
    You have the ability to return several values. For more details, see Multiple return values.
    New in version 19
    You have the ability to return several values. For more details, see Multiple return values.
    You have the ability to return several values. For more details, see Multiple return values.

Closing code of project Hide the details

RESULT <Value to return>
Remark: In this case, <Value to return> must be an integer. This value can be retrieved by any application. For a WINDEV application, the value returned by another application can be retrieved by ExeRun.
Remarks

Statements that can return a value

Several statements can return a value in a procedure:
  • IF statement
    PROCEDURE <Procedure name> ([<Parameter>])
    IF <Condition> THEN
    RESULT <Value to return>
    ELSE
    RESULT <Value to return>
    END
  • FOR statement
    PROCEDURE <Procedure name> ([<Parameter>])
    FOR <Control variable> = <Initial value> TO <Final value> [STEP <x>]
    IF <Condition> THEN RESULT <Value to return>
    END
  • FOR EACH statement
    PROCEDURE <Procedure name> ([<Parameter>])
    FOR EACH <File> ON <Key item>
    ...
    IF <Condition> THEN RESULT <Value to return>
    END
  • LOOP statement
    PROCEDURE <Procedure name> ([<Parameter>])
    LOOP
    ...
    IF <Condition> THEN RESULT <Value to return>
    ...
    END
  • WHILE statement
    PROCEDURE <Procedure name> ([<Parameter>])
    WHILE <Condition 1>
    ...
    IF <Condition> THEN RESULT <Value to return>
    ...
    END
Versions 19 and later
Remark: These statements can also return several values. For more details, see Multiple return values.
New in version 19
Remark: These statements can also return several values. For more details, see Multiple return values.
Remark: These statements can also return several values. For more details, see Multiple return values.

Other statements used to exit from a loop or from a procedure

Several statements are available:
  • RETURN: Exit from the loop and exit from the current process (or procedure).
  • BREAK: Exit from the loop and run the rest of the current process (or procedure).
Close is used to exit from the loop (or procedure) and to close the current window.
Caution: RETURN and RESULT cannot be used in the same process.

Types returned

Versions 15 and later
The following types can be returned:
  • structure
  • dynamic structure
  • class
  • advanced type
  • array
  • associative array
  • queue
  • stack
  • list
New in version 15
The following types can be returned:
  • structure
  • dynamic structure
  • class
  • advanced type
  • array
  • associative array
  • queue
  • stack
  • list
The following types can be returned:
  • structure
  • dynamic structure
  • class
  • advanced type
  • array
  • associative array
  • queue
  • stack
  • list
Versions 19 and later
Windows MobileAndroidAndroid Widget iPhone/iPadApple WatchJavaUser code (UMC)

Multiple return values

A procedure, a function, a class method, or a window can return several values.
The following syntax must be used:
RESULT [<Value 1>, <Value 2>, ... <Value N>]
or
RETURN = [<Value 1>, <Value 2>, ... <Value N>]
Example:
// Code of the procedure
PROCEDURE MyProc()

// Process
RESULT(1, 2, 3)


// Code for calling the procedure
( x, y, z ) = MyProc()
// x is set to 1, y to 2 and z to 3
Remark:
  • For a window, Close can also be used to return several values.
  • In a procedure, all the RESULT or RETURN found in this procedure must return the same number of values.
  • The multiple returns are not allowed in a stored procedure.
  • The properties cannot use multiple values.
  • For a procedure, the returned values can correspond to simple types (integer, boolean, ...) or to complex types (structures, ...).
  • For a window or for a report, the returned values can correspond to simple types (integer, boolean, ...).
  • If the procedure, window or report returns several values, it is not required to retrieve all the values. You have the ability to read a single one. For example:
    • Reading all the values:
      ( x, y, z ) = MyProc()
    • Reading a single value:
      • Reading the first value:
        (x) = MyProc()
        or:
        Versions 20 and later
        x = MyProc()
        New in version 20
        x = MyProc()
        x = MyProc()
      • Reading the second value:
        (,y) = MyProc()
Types of return values
You have the ability to assign a type to the return values. The syntax is as follows:
PROCEDURE ProcedureName(): ([<Type value 1>, [<Type value 2>, ... , [<Type value N>]]])
Remark: There is no need to specify the type for all return values.
Multiple return value used in parameter
A multiple return value can be passed in parameter to a WLanguage procedure or function.
Example:
PROCEDURE f()
RESULT(1, 2)

PROCEDURE g(x, y)
RESULT x+y

z is int
z = g(f())
// z is set to 3
New in version 19
Windows MobileAndroidAndroid Widget iPhone/iPadApple WatchJavaUser code (UMC)

Multiple return values

A procedure, a function, a class method, or a window can return several values.
The following syntax must be used:
RESULT [<Value 1>, <Value 2>, ... <Value N>]
or
RETURN = [<Value 1>, <Value 2>, ... <Value N>]
Example:
// Code of the procedure
PROCEDURE MyProc()

// Process
RESULT(1, 2, 3)


// Code for calling the procedure
( x, y, z ) = MyProc()
// x is set to 1, y to 2 and z to 3
Remark:
  • For a window, Close can also be used to return several values.
  • In a procedure, all the RESULT or RETURN found in this procedure must return the same number of values.
  • The multiple returns are not allowed in a stored procedure.
  • The properties cannot use multiple values.
  • For a procedure, the returned values can correspond to simple types (integer, boolean, ...) or to complex types (structures, ...).
  • For a window or for a report, the returned values can correspond to simple types (integer, boolean, ...).
  • If the procedure, window or report returns several values, it is not required to retrieve all the values. You have the ability to read a single one. For example:
    • Reading all the values:
      ( x, y, z ) = MyProc()
    • Reading a single value:
      • Reading the first value:
        (x) = MyProc()
        or:
        Versions 20 and later
        x = MyProc()
        New in version 20
        x = MyProc()
        x = MyProc()
      • Reading the second value:
        (,y) = MyProc()
Types of return values
You have the ability to assign a type to the return values. The syntax is as follows:
PROCEDURE ProcedureName(): ([<Type value 1>, [<Type value 2>, ... , [<Type value N>]]])
Remark: There is no need to specify the type for all return values.
Multiple return value used in parameter
A multiple return value can be passed in parameter to a WLanguage procedure or function.
Example:
PROCEDURE f()
RESULT(1, 2)

PROCEDURE g(x, y)
RESULT x+y

z is int
z = g(f())
// z is set to 3
Windows MobileAndroidAndroid Widget iPhone/iPadApple WatchJavaUser code (UMC)

Multiple return values

A procedure, a function, a class method, or a window can return several values.
The following syntax must be used:
RESULT [<Value 1>, <Value 2>, ... <Value N>]
or
RETURN = [<Value 1>, <Value 2>, ... <Value N>]
Example:
// Code of the procedure
PROCEDURE MyProc()

// Process
RESULT(1, 2, 3)


// Code for calling the procedure
( x, y, z ) = MyProc()
// x is set to 1, y to 2 and z to 3
Remark:
  • For a window, Close can also be used to return several values.
  • In a procedure, all the RESULT or RETURN found in this procedure must return the same number of values.
  • The multiple returns are not allowed in a stored procedure.
  • The properties cannot use multiple values.
  • For a procedure, the returned values can correspond to simple types (integer, boolean, ...) or to complex types (structures, ...).
  • For a window or for a report, the returned values can correspond to simple types (integer, boolean, ...).
  • If the procedure, window or report returns several values, it is not required to retrieve all the values. You have the ability to read a single one. For example:
    • Reading all the values:
      ( x, y, z ) = MyProc()
    • Reading a single value:
      • Reading the first value:
        (x) = MyProc()
        or:
        Versions 20 and later
        x = MyProc()
        New in version 20
        x = MyProc()
        x = MyProc()
      • Reading the second value:
        (,y) = MyProc()
Types of return values
You have the ability to assign a type to the return values. The syntax is as follows:
PROCEDURE ProcedureName(): ([<Type value 1>, [<Type value 2>, ... , [<Type value N>]]])
Remark: There is no need to specify the type for all return values.
Multiple return value used in parameter
A multiple return value can be passed in parameter to a WLanguage procedure or function.
Example:
PROCEDURE f()
RESULT(1, 2)

PROCEDURE g(x, y)
RESULT x+y

z is int
z = g(f())
// z is set to 3
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment