home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 November / Chip_2002-11_cd1.bin / zkuste / delphi / kompon / d456 / CAJSCRPT.ZIP / ifps3 / ifps3lib_std.pas < prev    next >
Pascal/Delphi Source File  |  2002-07-04  |  6KB  |  134 lines

  1. unit ifps3lib_std;
  2. {
  3.  
  4. Innerfuse Pascal Script III
  5. Copyright (C) 2000-2002 by Carlo Kok (ck@carlo-kok.com)
  6.  
  7. }
  8. {$I ifps3_def.inc}
  9. interface
  10. uses
  11.   ifps3utl, ifpscomp;
  12.  
  13. {
  14.   In your Compilers OnUses proc:
  15.   RegisterStandardLibrary_C registers the standard library.
  16.  
  17. function floattostr(e: extended): string;
  18. function inttostr(i: Longint): string;
  19. function strtoint(s: string): Longint;
  20. function strtointdef(s: string; def: Longint): Longint;
  21. function copy(s: string; ifrom, icount: Longint): string;
  22. function pos(substr, s: string): Longint;
  23. procedure delete(var s: string; ifrom, icount: Longint): string;
  24. procedure insert(s: string; var s2: string; ipos: Longint): string;
  25. function getarraylength(var v: array): Integer;
  26. procedure setarraylength(var v: array; i: Integer);
  27.  
  28. Function StrGet(var S : String; I : Integer) : Char;
  29. procedure StrSet(c : Char; I : Integer; var s : String);
  30. Function Uppercase(s : string) : string;
  31. Function Lowercase(s : string) : string;
  32. Function Trim(s : string) : string;
  33. Function Length(s : String) : Longint;
  34. procedure SetLength(var S: String; L: Longint);
  35. Function Sin(e : Extended) : Extended;
  36. Function Cos(e : Extended) : Extended;
  37. Function Sqrt(e : Extended) : Extended;
  38. Function Round(e : Extended) : Longint;
  39. Function Trunc(e : Extended) : Longint;
  40. Function Int(e : Extended) : Longint;
  41. Function Pi : Extended;
  42. Function Abs(e : Extended) : Extended;
  43. function StrToFloat(s: string): Extended;
  44. Function FloatToStr(e : Extended) : String;
  45. Function Padl(s : string;I : longInt) : string;
  46. Function Padr(s : string;I : longInt) : string;
  47. Function Padz(s : string;I : longInt) : string;
  48. Function Replicate(c : char;I : longInt) : string;
  49. Function StringOfChar(c : char;I : longInt) : string;
  50.  
  51. type
  52.   TVarType = (vtNull, vtString, vtU64, vtS32, vtU32, vtS16, vtU16, vtS8, vtU8, vtSingle, vtDouble, vtExtended, vtResourcePointer, vtArray, vtRecord);
  53. function VarGetType(x: Variant): TVarType;
  54. function Null: Variant;
  55.  
  56. type
  57.   TIFException = (ErNoError, erCannotImport, erInvalidType, ErInternalError,
  58.     erInvalidHeader, erInvalidOpcode, erInvalidOpcodeParameter, erNoMainProc,
  59.     erOutOfGlobalVarsRange, erOutOfProcRange, ErOutOfRange, erOutOfStackRange,
  60.     ErTypeMismatch, erUnexpectedEof, erVersionError, ErDivideByZero, ErMathError,
  61.     erCouldNotCallProc, erOutofRecordRange, erOutOfMemory, erException,
  62.     erNullPointerException, erNullVariantError, erCustomError);
  63.  
  64.  
  65. procedure RaiseLastException;
  66. procedure RaiseException(Ex: TIFException; Param: string);
  67. function ExceptionType: TIFException;
  68. function ExceptionParam: string;
  69. function ExceptionProc: Cardinal;
  70. function ExceptionPos: Cardinal;
  71. function ExceptionToString(er: TIFException; Param: string): string;
  72. }
  73. procedure RegisterStandardLibrary_C(S: TIFPSPascalCompiler);
  74.  
  75. implementation
  76.  
  77. procedure RegisterStandardLibrary_C(S: TIFPSPascalCompiler);
  78. var
  79.   p: PIFPSRegProc;
  80. begin
  81.   s.AddFunction('function inttostr(i: Longint): string;');
  82.   s.AddFunction('function strtoint(s: string): Longint;');
  83.   s.AddFunction('function strtointdef(s: string; def: Longint): Longint;');
  84.   s.AddFunction('function copy(s: string; ifrom, icount: Longint): string;');
  85.   s.AddFunction('function pos(substr, s: string): Longint;');
  86.   s.AddFunction('procedure delete(var s: string; ifrom, icount: Longint): string;');
  87.   s.AddFunction('procedure insert(s: string; var s2: string; ipos: Longint): string;');
  88.   p := s.Addfunction('function getarraylength: integer;');
  89.   p^.Decl := p^.Decl + ' !V -1';
  90.   p := s.Addfunction('procedure setarraylength;');
  91.   p^.Decl := p^.Decl + ' !V -1 @LENGTH '+IntToStr(Longint(s.FindType('INTEGER')));
  92.   s.AddFunction('Function StrGet(var S : String; I : Integer) : Char;');
  93.   s.AddFunction('procedure StrSet(c : Char; I : Integer; var s : String);');
  94.   s.AddFunction('Function Uppercase(s : string) : string;');
  95.   s.AddFunction('Function Lowercase(s : string) : string;');
  96.   s.AddFunction('Function Trim(s : string) : string;');
  97.   s.AddFunction('Function Length(s : String) : Longint;');
  98.   s.AddFunction('procedure SetLength(var S: String; L: Longint);');
  99.   s.AddFunction('Function Sin(e : Extended) : Extended;');
  100.   s.AddFunction('Function Cos(e : Extended) : Extended;');
  101.   s.AddFunction('Function Sqrt(e : Extended) : Extended;');
  102.   s.AddFunction('Function Round(e : Extended) : Longint;');
  103.   s.AddFunction('Function Trunc(e : Extended) : Longint;');
  104.   s.AddFunction('Function Int(e : Extended) : Longint;');
  105.   s.AddFunction('Function Pi : Extended;');
  106.   s.AddFunction('Function Abs(e : Extended) : Extended;');
  107.   s.AddFunction('function StrToFloat(s: string): Extended;');
  108.   s.AddFunction('Function FloatToStr(e : Extended) : String;');
  109.   s.AddFunction('Function Padl(s : string;I : longInt) : string;');
  110.   s.AddFunction('Function Padr(s : string;I : longInt) : string;');
  111.   s.AddFunction('Function Padz(s : string;I : longInt) : string;');
  112.   s.AddFunction('Function Replicate(c : char;I : longInt) : string;');
  113.   s.AddFunction('Function StringOfChar(c : char;I : longInt) : string;');
  114.   s.AddTypeS('TVarType', '(vtNull, vtString, vtU64, vtS32, vtU32, vtS16, vtU16, vtS8, vtU8, vtSingle, vtDouble, vtExtended, vtResourcePointer, vtArray, vtRecord)');
  115.   S.AddFunction('function VarGetType(x: Variant): TVarType;');
  116.   s.AddFunction('function Null: Variant;');
  117.  
  118.   s.addTypeS('TIFException', '(ErNoError, erCannotImport, erInvalidType, ErInternalError, erInvalidHeader, erInvalidOpcode, erInvalidOpcodeParameter, erNoMainProc, erOutOfGlobalVarsRange, erOutOfProcRange, ErOutOfRange, erOutOfStackRange, '+
  119.     'ErTypeMismatch, erUnexpectedEof, erVersionError, ErDivideByZero, ErMathError,erCouldNotCallProc, erOutofRecordRange, erOutOfMemory, erException, erNullPointerException, erNullVariantError, erCustomError)');
  120.  
  121.   s.AddFunction('procedure RaiseLastException;');
  122.   s.AddFunction('procedure RaiseException(Ex: TIFException; Param: string);');
  123.   s.AddFunction('function ExceptionType: TIFException;');
  124.   s.AddFunction('function ExceptionParam: string;');
  125.   s.AddFunction('function ExceptionProc: Cardinal;');
  126.   s.AddFunction('function ExceptionPos: Cardinal;');
  127.   s.Addfunction('function ExceptionToString(er: TIFException; Param: string): string;');
  128.  
  129.  
  130. end;
  131.  
  132.  
  133. end.
  134.