![]() |
Delphi-Version: 5
CPP -> Delphi
wie würdet ihr die Folgende Zeile Übersetzen mich verwirrt sie etwas
Code:
for (b = ~b & 0x3FFFFFFF; a >= 8; a -= 8, buffer++)
|
AW: CPP -> Delphi
Code:
Vielleicht so:
for (b = ~b & 0x3FFFFFFF; a >= 8; a -= 8, buffer++)
Delphi-Quellcode:
var
buffer, a, b: integer; begin b := (not b) and $3FFFFFFF; while a >= 8 do begin ... Dec(a,8); Inc(buffer); end; end; |
AW: CPP -> Delphi
buffer ist ziemlich sicher kein Integer. Vermutlich PAnsiChar oder sowas ...
|
AW: CPP -> Delphi
Zitat:
|
AW: CPP -> Delphi
Zitat:
|
AW: CPP -> Delphi
Danke ihr beiden,
Assarbad hat recht ist ein PAnsiChar und wie übersetz ich das
Code:
if ( ((a ^ data) & (1L << 29)) != 0 )
Delphi-Quellcode:
so in etwa?
var
ll : LongInt; if not((a Xor data) and (SizeOf(ll) SHL 29)) = 0 then |
AW: CPP -> Delphi
Zitat:
Delphi-Quellcode:
if ((a xor data) and (1 shl 29)) <> 0 then
|
AW: CPP -> Delphi
sizeof longint ist 1??
|
AW: CPP -> Delphi
Also doch richtig?
|
AW: CPP -> Delphi
Das L kannst'e in Delphi ignorieren.
Und um deine letzte Frage zu beantworten: Wieviele Bytes ist ein LongInt groß? |
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 12:17 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