| .DECLARE (BASIC Procedure) Statement Details. |
|
  QuickSCREEN       Details       Example       Contents       Index |
| ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ |
| DECLARE (BASIC Procedure) Statement Details |
|
| Syntax |
|   DECLARE {FUNCTION | SUB } name [([parameterlist])] |
|   |
|   Argument        Description |
|   name            The procedure's name. The name is limited to 40 |
|                   characters. FUNCTION names can end in one of the |
|                   type-declaration characters (%, &, !, #, or $) to |
|                   indicate the type of value returned. |
|   |
|   parameterlist   A list of parameters indicating the number and |
|                   type of arguments used when calling the procedure. |
|                   Syntax is shown below. Only the number and type of |
|                   the arguments are significant. |
|   |
| For calls within BASIC, the DECLARE statement is required only if you |
| call SUB procedures without the CALL keyword, or if you invoke a |
| FUNCTION defined in another module. |
|   |
| A DECLARE statement also causes the compiler to check the number and |
| type of arguments used to invoke the procedure. QuickBASIC |
| automatically generates DECLARE statements when you save your program |
| while working in the environment. The DECLARE statement can appear |
| only in module-level code (not in a SUB or FUNCTION) and affects the |
| entire module. |
|   |
| The parameterlist serves as a prototype for checking the number |
| and type of the arguments in SUB and FUNCTION calls. It has the |
| following syntax: |
|   |
|   variable[AS type][,variable[AS type]]... |
|   |
| A variable is any valid BASIC variable name. If the variable is an |
| array, it may be followed by the number of dimensions in parentheses: |
|   |
|   DECLARE SUB DisplayText (A(2) AS STRING) |
|   DIM Text$(100,5) |
|   . |
|   . |
|   . |
|   CALL DisplayText(Text$()) |
|   |
| The number of dimensions is optional. |
|   |
| The type is either INTEGER, LONG, SINGLE, DOUBLE, STRING, or a |
| user-defined type. Again, only the number and types of arguments are |
| significant. |
|   |
|   Note: You cannot have fixed-length strings in DECLARE statements |
|         because only variable-length strings can be passed to SUB |
|         and FUNCTION procedures. Fixed-length strings can appear |
|         in an argument list but are converted to variable-length |
|         strings before being passed. |
|   |
| A variable's type can also be indicated by including an explicit type |
| character ( %, &, !, #,  or $) or by relying on the default type. |
|   |
| The form of the parameter list determines whether or not argument |
| checking is done, as shown in the following list: |
|   |
|   Declaration                     Meaning |
|   |
|   DECLARE SUB First               You may only omit the parentheses |
|                                   if the SUB or FUNCTION is separately |
|                                   compiled. No argument checking is |
|                                   done. |
|   |
|   DECLARE SUB First ()            First has no parameters. Arguments |
|                                   in a CALL to First are flagged as |
|                                   an error. An empty parameter list |
|                                   indicates that the SUB or FUNCTION |
|                                   has no parameters. |
|   |
|   DECLARE SUB First (X AS LONG)   First has one long-integer |
|                                   parameter. The number and type of |
|                                   the arguments in each CALL or |
|                                   invocation are checked when the |
|                                   parameter list appears in the |
|                                   DECLARE. |