![]() |
Umbau C nach Delphi
Hai Zusammen, :hi:
Kann damit einer anfangen? Ich bin eindeutig bisser in Delphi...
Code:
Meine Übersetzung
char * pBuffer = (char*) new char[ iSizeOfBufferToSupply ];
Delphi-Quellcode:
und Noch einen
pBuffer : array of ^CHAR ;
iSizeOfBufferToSupply : Integer; ... SetLength(pBuffer,iSizeOfBufferToSupply );
Code:
Meine Übersetzung
struct flag {
unsigned fFlipVert; unsigned fFlipHori; unsigned fDibWidth; unsigned fSyncStamp; }
Delphi-Quellcode:
:feuerchen:
flag = packed Record
fFlipVert : Byte; fFlipHori : Byte; fDibWidth : Byte; fSyncStamp: Byte; end; Gruß Jörg |
Re: Umbau C nach Delphi
Das lässt sich relativ elegant mit einem AnsiString lösen:
Delphi-Quellcode:
Der Vorteil in Vergleich zu new & dispose bzw. GetMem & FreeMem ist, dass du dir
var
buffer : Ansistring; pbuffer : PChar; begin SetLength(buffer, iSizeOfBufferToSupply); pbuffer := PChar(buffer); // Zeiger auf 1. Byte über die Freigabe des Speichers keine Gedanken machen musst. |
Re: Umbau C nach Delphi
Zitat:
ich würde denken, dass deine zweite Übersetzung so nicht stimmt. Bei mir ist es dann mit C auch nicht soweit her, aber wenn ich mich nicht irre, wird ein einfaches unsigned wie ein unsigned int behandelt, es wird also die Standardgröße auf deinem System verwendet. Entsprechend solltest Du es eher mit es eher mit
Delphi-Quellcode:
übersetzen.
flag = packed Record
fFlipVert : Integer; fFlipHori : Integer; fDibWidth : Integer; fSyncStamp: Integer; end; |
Re: Umbau C nach Delphi
Erstmal DANKE für Eure Antworten :dancer:
|
Re: Umbau C nach Delphi
Zitat:
Zitat:
|
Re: Umbau C nach Delphi
Zitat:
Hast natürlich recht, war ja unsigned, hüstel. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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