home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / cddk9605.zip / HEADERS.ARJ / TYPES.INT < prev    next >
Text File  |  1996-05-17  |  4KB  |  132 lines

  1.  
  2. { ───────────────────────────────────────────────────────────────────────── }
  3. {  Name        : TYPES.PAS                                                  }
  4. {  Description : Predefined variable types for SCRIPTS.PAS                  }
  5. {  Warning     : Expect a full rewrite of this unit soon.                   }
  6. { ───────────────────────────────────────────────────────────────────────── }
  7.  
  8. UNIT Types;
  9.  
  10. {$B-} { . . . . . . . . . . . . . . . . . . . . Shortcut boolean evaluation }
  11. {$F+} { . . . . . . . . . . . . . . . . . . . .  Force far calls for safety }
  12. {$I-} { . . . . . . . . . . . . . . . . . . . Disable input/output checking }
  13. {$O+} { . . . . . . . . . . . . . . . . . . Allow this unit to be overlayed }
  14. {$Q-} { . . . . . . . . . . . . . .  Do not generate overflow-checking code }
  15. {$R-} { . . . . . . . . . . . . . . . . Do not generate range-checking code }
  16. {$S-} { . . . . . . . . . . . . . . . . Do not generate stack-checking code }
  17. {$X+} { . . . . . . . . . . . Extended syntax for pChars and function calls }
  18.  
  19. INTERFACE
  20.  
  21. USES
  22.   Scripts;
  23.  
  24. TYPE
  25.  
  26.   VarBoolean = OBJECT(tVariable)
  27.     BooStrs : ARRAY[False..True] OF STRING[30];
  28.     CONSTRUCTOR Init(p:pChar; Addr:Pointer);
  29.     PROCEDURE Assign(p:pChar); VIRTUAL;
  30.     FUNCTION  Obtain:STRING; VIRTUAL;
  31.     END;
  32.  
  33.   pVarBoolean = ^VarBoolean;
  34.  
  35.   VarByte = OBJECT(tVariable)
  36.     PROCEDURE Assign(p:pChar); VIRTUAL;
  37.     FUNCTION Obtain:STRING; VIRTUAL;
  38.     END;
  39.  
  40.   pVarByte = ^VarByte;
  41.  
  42.   VarChar = OBJECT(tVariable)
  43.     PROCEDURE Assign(p:pChar); VIRTUAL;
  44.     FUNCTION  Obtain:STRING; VIRTUAL;
  45.     END;
  46.  
  47.   pVarChar = ^VarChar;
  48.  
  49.   VarDynamic = OBJECT(tVariable)
  50.     DoNotDispose : Boolean;
  51.     PROCEDURE Assign(p:pChar); VIRTUAL;
  52.     FUNCTION  Obtain:STRING; VIRTUAL;
  53.     DESTRUCTOR Done; VIRTUAL;
  54.     END;
  55.  
  56.   pVarDynamic = ^VarDynamic;
  57.  
  58.   VarLongInt = OBJECT(tVariable)
  59.     PROCEDURE Assign(p:pChar); VIRTUAL;
  60.     FUNCTION  Obtain:STRING; VIRTUAL;
  61.     END;
  62.  
  63.   pVarLongInt = ^VarLongInt;
  64.  
  65.   VarTPString = OBJECT(tVariable)
  66.     MaxLen : Byte;
  67.     CONSTRUCTOR Init(p:pChar; Addr:Pointer; Sz:Byte);
  68.     PROCEDURE Assign(p:pChar); VIRTUAL;
  69.     FUNCTION Obtain:STRING; VIRTUAL;
  70.     END;
  71.  
  72.   pVarTPString = ^VarTPString;
  73.  
  74.   VarString = OBJECT(tVariable)
  75.     MaxLen : Word;
  76.     CONSTRUCTOR Init(p:pChar; Addr:Pointer; Sz:Byte);
  77.     PROCEDURE Assign(p:pChar); VIRTUAL;
  78.     FUNCTION  Obtain:STRING; VIRTUAL;
  79.     END;
  80.  
  81.   pVarString = ^VarString;
  82.  
  83.   VarWord = OBJECT(tVariable)
  84.     PROCEDURE Assign(p:pChar); VIRTUAL;
  85.     FUNCTION  Obtain:STRING; VIRTUAL;
  86.     END;
  87.  
  88.   pVarWord = ^VarWord;
  89.  
  90.   VarDirectory = OBJECT(VarDynamic)
  91.     PROCEDURE Assign(p:pChar); VIRTUAL;
  92.     DESTRUCTOR Done; VIRTUAL;
  93.     END;
  94.  
  95.   pVarDirectory = ^VarDirectory;
  96.  
  97.  
  98. PROCEDURE RegisterBoolean(Name:pChar; Addr:Pointer);
  99. PROCEDURE RegisterByte(Name:pChar; Addr:Pointer);
  100. PROCEDURE RegisterChar(Name:pChar; Addr:Pointer);
  101.   { Self-explanatory }
  102.  
  103. PROCEDURE RegisterDirectory(Name:pChar; Addr:Pointer);
  104.   { Registers a pChar holding a directory name.  The object makes sure that
  105.     the string always contains a terminating slash character (/).  The string
  106.     is automatically disposed upon termination of the door. }
  107.  
  108.  
  109. PROCEDURE RegisterDynamic(Name:pChar; Addr:Pointer);
  110. PROCEDURE RegisterDynamicNoDispose(Name:pChar; Addr:Pointer);
  111.   { These two units register pChars with Concerto.  The first procedure
  112.     automatically disposes the string upon termination of the door or
  113.     variable.  Strings can be any size.
  114.  
  115.     SEE: RegisterString NOW! }
  116.  
  117.  
  118. PROCEDURE RegisterLongInt(Name:pChar; Addr:Pointer);
  119. PROCEDURE RegisterString(Name:pChar; Addr:Pointer; Len:Byte);
  120.   { Like RegisterDynamic***, but any strings assigned to the
  121.     variable are restricted to the specified length.  The string
  122.     IS NOT disposed upon termination. }
  123.  
  124.  
  125. PROCEDURE RegisterTPString(Name:pChar; Addr:Pointer; Len:Byte);
  126.   { Registers a Turbo Pascal string.  Len contains the maximum length. }
  127.  
  128. PROCEDURE RegisterWord(Name:pChar; Addr:Pointer);
  129.   { Self-explanatory }
  130.  
  131.  
  132.