![]() |
AW: CPP -> Delphi
Das ist auch etwas verwirrend
Code:
welches ich mit
DWORD fix(unsigned char *buffer,int length)
... for (a = ~a & 0x3FFFFFFF; b >= 8; b -= 8, buffer++) { if (b==0x5*8) b=0x5*8; a = table[((a >> (30 - 8)) ^ *buffer) & 0xff]^ (a << 8); }
Delphi-Quellcode:
übersetzen würde
Function Fix (buffer: PAnsichar; len: Integer): DWord;
var c, a, d, e: DWord; b, i: Integer; buffer2: Array [0 .. 4] of Byte; ... a := (not a) and $3FFFFFFF; while b >= 8 do begin if b = ($05 * 8) then b := $05 * 8;//macht für mich keinen sinn? a := Table[(a SHR (30 - 8) XOR strtoint(buffer)) and $FF] XOR (a SHL 8); Dec(b, 8); Inc(buffer); end; |
AW: CPP -> Delphi
Was genau weißt du denn nicht? Bevor wir dir jeden Quelltext übersetzen ist es vielleicht hilfreicher dir die Dinge zu erklären die du nicht verstehst.
|
AW: CPP -> Delphi
Wie kommst du auf strtoint?
Hier soll der Zeichencode des ersten Bytes verwendet werden. Ein einer Variable vorangestelltes
Delphi-Quellcode:
entspricht (glaub ich) dem derefferenzierenden nachfolgenden
*
Delphi-Quellcode:
.
^
Delphi-Quellcode:
, wenn es ein PAnsiChar ist ... bei einem
Ord(buffer^)
Delphi-Quellcode:
aka
array of Byte
Delphi-Quellcode:
wäre es ein buffer^ oder
TBytes
Delphi-Quellcode:
.
buffer[0]
Und ja, das
Delphi-Quellcode:
scheint totaler Schwachsinn zu sein.
if (b==0x5*8) b=0x5*8;
|
AW: CPP -> Delphi
Zitat:
|
AW: CPP -> Delphi
wurde doch schon beantwortet
Danke nochmal euch allen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz