Einzelnen Beitrag anzeigen

Johnny_W

Registriert seit: 27. Apr 2005
33 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Header Übersetzung -> Delphi

  Alt 24. Feb 2008, 16:05
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:
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,
Das ist mein Versuch :
Delphi-Quellcode:
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;
Der Record wird an eine Funktion übergeben, die diesen je nach FeatureID "füllt" .

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!
  Mit Zitat antworten Zitat