LOTUSSCRIPT LANGUAGE


Examples: Execute function and statement
Example 1 (Execute statement)

' The Execute statement performs a calculation entered by the  
' user and displays the result. If the user enters an invalid
' calculation, a compilation error occurs, and the DoCalc sub
' displays an appropriate message. The Option Declare statement
' disallows the implicit declaration of variables in the
' calculation. The user can enter 700 * 32, for example, or
' "My name is " & "Fred", or Today - 365, but an entry such as
' x / y generates an error.

Sub DoCalc
  ' To handle any compilation error in the Execute statement
  On Error GoTo BadCalc
  Execute |Option Declare
          Dim x ' x is a Variant to accept any calculation.
          x =  | & InputBox ("Enter your calculation") & |
          MessageBox "The result is " & x|
  Exit Sub
' Report an error and exit.
BadCalc:
  MessageBox "Not a valid calculation"
  Exit Sub
End Sub
DoCalc                                  ' Call the sub.

Example 2 (Execute function)

' You can use the Execute function to return an integer such
' as a status code. In this example, the Execute function
' performs the calculation entered by the user. If the result
' is less than 0 or greater than 1 (100%), Execute returns a
' status code, and the ComputeInterest sub displays an
' appropriate message.

Sub ComputeInterest
  Dim script As String, calc As String, retcode As Integer
  calc$ = InputBox("Compute loan interest (charge/loan)")
  script$ = _
     |Option Declare
     Sub Initialize
        Dim pct As Single  
        pct! = | &  calc$ & |
        If pct! < 0 Then
           End -2                   ' -2 is a status code.
        ElseIf pct! > 1 Then
           End -3                   ' -3 is a status code.
        End If
        MessageBox("Interest is " & Format(pct!,"percent"))
     End Sub|
  retcode% = Execute (script$)
  If retcode% = -2 Then
     MessageBox("You computed a negative interest rate!")
  ElseIf retcode% = -3 Then
     MessageBox("You computed an excessive interest rate!")
  End If
End Sub
ComputeInterest                      ' Call the sub.

See Also