home *** CD-ROM | disk | FTP | other *** search
- {$A+,B-,D+,E-,F-,I+,L+,N-,O-,R-,S-,V-}
- {$M 16384,0,655360}
-
- UNIT BaseConv;
-
- INTERFACE
-
- FUNCTION HexF(x: LONGINT; a: BYTE): STRING;
- FUNCTION DezH(x: STRING): LONGINT;
-
- CONST
- Hex: STRING[16]= '0123456789ABCDEF';
- VAR
- BaseError: INTEGER;
-
- IMPLEMENTATION
-
- FUNCTION HexF(x: LONGINT; a: BYTE): STRING;
- BEGIN
- HexF := Hex[Succ(x DIV 16)] + Hex[Succ(x MOD 16)];
- BaseError := 0;
- IF x > 255 THEN BaseError := 1;
- IF x < 0 THEN BaseError := 2;
- END;
-
- FUNCTION DezH(x: STRING): LONGINT;
- VAR
- h, i: LONGINT;
- BEGIN
- h := 0;
- BaseError := 0;
- IF Length(x) > 2 THEN BaseError := 3;
- IF Length(x) > 1 THEN BEGIN
- h := Pos(UpCase(x[1]), Hex);
- IF h = 0 THEN BaseError := 4;
- h := Pred(h) * 16;
- END;
- IF Length(x) <> 0 THEN BEGIN
- i := Pos(UpCase(x[Length(x)]), Hex);
- IF i = 0 THEN BaseError := 4;
- h := Pred(h) + i;
- END;
- DezH := h;
- END;
-
- END.
-