home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1990
/
04
/
algorith
/
utility.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1989-12-28
|
2KB
|
86 lines
(*--------------------------------------------------------*)
(* 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 *)