| .DEFtype Statement Details. |
|
  QuickSCREEN       Details       Example       Contents       Index |
| ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ |
| DEFtype Statement Details |
|
| Syntax |
|   DEFINT letterrange [,letterrange]... |
|   DEFSNG letterrange [,letterrange]... |
|   DEFDBL letterrange [,letterrange]... |
|   DEFLNG letterrange [,letterrange]... |
|   DEFSTR letterrange [,letterrange]... |
|   |
| The letterrange has the form: |
|   |
|   letter1[-letter2] |
|   |
| where letter1 and letter2 are any of the uppercase or lowercase |
| letters of the alphabet. Names beginning with the letters in |
| letterrange have the type specified by the last three letters of the |
| statement: integer (INT), long integer (LNG), single precision (SNG), |
| double precision (DBL), or string (STR). For example, in the following |
| program fragment, Message is a string variable: |
|   |
|   DEFSTR A-Q |
|   . |
|   . |
|   . |
|   Message="Out of stack space." |
|   |
| The case of the letters in letterrange is not significant. |
| All of the following statements are equivalent: |
|   |
|   DEFINT I-N |
|   DEFINT i-n |
|   DEFINT i-N |
|   |
| A type-declaration character (%, &, !, #, or $) always takes precedence |
| over a DEFtype statement. DEFtype statements do not affect record |
| elements. |
|   |
|   Note: I!, I#, I&, I$, and I% are all distinct variables, and each |
|         may hold a different value. |
|   |
| Differences from BASICA |
|   |
| BASICA handles DEFtype statements differently. BASICA scans a |
| statement each time before executing it. If the statement contains a |
| variable without an explicit type (indicated by !, #, &, $, or %), |
| the interpreter uses the current default type. |
|   |
| In the example below, when BASICA interprets line 20, it determines |
| that the current default type for variables beginning with I is |
| integer. Line 30 changes the default type to single precision. |
| When BASICA loops back to line 20, it rescans the line and uses |
| IFLAG as a single-precision variable. |
|   |
|   10  DEFINT I |
|   20  PRINT IFLAG |
|   30  DEFSNG I |
|   40  GOTO 20 |
|   |
| In contrast, QuickBASIC scans the text only once; once a variable |
| appears in a program line, its type cannot be changed. |
|   |