Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi UNSIGNED Datentyp in Delphi (https://www.delphipraxis.net/149872-unsigned-datentyp-delphi.html)

greenmile 1. Apr 2010 10:26


UNSIGNED Datentyp in Delphi
 
Hallo,

ich bin gerade dabei, eine C Headerdatei in Delphi zu übersetzen. Die einfachen Datentypen (UInt etc.) sind dabei kaum ein Problem, allerdings komme ich an 2 Problemen nicht weiter ...

1. Was ist der Datentyp "UNSIGNED" in Delphi?

UCHAR Version[2]; ist klar, aber
unsigned unused3[6]; nicht

Array [0..6] of Irgendwas?

2. Packed
Im C Source steht folgendes:

#define __PACKED__ __attribute__ ((packed))

typedef struct FOO_header {
unsigned char version[3] __PACKED__;
} of FOO_header:

Was bedeutet das "Packed"? Ist das im Prinzip "Packed Record"?

Kann mir da jemand Licht ins Dunkel bringen?

Viele grüße,
Paul

himitsu 1. Apr 2010 10:29

Re: UNSIGNED Datentyp in Delphi
 
Integer = signed integer (mit Vorzeichen)
Cardinal = unsigned integer (ohne Vorzichen)

ShortInt = signed (1) Byte
Byte = unsigned (1) Byte

...
und der Rest sollte wohl klar sein

greenmile 1. Apr 2010 10:31

Re: UNSIGNED Datentyp in Delphi
 
Ne leider nicht, weil in der zweiten Zeile kein Typ wie INT oder CHAR steht, einfach nur UNSIGNED.

UCHAR Version[2]; ist klar, aber
unsigned unused3[6]; nicht

himitsu 1. Apr 2010 10:35

Re: UNSIGNED Datentyp in Delphi
 
UCHAR = unsigned char = entwder Byte oder ein Char/AnsiChar

und unsigned pur wird wohl einfach nur ein Byte sein.

greenmile 1. Apr 2010 10:41

Re: UNSIGNED Datentyp in Delphi
 
Zitat:

Zitat von himitsu
und unsigned pur wird wohl einfach nur ein Byte sein.

Leider eben nicht ...

DeddyH 1. Apr 2010 10:43

Re: UNSIGNED Datentyp in Delphi
 
Laut http://www.cppreference.com/wiki/data_types ist das wohl eine Unsigned Integer.

himitsu 1. Apr 2010 10:47

Re: UNSIGNED Datentyp in Delphi
 
Wenn (UN)SIGNED ohne irgendwas direkt als Typ dasteht, dann kann es eigentlich nur ein Byte (1 Byte, als kleinste Datengröße) oder ein Cardinal (Datengröße der Register) sein.

[edit]
Und laut DeddyHs Link hatte ich vorhin, bei dieser 50-50-Chance, einfach nur falsch geraten. :angel2:

greenmile 1. Apr 2010 12:10

Re: UNSIGNED Datentyp in Delphi
 
Vielen Dank, ich denke Cardinal war das, was ich gesucht habe. Ich versuche es mal damit ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz