Hallo Qnkel,
die folgenden Routinen erwarten/liefern den Hex-Wert in einem Byte und die Dualzahl in einem String:
Delphi-Quellcode:
function ByteToDual (aValue: Byte): string;
var i: integer;
begin
SetLength (Result, 8);
for i := 0 to 7 do
Result[8 - i] := Char(48 + ((aValue shr i) and 1));
end;
function DualToByte (const aValue: string): Byte;
var i: integer;
begin
Result := 0;
for i := 1 to Length(aValue) do
Result := 2 * Result + Ord(aValue[i] = '1');
end;
Aufruf z.B. mit:
Delphi-Quellcode:
s := ByteToDual($03);
b := DualToByte('00010011');
Gruß Hawkeye