Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:52
Hi,

Delphi-Quellcode:
TColorRec = record
  case Integer of
    1: (r,g,b: Byte);
    2: (ColorArray: Array[0..2] of Byte);
    3: (Color: TColor);
  end;
Das ist denke ich mal ein gutes Beispiel.

(r,g,b,a), (ColorArray) und (Color) belegen hier den gleichen Speicher. Die Art wie auf diesen Speicher zugegriffen dieser Speicher interpretiert wird unterscheidet sich nur.

Delphi-Quellcode:
var
  Color: TColorRec;

begin
  Color.r := 255;
  Color.g := 0;
  Color.b := 255;

  Panel1.Color := RGB(Color.r,Color.g,Color.b);
  Panel2.Color := RGB(Col.ColorArray[0],Col.ColorArray[1],Col.ColorArray[2]);
  Panel3.Color := Color.Color;
end;
Damit kann man sich das verdeutlichen

Edit: Zum 543 mal geändert -.-^^
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat