Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Kann mir jemand diesen C++ Code in Delphi umwandeln?

  Alt 12. Jan 2004, 07:22
Es scheint ein Fehler im C Sourcecode zu sein.
w[i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f];
ist unsinnig, denn es wird nicht an w zugewiesen.
Ich nehme an es heisst
w[i] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789./"([a & 1 ? a << (a & 1) & v[8 - i] : a ^ v[8 - i]) & 0x3f;

Mit dieser Annahme geht es mit einem for-loop.

Delphi-Quellcode:
procedure apgar(V: PChar; Outbuf: PChar);
const
  Encoding = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./';
var
  W: array [0..8] of Char;
  I: Integer;
  A: Integer;
begin
  for I := 0 to 7 do
  begin
    A := Integer(V[I]);
    // a & 1 ?
    if Odd(A) then
      W[I] := Encoding[(a shl ((a and 1) and V[8-I])) and $3F]
    else
      W[I] := Encoding[(a xor V[8-I]) and $3F];
  end;
  Move(W[0], Outbuf[0], 8);
end;
Bitte pruefe die C-Source nochmal.
  Mit Zitat antworten Zitat