![]() |
Cpp nach Delphi übersetzung
folgenden Cpp Code
Code:
hab ich zu
if ((err = LoadWSOfile((flge == errnone ? iFileLength - Size_XYZ_file : iFileLength))) == errnone)
Delphi-Quellcode:
Übersetzt, scheint aber falsch zu sein
err := LoadWSOfile(flge);
if flge = Integer(errnone) then flge := iFileLength - Size_XYZ_file else flge := iFileLength; if err = Integer(errnone) then |
AW: Cpp nach Delphi übersetzung
hallo,
ich würde das so lesen
Delphi-Quellcode:
mfg
if flge = errnone then
err:= LoadWSOfile(iFileLength - Size_XYZ_file) else err:= LoadWSOfile(iFileLength); if err= errnone then |
AW: Cpp nach Delphi übersetzung
Die Fallunterscheidung gehört doch in den Parameter von LoadWSOFile, nicht außerhalb des Aufruf. (Wenn ich mich bei den Klammern nicht verzählt habe. :mrgreen:)
Siehe frankys Post. |
AW: Cpp nach Delphi übersetzung
Dankeschön
und welcher Datentyp ist das eigentlich
Code:
ein PByte-Array? weil
byte *SMSign[2] = {SMSign0, SMPign1};
Code:
byte SMSign0[] = "ein string";
byte SMSign1[] = "noch ein string"; |
AW: Cpp nach Delphi übersetzung
Zitat:
PByte = ^Byte? :gruebel: |
AW: Cpp nach Delphi übersetzung
wie übersetz ichs dann?
|
AW: Cpp nach Delphi übersetzung
Du wirst in deinem C-Code irgendwo wohl etwas wie
Code:
drin haben, oder?
typedef unsigned char byte;
Ich glaube an einfachsten fährst du nicht mit Byte Char-Arrays, sondern dem Delphi-Typen
Delphi-Quellcode:
bzw. in diesem Fall wohl
PChar
Delphi-Quellcode:
.
PAnsiChar
|
AW: Cpp nach Delphi übersetzung
in der Tat
Code:
aber nix mit byte
#define dword unsigned int
#define word unsigned short ja hatte es bisher mit PChar umgesetzt wollt nur sicher gehen |
AW: Cpp nach Delphi übersetzung
Das define/typedef kommt möglicherweise aus einem Import. Aber es geht doch um ein Delphi in welchem ein Char größer als ein Byte ist, richtig? Dann wäre PAnsiChar doch das richtige.
|
AW: Cpp nach Delphi übersetzung
mein Delphi ab 2007 kennt PByteArray, was man überall wo in Cpp mit BYTE* gearbeitet wird in Delphi verwenden kann.
Da in CPP gerne mit BYTE Arrays für normale nicht UniCode Zeichenketten(= Zeichenarrays:)) gearbeitet wird, sollte man bei CPP->Delphi Vorhaben sich mal solche 3 Hilfsfunktionen in Delphi basteln. Ich habe das schmutzig für UniCode XE selbst per jedem 2. Byte gelöst, weil ich leider noch kein auf für FMX OutOfTheBox portables Beispiel für Delphi UnicodeString <-> UTF8ByteArray gefunden habe. TEncoding wäre da ja dafür wohl gedacht, aber ich habe es noch nicht geschafft, meine 3 simplen Funktionen per TEncoding zu realisieren... function TXTstringToPByteArray(const value:string; const baUTF8 : PByteArray; const maxlen:Integer):Integer; function PByteArrayToTXTstring(var value:string; const baUTF8 : PByteArray; const maxlen:Integer):Integer; overload; function PByteArrayToTXTstring(const baUTF8 : PByteArray; const maxlen:Integer):string; overload; Sollte es jemanden geben, der die paar Zeilen mit TEncoding für UniCodeString<->UTF8ByteArray griffbereit oder im Gedächtnis hat, wäre das auch hier sicher helfen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 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