home *** CD-ROM | disk | FTP | other *** search
- (*--------------------------------------------------------*)
- (* UTILITY.PAS *)
- (* Nützliche Hilfsroutinen *)
- (* Turbo Pascal Versionen 4.0 und 5.x *)
- (* Copyright (c) 1989 Karsten Gieselmann & TOOLBOX *)
- (*--------------------------------------------------------*)
-
- {$R-,S-} (* Keine Bereichs- oder Stacküberlauf-Prüfung *)
-
- UNIT Utility;
-
- INTERFACE
-
- FUNCTION HexB(B : BYTE) : STRING;
- (* Darstellung eines Dezimalbyte als Hexadezimal-String *)
-
- FUNCTION HexW(W : WORD) : STRING;
- (* Darstellung eines Dezimalwort als Hexadezimal-String *)
-
- FUNCTION VersionStr(Major, Minor : BYTE) : STRING;
- (* liefert Major.Minor-Versionsnummer als Zeichenkette *)
-
- PROCEDURE StartUp(Message : STRING);
- (* Ausgabe von Startmeldung/Copyright zu Programmanfang *)
-
- PROCEDURE FatalError(Message : STRING);
- (* Ausgabe einer Fehlermeldung und Programmabbruch *)
-
- (* ------------------------------------------------------ *)
-
- IMPLEMENTATION
-
- CONST
- Digits : ARRAY[0..15] OF CHAR = '0123456789ABCDEF';
-
- FUNCTION HexB(B : BYTE) : STRING;
- VAR
- S : String[2];
- BEGIN
- S[0] := #2;
- S[1] := Digits[B SHR $04];
- S[2] := Digits[B AND $0F];
- HexB := S;
- END;
-
- FUNCTION HexW(W : WORD) : STRING;
- VAR
- S : String[4];
- BEGIN
- S[0] := #4;
- S[1] := Digits[Hi(W) SHR $04];
- S[2] := Digits[Hi(W) AND $0F];
- S[3] := Digits[Lo(W) SHR $04];
- S[4] := Digits[Lo(W) AND $0F];
- HexW := S;
- END;
-
- FUNCTION VersionStr(Major, Minor : BYTE) : STRING;
- VAR
- Hi, Lo : STRING[3];
- BEGIN
- Str(Major, Hi); Str(Minor, Lo);
- IF Minor < 10 THEN
- VersionStr := Hi+'.0'+Lo
- ELSE
- VersionStr := Hi+'.'+Lo;
- END;
-
- PROCEDURE StartUp(Message : STRING);
- BEGIN
- WriteLn;
- WriteLn(Message);
- WriteLn('Copyright (c) 1989 K.Gieselmann & Toolbox');
- WriteLn;
- END;
-
- PROCEDURE FatalError(Message : STRING);
- BEGIN
- WriteLn(Message);
- Halt(255);
- END;
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von UTILITY.PAS *)