home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / os2apipm.zip / OS2API / BUILTIN.ADS < prev    next >
Text File  |  1996-08-22  |  5KB  |  93 lines

  1.  
  2. -- ╔═══════════════════════════════════════════════════════════════════╗
  3. -- ║       D E S I G N   E N G I N E R I N G              ║D║S║        ║
  4. -- ║            S O F T W A R E                           ╚═╩═╝        ║
  5. -- ║                                                                   ║
  6. -- ║        Package   BUILTIN                                          ║
  7. -- ║          Common package for working with string                   ║
  8. -- ║        Author :  Leonid Dulman     1995                           ║
  9. -- ║                                                                   ║
  10. -- ╚═══════════════════════════════════════════════════════════════════╝
  11. package  BUILTIN is
  12. varing_max:integer:=255;
  13.  
  14. type VARING(len:integer:=varing_max) is record
  15. len_str:integer:=0; -- range 0..varing_max:=0;
  16. cnt_str:string(1..len);
  17. end                    record;
  18.  
  19. function date_means return string;  --  dd.mm.yy
  20. function time_means return string;  --  hh:mm:cc
  21. -- ┌────────────────────────────────────────────────────────┐
  22. -- │      functions and  procedures                         │
  23. -- │       for string operations                            │
  24. -- └────────────────────────────────────────────────────────┘
  25. procedure put_edit(s:string;a:float;pos:integer:=7); -- print
  26. procedure put_edit(s:string;a:integer;pos:integer:=4); -- print
  27. function comp_str(s1,s2:in string)return boolean;--Compare string
  28. function get_i(s:in string)     return integer;--Read number
  29. function get_f(s:in string)     return float  ;
  30. function put_i(item:in integer;pos:integer:=6) return string ;--Write number
  31. function put_e(item:in float;pos:integer:=8 ) return string ;
  32. function put_f(item:in float;pos:integer:=8 ) return string ;
  33. function substr(s:in string;pos:integer:=1;len:integer)return string;
  34. function left  (s:in string;pos:integer          )return string;
  35. function right (s:in string;pos:integer:=1)return string;
  36. function var_len(s:in string)return integer;     -- Length until blank
  37. function index(s:in string;ss:string)return integer;     -- Dispos   substring in string
  38. function index(s:in string;ss:character)return integer;  --
  39. function verify(s:in string;ss:string;pos:integer:=1)return integer;  --
  40. procedure clean(s:in out string);                -- Transfer blanks to end
  41. procedure overlay(s:in out string;pos:integer;ss:string); -- string overlay
  42. procedure overlay(s:in out string;pos:integer;ss:character);
  43. procedure translate(s:in out string;change,map:string);
  44. procedure ctext(s:in out string); -- centr text
  45. procedure upper_low(s:in out string;uplow:character:='u'); -- Upper - Low
  46. -- ┌────────────────────────────────────────────────────────┐
  47. -- │      functions and  procedures                         │
  48. -- │       for varing operations                            │
  49. -- └────────────────────────────────────────────────────────┘
  50. procedure put(s:varing; pos:integer); -- string output
  51. function comp_str(s1,s2:in varing)return boolean;--compare string
  52. function substr(s:in varing;pos:integer:=1;len:integer)return varing;
  53. function substr(s:in varing;pos:integer:=1;len:integer)return string;
  54. function left  (s:in varing;pos:integer          )return varing;
  55. function right (s:in varing;pos:integer:=1)return varing;
  56. function left  (s:in varing;pos:integer          )return string;
  57. function right (s:in varing;pos:integer:=1)return string;
  58. function get_i(s:in varing)     return integer; --Read number
  59. function get_f(s:in varing)     return float  ;
  60. function put_i(item:in integer;pos:integer:=6) return varing ;--Write nuber
  61. function put_e(item:in float;pos:integer:=8 ) return varing ;
  62. function put_f(item:in float;pos:integer:=8 ) return varing ;
  63. function var_len(s:in varing)return integer;     -- Length until blak in end
  64. function index(s:in varing;ss:string)return integer;
  65. function verify(s:in varing;ss:string;pos:integer:=1)return integer;
  66. function index(s:in varing;ss:character)return integer;
  67. function "&" (s1,s2:varing) return varing;
  68. procedure clean(s:in out varing);                -- Clear begining blanks
  69. procedure overlay(s:in out varing;pos:integer;ss:varing); -- String overlay
  70. procedure overlay(s:in out varing;pos:integer;ss:string);
  71. procedure overlay(s:in out varing;pos:integer;ss:character);
  72. procedure translate(s:in out varing;change,map:string);
  73. procedure null_len (s:in out varing) ;
  74.  
  75. -- Input stream string until separator
  76. procedure  begent(s:in out varing;pictend:character;err:in out boolean) ;
  77. procedure helpstr(str:varing;kl:in out integer;
  78.                   err:out boolean; strend:character:=';');
  79.  
  80. procedure upper_low(s:in out varing;uplow:character:='u');
  81. -- ┌────────────────────────────────────────────────────────┐
  82. -- │              functions                                 │
  83. -- │     for integer and float  operations                  │
  84. -- └────────────────────────────────────────────────────────┘
  85. function min(x,y:float) return float;
  86. function max(x,y:float) return float;
  87. function min(x,y:integer) return integer;
  88. function max(x,y:integer) return integer;
  89. function sign(x:integer) return integer;
  90. function sign(x:float) return integer;
  91. -----------------------------------------------------------------------
  92. end BUILTIN;
  93.