DEFINITION MODULE Strings; (************************************************************************) (* *) (* Fr PD-Modula des LPR der TU Mnchen *) (* *) (* Eine Sammlung von Routinen zur Stringbearbeitung. Die Routinen sind *) (* kompatibel zu den in SPC-Modula verwendeten Stringroutinen. *) (* Autor: Thomas Paulsen *) (* R”hbarg 10 *) (* 2300 KIEL 14 *) (* *) (* Den (kommentierten) Sourcecode gibt's fr DM 15,- bei o. g. *) (* Adresse. *) (* *) (************************************************************************) CONST End = 0C; Equal = 0; Less = -1; Greater = 1; (************************************************************************) PROCEDURE Length (VAR Source: ARRAY OF CHAR): CARDINAL; (* Liefert die L„nge des bergebenen Srings zurck *) (************************************************************************) PROCEDURE Clear (VAR Destin: ARRAY OF CHAR); (* L”scht den bergebenen String *) (************************************************************************) PROCEDURE Assign (VAR Destin: ARRAY OF CHAR; Source: ARRAY OF CHAR); (* Kopiert den String Source in den String Destin *) (************************************************************************) PROCEDURE Concat ( Source1, Source2: ARRAY OF CHAR; VAR Destin: ARRAY OF CHAR); (* kopiert die Strings Source1 und Source2 in den String Destin *) (************************************************************************) PROCEDURE Insert ( Source: ARRAY OF CHAR; VAR Destin: ARRAY OF CHAR; At: CARDINAL); (* fgt den String Source an der Stelle At in den String Destin ein *) (************************************************************************) PROCEDURE Copy ( Source : ARRAY OF CHAR; From, For : CARDINAL; VAR Destin : ARRAY OF CHAR); (* kopiert For Zeichen ab der Stelle From uas dem String Source in den *) (* String Destin *) (************************************************************************) PROCEDURE Delete (VAR Destin: ARRAY OF CHAR; At, For: CARDINAL); (* l”scht For Zeichen ab der Stelle At aus dem String Destin *) (************************************************************************) PROCEDURE Pos ( Substr: ARRAY OF CHAR; String: ARRAY OF CHAR) : CARDINAL; (* wenn Substr in String enthalten ist, liefert Pos die Position des *) (* ersten Zeichens zurck, ansonsten MAX(CARDINAL) *) (************************************************************************) PROCEDURE Compare ( String1: ARRAY OF CHAR; String2: ARRAY OF CHAR): INTEGER; (* vergleicht die Strings miteinander. liefert 1, wenn String1 > *) (* String2, -1, wenn String1 < String2, und 0, wenn beide gleich *) (************************************************************************) PROCEDURE Pad ( VAR Destin: ARRAY OF CHAR; UpTo : CARDINAL; With : ARRAY OF CHAR); (* fllt den String Destin bis zur Position UpTo mit der Zeichenfolge *) (* With auf *) END Strings.