Einzelnen Beitrag anzeigen

Assarbad
(Gast)

n/a Beiträge
 
#5

Re: Ein DWORD mit einem Array of Char füllen?

  Alt 2. Sep 2003, 21:10
@Chewie, dann erklär uns doch bitte nochmal, wieso du #255#0#0#0 schreibst, aber nicht die Zahl $FF000000 rauskommt

Außerdem gibt es zwei elegantere Methoden obiges zu erreichen:
Delphi-Quellcode:
type
  TMyDWORD=record
  case Integer of
  0: (AsDWORD:DWORD);
  1: (AsArray:array[0..3] of Char);
  end;
var
  MyDWORD:TMyDWORD;
  MyArray:Array[0..3] of Char;
  MyDWORD2:DWORD absolute MyArray;
begin
  MyDWORD.AsDWORD :=$FF;
  MyDWORD.AsArray :=#0#0#0#$FF;
end.
MyDWORD2 und MyArray zeigen einfach auf die selbe Speicherstelle ... und bei TMyDWORD ist es nicht anders, da wir eine Union deklarieren ...

Abhängig vom Kontext würde ich die eine oder die andere Variante benutzen.
  Mit Zitat antworten Zitat