AGB  ·  Datenschutz  ·  Impressum  







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

ungewöhliches record

Offene Frage von "moin339"
Ein Thema von moin339 · begonnen am 31. Jan 2004 · letzter Beitrag vom 31. Jan 2004
 
Benutzerbild von moin339
moin339

Registriert seit: 23. Sep 2002
Ort: Hamburg
136 Beiträge
 
#1

ungewöhliches record

  Alt 31. Jan 2004, 22:41
Moin!

Ich habe diesen Code in der Delphi Fundgrube gefunden. Jetzte frage ich mich allerdings wie dieses record genau funktioniert. Ich habe vorher so etwas noch nie gesehen. Kann mir jemand erklären wie der Integer-Wert damit in die vier Bytes aufgeteilt wird? Was bedeuteten die 0 und die 1?

Delphi-Quellcode:
function ColorToHTMLColor(Color: TColor): String;
var
  C: packed record case Integer of
       0: (Int: LongInt);
       1: (B0, B1, B2, B3: Byte);
    end;
  H: Byte;
begin
  // convert negative (SysColor) values like clBtnFace
  C.Int := ColorToRGB(Color);
  // red value of TColor is in byte 0, of HTML in byte 2: swap
  H := C.B0;
  C.B0 := C.B2;
  C.B2 := H;
  // output hex value
  Result := Format('"#%.6x"', [C.Int]);
end; {Michael Winter}
ciao, moin339
  Mit Zitat antworten Zitat
 


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 12:11 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