AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Case Abfrage in Recorddeklaration ???
Thema durchsuchen
Ansicht
Themen-Optionen

Case Abfrage in Recorddeklaration ???

Ein Thema von mr_emre_d · begonnen am 16. Aug 2008 · letzter Beitrag vom 16. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
mr_emre_d
(Gast)

n/a Beiträge
 
#1

Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:12
Code:
  TBefehl=record
    Case Typ:TBefehlsTyp of
      BT_STAND:();
      BT_MOVE:(X,Y:Word);
  end;
Wie ist das zu verstehen ? Ich möchte nur wissen, was das Case bei einer Typendeklaration ( record ) zu verloren hat !

Gegoogelt hab ich auch schon nach "delphi case in record" aber bin nicht fündig geworden !

Danke im vorraus

MfG
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:15
Delphi-Referenz durchsuchenvariante records
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:16
z.B. hier steht etwas zur Fragestellung
Ralph
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#4

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:45
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. ?
  Mit Zitat antworten Zitat
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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 17:58
Moin Michael,

Zitat von Neutral General:
Die Art wie auf diesen Speicher zugegriffen wird unterscheidet sich nur.
Ich würde sagen:
Die Unterscheidung besteht darin, wie der Speicherinhalt zu interpretieren ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

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

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 18:02
Hi,

Ok du hast Recht. Ist ein bisschen schlecht ausgedrückt. Habe aber das richtige gemeint

*Obigen beitrag editiere*
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
mr_emre_d
(Gast)

n/a Beiträge
 
#8

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 18:25
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:
(r,g,b,a), (ColorArray) und (Color) belegen hier den gleichen Speicher
Den gleichen Speicher ? heißt das dann, dass r denselben wert hat wie Coloarray[0] und g = Colorarray[1] usw ?
Oder meinst du vlt., dass sie die gleiche Größe haben ? Wenn nicht, dann ist das ja ziemlich interessant
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

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

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 18:28
Compilier mal meinen Code und probiers aus.
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
mr_emre_d
(Gast)

n/a Beiträge
 
#10

Re: Case Abfrage in Recorddeklaration ???

  Alt 16. Aug 2008, 18:30
Code:
  ColRec.r := 255;
  ColRec.g := 0;
  ColRec.b := 0;
  Form1.Color := ColRec.Color;
das ist mal geil und könntest du mir schnell erklären was das case integer of macht ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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