![]() |
Hex-Zahlen in C und Delphi
Hallo,
ich habe ein Stück C-Code aus einem Header-File, das ich in Delphi abbilden möchte:
Code:
das Delphi Analog sieht bei mir so aus:
#define IPL_DEPTH_SIGN 0x80000000
#define IPL_DEPTH_8S (IPL_DEPTH_SIGN| 8)
Code:
Allerdings meldet der Compiler in beiden Zeilen eine Warnung:
const
IPL_DEPTH_SIGN: Integer = $80000000; IPL_DEPTH_8S: Integer = IPL_DEPTH_SIGN or Integer($80000000); Konstantenausdruck verletzt untere Grenzen. Wie kann ich das verhindern? Gruß, oXmoX |
Re: Hex-Zahlen in C und Delphi
Lass einfach das Integer weg, der Compiler macht schon das Richtige draus ;)
Also:
Delphi-Quellcode:
const
IPL_DEPTH_SIGN = $80000000; |
Re: Hex-Zahlen in C und Delphi
Delphi-Quellcode:
Das ist die korrekte Konversion.
const
IPL_DEPTH_SIGN = $80000000; IPL_DEPTH_8S = IPL_DEPTH_SIGN or 8; Wenn da 8 steht dann sollte man auch 8 nehmen und nicht $80000000. Getypt muessen die Konstanten nicht sein. Sowohl Delphi als auch C nehme den naechstpassenden Typ, der im Falle von Hexkonstanten Cardinal ist. |
Re: Hex-Zahlen in C und Delphi
Zitat:
Zitat:
Danke! |
Re: Hex-Zahlen in C und Delphi
oder mach aus dem integer nen cardinal...
DA integer von -2,1Mrd ... +2,1Mrd geht was etwa 7FFFFFFF entspräche 80000000 wäre schonn eins drüber aber schon aus dem gültigkeitsbereich vom int raus, eigentlich ;) cardinal = 0..+4,2Mrd blah..... steht auch alles in der Hilfe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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