Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Erklärung von record (Delphihilfe unverständlich :)) (https://www.delphipraxis.net/80023-erklaerung-von-record-delphihilfe-unverstaendlich.html)

3_of_8 1. Nov 2006 23:34

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Ich denke mal das ist recht egal.

Hansa 1. Nov 2006 23:41

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Guck doch mal endlich in die Delphi-Hilfe. :roll: Hinter Case steht immer das, was später anhand seines Wertes ausgewertet werden muß. Im Case-Abschnitt für einen integer hat deshalb ein boolean-Wert nichts zu suchen und umgekehrt. Und bevor die nächste unvermeidliche Frage kommt : Ja, Strings, reals usw. gehen im Case nicht.

3_of_8 1. Nov 2006 23:53

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Delphi-Quellcode:
case Boolean of
  True : { ... }
  False: { ... }
Das müsste aber eigentlich gehen, wobei es aber irgendwie seltsam aussieht.

Hansa 2. Nov 2006 01:01

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Zitat:

Zitat von Hansa
Hinter Case steht immer das..

z.B. boolean

Zitat:

Zitat von Hansa
..was später anhand seines Wertes ausgewertet werden muß..

und zwar dann true oder false.

3_of_8 2. Nov 2006 01:08

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Zitat:

Im Case-Abschnitt für einen integer hat deshalb ein boolean-Wert nichts zu suchen und umgekehrt.
Das klang so, als hättest du seine Frage verneint. ;)

Cöster 2. Nov 2006 08:49

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Zitat:

Zitat von Hansa
Guck doch mal endlich in die Delphi-Hilfe. :roll:

Ist schon längst passiert. Da wird aber nur die Syntax
Delphi-Quellcode:
case <Name>:<Ordinal-Typbezeichner> of
genauer erklärt. Damit hatte ich auch nie Probleme, <Name> ist dann auch eine Eigenschaft des records. Aber Integer ist ja keine Eigenschaft von TRect. Was ist dieser Integer, wo wird ihm etwas zugewiesen, könnte man statt
Delphi-Quellcode:
0: { ... }
1: { ... }
auch
Delphi-Quellcode:
14: { ... }
15: { ... }
schreiben? Auslesen kann man anscheinend auch nicht, ob Integer 0 oder 1 ist, denn:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  R: TRect;
begin
  R := Rect(50, 50, 20, 20);
  Caption := IntToStr(R.TopLeft.y);
end;
Delphi weiß, dass z.B. R.TopLeft.y = R.Top ist? Woher?

3_of_8 2. Nov 2006 09:07

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Weil es der gleiche Speicherbereich ist... :roll:

Cöster 2. Nov 2006 09:40

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Zitat:

Zitat von 3_of_8
Weil es der gleiche Speicherbereich ist... :roll:

Ahso, das hängt also von der Reihenfolge der Deklaration ab. Danke

Hab das andere auch mal ausprobiert: Mit Boolean und anderen Typen geht das auch.

Jasocul 2. Nov 2006 11:00

Re: Erklärung von record (Delphihilfe unverständlich :))
 
Natürlich geht ds mit allen ordinalen Typen. Genau, wie beim "richtigen" Case.
Steht im Record
Delphi-Quellcode:
case MeineVariable : Integer of
kann man vorher tatsächlich feststellen, welcher Wert vorliegt. Steht dort nur
Delphi-Quellcode:
case Integer of
, dann geht es nicht.
Was dann im Case-Block für Fälle drin stehen, ist im Grunde völlig egal. Man muss für die Varianten nur einen Datentyp nehmen, der genügend Varianten verwalten kann. Nimmt man Boolean, gehen nur zwei Varianten.

Beim Beispiel von TRect hätte Borland theoretisch auch ein Boolean statt Integer nehmen können, das es nur zwei Varianten gibt.

mr-unbekannt 2. Nov 2006 11:23

Re: Erklärung von record (Delphihilfe unverständlich :))
 
hallo!

da ich noch kein "fortgeschrittener" bin, wollte ich mal die frage stellen, ob die records dann so etwas ähnliches wie eine klasse ist?

es schaut jedenfalls fast gleich aus

danke für die verbesserungen ;-)

mr


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Seite 3 von 4     123 4      

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