![]() |
Case Abfrage in Recorddeklaration ???
Code:
Wie ist das zu verstehen ? Ich möchte nur wissen, was das Case bei einer Typendeklaration ( record ) zu verloren hat !
TBefehl=record
Case Typ:TBefehlsTyp of BT_STAND:(); BT_MOVE:(X,Y:Word); end; Gegoogelt hab ich auch schon nach "delphi case in record" aber bin nicht fündig geworden ! Danke im vorraus :D MfG |
Re: Case Abfrage in Recorddeklaration ???
|
Re: Case Abfrage in Recorddeklaration ???
![]() |
Re: Case Abfrage in Recorddeklaration ???
ich verstehe es einfach nicht !
Code:
_TRIGGER_TYPE_UNION = packed record
case Integer of 0: (Daily: DAILY); 1: (Weekly: WEEKLY); 2: (MonthlyDate: MONTHLYDATE); 3: (MonthlyDOW: MONTHLYDOW); end; // das hier fehlte end; ... blubb := rec.Daily // Hat hier blubb anschließend den Wert 0 ??? bzw Weekly den Wert 1 usw. ? |
Re: Case Abfrage in Recorddeklaration ???
Hi,
Delphi-Quellcode:
Das ist denke ich mal ein gutes Beispiel.
TColorRec = record
case Integer of 1: (r,g,b: Byte); 2: (ColorArray: Array[0..2] of Byte); 3: (Color: TColor); end; (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:
Damit kann man sich das verdeutlichen ;)
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; Edit: Zum 543 mal geändert -.-^^ |
Re: Case Abfrage in Recorddeklaration ???
Moin Michael,
Zitat:
Die Unterscheidung besteht darin, wie der Speicherinhalt zu interpretieren ist. |
Re: Case Abfrage in Recorddeklaration ???
Hi,
Ok du hast Recht. Ist ein bisschen schlecht ausgedrückt. Habe aber das richtige gemeint :mrgreen: *Obigen beitrag editiere* |
Re: Case Abfrage in Recorddeklaration ???
OK, wie man darauf zugreift habe ich schon verstanden ( gibts eh nichts zu verstehen, ist logisch )
aber erkär mir mal das hier
Code:
TColorRec = record
case Integer of 1: ... // was macht das Case Integer of und 1, 2, 3 ... EDIT: Zitat:
Oder meinst du vlt., dass sie die gleiche Größe haben ? Wenn nicht, dann ist das ja ziemlich interessant :D |
Re: Case Abfrage in Recorddeklaration ???
Compilier mal meinen Code und probiers aus.
|
Re: Case Abfrage in Recorddeklaration ???
Code:
das ist mal geil :D und könntest du mir schnell erklären was das case integer of macht ?
ColRec.r := 255;
ColRec.g := 0; ColRec.b := 0; Form1.Color := ColRec.Color; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz