home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
MStr.def
< prev
next >
Wrap
Text File
|
1994-05-25
|
8KB
|
163 lines
|##########|
|#MAGIC #|CLABLLJH
|#PROJECT #|""
|#PATHS #|"StdProject"
|#FLAGS #|xx---x--x---xxx-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|xx---xxxxx------
|##########|
DEFINITION MODULE MStr;
(* $A- *)
FROM System IMPORT Regs;
TYPE
Equation = (smaller,equal,greater);
CapsArr = ARRAY CHAR OF CHAR;
CONST
CAP = CapsArr;
VAR
done : BOOLEAN; (* Fehleranzeige *)
PROCEDURE CapsString(VAR Str IN A0 : ARRAY OF CHAR);
(*----------------------------------------------------------------------------*)
(* Funktion : Prüft zwei Strings auf Gleichheit. *)
(* Parameter : Str1,Str2 <- String, die verglichen werden sollen. *)
(* -> TRUE wenn gleich. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Equal(REF Str1 IN A0,
Str2 IN A1 : ARRAY OF CHAR): BOOLEAN;
(*----------------------------------------------------------------------------*)
(* Funktion : Wie Equal, jedoch ohne Beachtung der Groß/Kleinschreibung (a=A)*)
(*----------------------------------------------------------------------------*)
PROCEDURE CapsEqual(REF Str1 IN A0,
Str2 IN A1 : ARRAY OF CHAR):BOOLEAN;
(*----------------------------------------------------------------------------*)
(* Funktion : Prüft ob Str1 größer als Str2 ist. *)
(* Parameter : Str1,Str2 <- String, die verglichen werden sollen. *)
(* -> TRUE wenn Str1 größer Str2. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Greater(REF Str1 IN A0,
Str2 IN A1 : ARRAY OF CHAR):BOOLEAN;
(*----------------------------------------------------------------------------*)
(* Funktion : Vergleicht zwei Strings. *)
(* Parameter : Str1,Str2 <- String, die verglichen werden sollen. *)
(* -> smaller = Str1 kleiner Str2 *)
(* equal = Str1 gleich Str2 *)
(* greater = Str1 größer Str2 *)
(*----------------------------------------------------------------------------*)
PROCEDURE Compare(REF Str1 IN A0,
Str2 IN A1 : ARRAY OF CHAR):Equation;
(*----------------------------------------------------------------------------*)
(* Funktion : Kopiert aus einem String ein Stück aus. *)
(* Parameter : Str <- QuellString *)
(* pos <- Position ab der kopiert werden soll. *)
(* len <- Länge des Berichs, der kopiert werden soll. *)
(* Segment -> kopierter Bereich. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Seg(REF Str IN A0 : ARRAY OF CHAR;
pos IN D2,
len IN D3 : INTEGER;
VAR Segment IN A1 : ARRAY OF CHAR);
(*----------------------------------------------------------------------------*)
(* Funktion : Sucht nach dem ersten Auftreten eines Zeichens. *)
(* Parameter : Str <- String in dem gesucht werden soll. *)
(* Ch <- Zeichen, das gesucht werden soll. *)
(* -> Position des gesuchten Zeichens. *)
(* Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben. *)
(*----------------------------------------------------------------------------*)
PROCEDURE First(REF Str IN A0 : ARRAY OF CHAR;Ch IN D2 : CHAR):INTEGER;
(*----------------------------------------------------------------------------*)
(* Funktion : Sucht nach dem letzten Auftreten eines Zeichens *)
(* Parameter : Str <- String in dem gesucht werden soll. *)
(* Ch <- Zeichen, das gesucht werden soll. *)
(* -> Position des gesuchten Zeichens. *)
(* Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Last(REF Str IN A0 : ARRAY OF CHAR;Ch IN D2 : CHAR):INTEGER;
(*----------------------------------------------------------------------------*)
(* Funktion : Sucht nach dem ersten Auftreten eines Strings in einem anderen *)
(* Parameter : Find <- String, der gesucht werden soll. *)
(* In <- String, in dem gesucht werden soll. *)
(* -> Position des gesuchten Strings. *)
(* Bemerkung : Wird das Zeichen nicht gefunden, wird -1 zurückgegeben. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Search(REF Find,In:ARRAY OF CHAR):INTEGER;
(*----------------------------------------------------------------------------*)
(* Funktion : Fügt in einen String ein Stück ein. *)
(* Parameter : Dest <- String in den Eingefügt werden soll. *)
(* Source <- String der eingefügt werden soll. *)
(* pos <- Position, ab der eingefügt werden soll. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Insert(VAR Dest : ARRAY OF CHAR;
REF Source : ARRAY OF CHAR;pos : INTEGER);
(*----------------------------------------------------------------------------*)
(* Funktion : Ersetzt einen Teil eines Strings durch einen anderen. *)
(* Parameter : Str <- Str. durch den ein Teil von Into ersetzt werden soll. *)
(* Into <- String in den ein Teil eingesetzt werden soll. *)
(* pos <- Position, ab der ersetzt werden soll. *)
(* Bemerkung : Paßt Into nicht in Str, bleibt Str unverändert. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Replace(REF Str : ARRAY OF CHAR;
VAR Into : ARRAY OF CHAR;pos : INTEGER);
(*----------------------------------------------------------------------------*)
(* Funktion : Scheidet einen Teil des Strings heraus. *)
(* Parameter : Str <- String aus dem ausgeschnitten werden soll. *)
(* pos <- Position ab der geschnitten werden soll. *)
(* len <- Länge des Stücke, das ausgeschnitten werden soll. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Delete(VAR Str IN A0 : ARRAY OF CHAR;pos IN D2,len IN D3 : INTEGER);
(*----------------------------------------------------------------------------*)
(* Funktion : Fügt zwei Strings zusammen. *)
(* Parameter : Dest <- linker Teil des neuen Strings. *)
(* Source <- rechter Teil des neuen Strings. *)
(* Dest -> der aus Dest und Source zusammengesetzte neue *)
(* String. *)
(*----------------------------------------------------------------------------*)
PROCEDURE Concat(VAR Dest IN A0 : ARRAY OF CHAR;
REF Source IN A1 : ARRAY OF CHAR);
(*----------------------------------------------------------------------------*)
(* Funktion : Ermittelt die Länge eines Modula-Strings *)
(* Parameter : Str <- String *)
(*----------------------------------------------------------------------------*)
PROCEDURE Length(REF Str IN A0 : ARRAY OF CHAR):INTEGER;
END MStr.