![]() |
Re: Header Übersetzung -> Delphi
Hallo,
ich brauche wieder mal Hilfe bei der Übersetzung. Der Union ist neu für mich und BYTE Abs:1<--- ist das hier ein Initialisierungswert, oder wie verstehe ich die Zahl?
Code:
Das ist mein Versuch :
typedef struct
{ DWORD Version; DWord FeatureID; //Steht für den Typ z.b. Balance union { struct { BYTE Abs:1; WORD Value; float Abs_Value; } Std; struct { BYTE Abs:1; BYTE On_Off:1; BYTE Auto_M:1; float Abs_Value; } Balance; BOOL Exec_Flag; BOOL PowerOn_Flag; } u; }ZCL_GETFEATUREVALUE,
Delphi-Quellcode:
Der Record wird an eine Funktion übergeben, die diesen je nach FeatureID "füllt" .
type
ZCL_GETFEATUREVALUE= record Version : DWord; FeatureID : DWord; u : record case integer of 0: ( std : record Abs : Byte; Value : Word; Abs_Value : Single; end; ); 1: ( Balance : record Abs : Byte; On_Off: Byte; Auto_M: Byte; Abs_Value : single; end; ); Exec_Flag : bool; PowerOn_Flag : bool; end; end; Ist dieser Funktion durch den Aufbau des Records "u" bekannt, welche Inneren Records mit Werten belegt werden müssen, oder wie kann ich das verstehen? Viele Grüße! |
Re: Header Übersetzung -> Delphi
Ich schiebe das Thema mal dezent hoch. :)
viele Grüße! |
Re: Header Übersetzung -> Delphi
Zitat:
![]() Aber 100% sicher bin ich mir nicht. Mit Unions habe ich noch nicht gearbeitet und habe keine Ahnung. |
Re: Header Übersetzung -> Delphi
Danke Dir Halinchen,
dann bekomme ich das mit Bitmasken dementsprechend schon hin. Na dann sitze ich wenigstens nicht alleine im Boot, was Unions anbetrifft. :) viele Grüße! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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