Thema: Delphi Bin2Hex - Probleme

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Bin2Hex - Probleme

  Alt 23. Dez 2005, 14:19
Hallo Michael,

meinen wichtigsten Hinweis hast du einfach überlesen - call by reference ist notwendig, wenn du abschneiden willst. Beachte das var Schlüsselwort in der Signatur. Die lokalen Zwischenspeicher habe ich eliminiert und die nibble Berechnung als inline code aufgenommen.

Delphi-Quellcode:
const
  HEX_DIGITS: string = '123456789ABCDEF0';

procedure myhex2bin(var data; var hex: string; const size: integer);
var
  bin: PByte;
  i: integer;
begin
  bin := @data;
  for i := 1 to size do // Length(hex) durch size ersetzt
  begin
    bin^ := (Pos(hex[Pred(i shl 1)], HEX_DIGITS) mod 16) shl 4
          + (Pos(hex[i shl 1], HEX_DIGITS) mod 16);
    Inc(bin);
  end;
  Delete(hex, 1, size shl 1);
end;
Grüße vom marabu


EDIT: Sorry - die Schleife muss natürlich bei size terminieren.
  Mit Zitat antworten Zitat