Directives
DEF CVS/DTE/LCS/UCS Define System Table s
   
Formats 1. Define Accent Conversion: DEF CVS(new_table$)
 
2. Define Date Table: DEF DTE(new_table$)
 
3. Define Lowercase Table: DEF LCS(new_table$)
 
4. Define Uppercase Table: DEF UCS(new_table$)

5. Define Separators Table: DEF SEP(new_table$)

6. Define Printable character Table: DEF CHR(new_table$)
 
Where:

  new_table$ String expression. Contains the new definition (contents) of the table.
   
Description Use these DEF directives to define new system tables for Accent Conversion, Date, Lowercase and Uppercase.
   
See Also
CVS( ) Function, DTE( ) Function,
LCS( ) Function, UCS( ) Function,
SEP( ) Function, CHR( ) Function
   
Format 1 Define Accent Translation Table
Use the DEF CVS directive to set the values for the accent conversion table. The value of each byte to be translated is used as an offset into the table. The character at the particular offset is used in place of the original character. For more information, refer to the "T" option under Key Definition Attributes and the CVS( ) Function.
   
Format 2 Define Date Table
 
The DEF DTE directive uses a string made up of 46 comma-delimited fields. These fields are used by the DTE function and should have the following values:
 
    Number of      
    Fields Field Contents    
    12 Long form month names (%Ml)    
    7 Long form day names (%Dl)    
    2 Long form lower-case am/pm (%pl)    
    2 Long form upper-case AM/PM (%Pl)    
    12 Short form month names (%Ms)    
    7 Short form day names (%Ds)    
    2 Short form lower-case am/pm (%ps)    
    2 Short form upper-case AM/PM (%Ps)    
   
Formats 3 and 4 Define Lowercase and Uppercase Tables
 
The DEF LCS and DEF UCS directives both take a 256 character string and replace the standard case conversion table with the string's value. Whenever ProvideX converts the case of a character, it uses the character's binary value as an offset into the tables.


*Warning* Be careful when changing the UCS conversion table because the ProvideX compiler uses this table to convert keywords to upper case before scanning its syntax tables. If you define an incorrect table, you may be unable to enter any subsequent commands in ProvideX. See the list of Reserved Words .


Format 5 Define Separator table
+PxPlus Exclusive

Use the DEF SEP(<string>) directive to define a list of potential field separators. For example, DEF SEP($8A0A$) tells the system to accept either an $8A$ or $0A$ as the field separator. When issuing the DEF SEP directive the first character will become the system DEFAULT field separator.

Only ONE separator can be used at a time when parsing the data. That is when the data is processed in READ DATA FROM directive; it is first scanned to determine which, if any, of the field separator characters exist in the data. This scan is done initially with the first character in the separator list and if not found in the data, the second character is checked and so on.

The currently defined field separators can be retrieved by accessing SEP(*).

   
Format 6 Define Printable character table
+PxPlus Exclusive

This option allows the user to define which characters are "Printable" for use with the CVS ( ) function value 16.

To define which characters are "printable" the programmer can issue a DEF CHR(<string>) directive passing a string of 256 bytes. Each byte must be a $00$ or $01$ where $01$ indicates a printable character and $00$ indicates non-printable.

The current table of printable characters can be found by accessing CHR(*).