AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Header Übersetzung -> Delphi

Ein Thema von Johnny_W · begonnen am 11. Feb 2008 · letzter Beitrag vom 27. Feb 2008
Antwort Antwort
Seite 2 von 2     12   
Johnny_W

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

Re: Header Übersetzung -> Delphi

  Alt 24. Feb 2008, 17: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
Johnny_W

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

Re: Header Übersetzung -> Delphi

  Alt 25. Feb 2008, 18:12
Ich schiebe das Thema mal dezent hoch.

viele Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Header Übersetzung -> Delphi

  Alt 25. Feb 2008, 18:33
Zitat von Johnny_W:
Der Union ist neu für mich und BYTE Abs:1<--- ist das hier ein Initialisierungswert, oder wie
Das ist ein Bitfeld. Sowas gibt es in Delphi meines Wissens nicht. Es dient nur zur Datenkomprimierung und müsste in Delphi weggelassen werden können. (Solange die Daten nicht extern verwendet werden, also an ein Gerät geschickt werden, etc.)

Aber 100% sicher bin ich mir nicht.

Mit Unions habe ich noch nicht gearbeitet und habe keine Ahnung.
  Mit Zitat antworten Zitat
Johnny_W

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

Re: Header Übersetzung -> Delphi

  Alt 27. Feb 2008, 07:39
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 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