home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* TSTACK.MOD *)
- (* Testen des Moduls 'Stack' *)
- (* (C) 1991 Dieter Kreimann & TOOLBOX *)
- (*--------------------------------------------------------*)
- MODULE TStack;
-
- FROM SYSTEM IMPORT ADR;
- FROM InOut IMPORT WriteString, WriteLn, WriteHex;
- FROM RealInOut IMPORT WriteReal;
- FROM Strings IMPORT Length;
-
- IMPORT Stack;
-
- VAR
- testStack : Stack.tStack;
- str : ARRAY [0..29] OF CHAR;
- size, piHex : CARDINAL;
- pi : REAL;
-
- BEGIN
- Stack.Create(testStack);
- pi := 3.1416;
- WriteString('Real in den Stack: ');
- WriteReal(pi, 12); WriteLn();
- Stack.Push(testStack, SIZE(REAL), ADR(pi));
- str := 'Das begnadete HALLO WELT';
- WriteString('String in den Stack: ');
- WriteString(str); WriteLn();
- Stack.Push(testStack, Length(str), ADR(str));
- (* Damit's auch wirklich vom Stack ist: *)
- pi := 0.0; str := '';
- WriteString('Nachschauen: ');
- Stack.Peep(testStack, size, ADR(str));
- (* Wg. Typ ARRAY OF CHAR: *)
- IF size <= HIGH(str) THEN str[size] := 0C END;
- WriteString(str); WriteLn();
- str := '';
- WriteString('String vom Stack: ');
- Stack.Pop(testStack, size, ADR(str));
- (* Wg. Typ ARRAY OF CHAR: *)
- IF size <= HIGH(str) THEN str[size] := 0C END;
- WriteString(str); WriteLn();
- WriteString('Type Casting REAL-HEXCARD: ');
- Stack.Peep(testStack, size, ADR(piHex));
- WriteHex(piHex, 4); WriteLn();
- WriteString('Real vom Stack: ');
- Stack.Pop(testStack, size, ADR(pi));
- WriteReal(pi, 12);
- Stack.Delete(testStack);
- END TStack.
- (* ------------------------------------------------------ *)
- (* Ende von TSTACK.MOD *)