home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Str.def < prev    next >
Text File  |  1994-05-25  |  7KB  |  218 lines

  1. |##########|
  2. |#MAGIC   #|CLABLJCG
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. |==============================================================================|
  11. | Modul      : Str                                                             |
  12. | Autor      : Thomas Pfrengle + Ulrich Sigmund                                |
  13. | Datum      : 14.9.1991                                                       |
  14. | Verwendung : Bearbeitung von ClusterStrings ohne Laufzeitchecks.             |
  15. | Änderungen : -                                                               |
  16. |==============================================================================|
  17.  
  18. DEFINITION MODULE Str;
  19.  
  20. FROM System     IMPORT Regs,Equation;
  21. FROM Exceptions IMPORT RangeViolation;
  22.  
  23. | A c h t u n g ! ! ! ! ! ! !
  24. | Keine der Prozeduren in Str führt einen Bereichs-Check aus.
  25. | Sie sind dafür besonders schnell. Also nur benutzen, wenn sicher
  26. | ist, daß der String, der verwendet wird groß genug ist;
  27. | sonst die Prozeduren aus Strings benutzen.
  28.  
  29.  
  30.  
  31. (*=================== Caps-Funktions =========================================*)
  32.  
  33. TYPE
  34.   CapsArr  = ARRAY CHAR OF CHAR;
  35.  
  36. CONST
  37.   CAP      = CapsArr;  | CAP[c] ergibt c als großen Buchstaben CAP["a"]="A"
  38.   LOW      = CapsArr;  | LOW[c] ergibt c als kleinen Buchstaben LOW["A"]="a"
  39.  
  40. |
  41. | Funktion  : Verwandelt alle Zeichen eines Strings in Kleinbuchstaben.
  42. | Parameter : str         <- String, der verwandelt werden soll.
  43. |
  44. | tested
  45. PROCEDURE LowerString(VAR str IN A0 : STRING);
  46.  
  47.  
  48. |
  49. | Funktion  : Verwandelt alle Zeichen eines Strings in Großbuchstaben.
  50. | Parameter : str         <- String, der verwandelt werden soll.
  51. |
  52. |tested
  53. PROCEDURE CapsString(VAR str IN A0 : STRING);
  54.  
  55.  
  56. (*================ Compare ===================================================*)
  57.  
  58. |
  59. | Funktion  : Prüft zwei Strings auf Gleichheit.
  60. | Parameter : str1,str2   <- String, die verglichen werden sollen.
  61. |                         -> TRUE wenn gleich.
  62. |
  63. |tested
  64. PROCEDURE Equal(REF str1 IN A0,
  65.                     str2 IN A1 : STRING): BOOLEAN;
  66.  
  67. |
  68. | Funktion  : Wie Equal, jedoch ohne Beachtung der Groß/Kleinschreibung (a=A)
  69. |
  70. | tested
  71. PROCEDURE CapsEqual(REF str1 IN A0,
  72.                         str2 IN A1 : STRING):BOOLEAN;
  73.  
  74.  
  75. |
  76. | Funktion  : Prüft ob str1 größer als str2 ist.
  77. | Parameter : str1,str2   <- String, die verglichen werden sollen.
  78. |                         -> TRUE wenn str1 größer str2.
  79. |
  80. | tested
  81. PROCEDURE Greater(REF str1 IN A0,
  82.                       str2 IN A1 : STRING):BOOLEAN;
  83.  
  84.  
  85. |
  86. | Funktion  : Prüft ob str1 größer als str2 ist. Ohne Berücksichtigung der
  87. |             Groß/Kleinschreibung.
  88. | Parameter : str1,str2   <- String, die verglichen werden sollen.
  89. |                         -> TRUE wenn str1 größer str2.
  90. |
  91. | tested
  92. PROCEDURE CapsGreater(REF str1 IN A0,
  93.                           str2 IN A1 : STRING):BOOLEAN;
  94.  
  95.  
  96. |
  97. | Funktion  : Vergleicht zwei Strings.
  98. | Parameter : str1,str2   <- Strings, die verglichen werden sollen.
  99. |                         -> smaller = str1 kleiner str2
  100. |                            equal   = str1 gleich  str2
  101. |                            greater = str1 größer  str2
  102. |
  103. | tested
  104. PROCEDURE Compare(REF str1 IN A0,
  105.                       str2 IN A1 : STRING):Equation;
  106.  
  107.  
  108. (*=============== Search =====================================================*)
  109.  
  110.  
  111. |
  112. | Funktion  : Sucht nach dem ersten Auftreten eines Zeichens.
  113. | Parameter : str  <- String in dem gesucht werden soll.
  114. |             ch   <- Zeichen, das gesucht werden soll.
  115. |                  -> Position des gesuchten Zeichens.
  116. | Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben.
  117. |
  118. | tested
  119. PROCEDURE First(REF str IN A0 : STRING;
  120.                     ch  IN D2 : CHAR):INTEGER;
  121.  
  122.  
  123. |
  124. | Funktion  : Sucht nach dem letzten Auftreten eines Zeichens
  125. | Parameter : str  <- String in dem gesucht werden soll.
  126. |             ch   <- Zeichen, das gesucht werden soll.
  127. |                  -> Position des gesuchten Zeichens.
  128. | Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben.
  129. |
  130. | tested
  131. PROCEDURE Last(REF str IN A0 : STRING;
  132.                    ch  IN D2 : CHAR):INTEGER;
  133.  
  134.  
  135. |
  136. | Funktion  : Sucht nach dem ersten Auftreten eines Strings in einem anderen
  137. | Parameter : find <- String, der gesucht werden soll.
  138. |             in   <- String, in dem gesucht werden soll.
  139. |                  -> Position des gesuchten Strings.
  140. | Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben.
  141. |
  142. | tested
  143. PROCEDURE Search(REF find IN A0,
  144.                      in   IN A1 : STRING):INTEGER;
  145.  
  146.  
  147. (*================= Modify ===================================================*)
  148.  
  149. |
  150. | Funktion  : Kopiert aus einem String ein Stück heraus.
  151. | Parameter : str   <- QuellString
  152. |             pos   <- Position ab der kopiert werden soll.
  153. |             len   <- Länge des Berichs, der kopiert werden soll.
  154. |             segment -> kopierter Bereich.
  155. |
  156. | tested
  157. PROCEDURE Seg(REF str     IN A0 : STRING;
  158.                   pos     IN D2,
  159.                   len     IN D3 : INTEGER;
  160.               VAR segment IN A1 : STRING);
  161.  
  162.  
  163. |
  164. | Funktion  : Fügt in einen String ein Stück ein.
  165. | Parameter : dest    <- String in den Eingefügt werden soll.
  166. |             source  <- String der eingefügt werden soll.
  167. |             pos     <- Position, ab der eingefügt werden soll.
  168. |
  169. | tested
  170. PROCEDURE Insert(REF str    IN A0 : STRING;
  171.                  VAR into   IN A1 : STRING;
  172.                      pos    IN D2 : INTEGER);
  173.  
  174.  
  175. |
  176. | Funktion  : Ersetzt einen Teil eines Strings durch einen anderen.
  177. | Parameter : str   <- String durch den ein Teil von Str ersetzt werden soll.
  178. |             into  <- String in den ein Teil eingesetzt werden soll.
  179. |             pos   <- Position, ab der ersetzt werden soll.
  180. | Bemerkung : Paßt Into nicht in str, bleibt str unverändert.
  181. |
  182. | tested
  183. PROCEDURE Replace(REF str   IN A0 : STRING;
  184.                   VAR into  IN A1 : STRING;
  185.                       pos   IN D2 : INTEGER);
  186.  
  187.  
  188. |
  189. | Funktion  : Scheidet einen Teil des Strings heraus.
  190. | Parameter : str <- String aus dem ausgeschnitten werden soll.
  191. |             pos <- Position ab der geschnitten werden soll.
  192. |             len <- Länge des Stücke, das ausgeschnitten werden soll.
  193. |
  194. |tested
  195. PROCEDURE Delete(VAR str IN A0 : STRING;
  196.                      pos IN D2,
  197.                      len IN D3 : INTEGER);
  198.  
  199.  
  200. |
  201. | Funktion  : Fügt zwei Strings zusammen.
  202. | Parameter : dest        <- linker Teil des neuen Strings.
  203. |             source      <- rechter Teil des neuen Strings.
  204. |             dest        -> der aus Dest und Source zusammengesetzte neue
  205. |                            String.
  206. |
  207. | tested
  208. PROCEDURE Concat(VAR dest IN A0 : STRING;REF source IN A1 : STRING);
  209.  
  210.  
  211. GROUP
  212.   All  = Equation,CapsArr,CAP,LowerString,CapsString,Equal,CapsEqual,Greater,
  213.          Compare,Seg,First,Last,Search,Insert,Replace,Delete,Concat,
  214.          CapsGreater;
  215.  
  216.  
  217. END Str.
  218.