AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Case in Record

Ein Thema von Captnemo · begonnen am 8. Okt 2015 · letzter Beitrag vom 8. Okt 2015
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

AW: Case in Record

  Alt 8. Okt 2015, 07:38
Jepp, so funktioniert's

Ist ja auch wirklich blöd.....steht sicher irgendwo in der Hilfe, aber da wär ich so nie drauf gekommen.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Case in Record

  Alt 8. Okt 2015, 07:41
Genau, das ist meines Wissens nach die einzige Möglichkeit.

Ist ja auch wirklich blöd.....steht sicher irgendwo in der Hilfe, aber da wär ich so nie drauf gekommen.
Habs damals auch erst nach einiger Recherche herausgefunden Welchen tieferen Sinn diese Einschränkung hat, erschließt sich mir allerdings auch nicht.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#3

AW: Case in Record

  Alt 8. Okt 2015, 09:09
steht sicher irgendwo in der Hilfe, aber da wär ich so nie drauf gekommen.
Ja, hier:
Zitat:
Ein Record-Typ kann einen varianten Teil enthalten, der einer case-Anweisung ähnelt. Dieser variante Teil muss in der Typdeklaration nach den Feldern angegeben werden.
Aber auch schon hier:
Zitat:
A field list can have only one variant part and it must succeed the fixed part(s).(However, a variant part may itself contain variants. Hence, it is possible to have nested variants.)
Auszug aus Pascal, User Manual and Report (1978). Diese Einschränkung ist also aus dem ursprünglichen Pascal übernommen worden. Über die damaligen Gründe kann man wohl nur spekulieren.

Da merkt man doch, wie lange man schon dabei ist: Daß Varianten ans Ende gehören war mir schon so in Fleich und Blut übergegangen - ich wäre nie darauf gekommen, daß es womöglich anders sein könnte.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Case in Record

  Alt 8. Okt 2015, 09:25
Da merkt man doch, wie lange man schon dabei ist: Daß Varianten ans Ende gehören war mir schon so in Fleich und Blut übergegangen - ich wäre nie darauf gekommen, daß es womöglich anders sein könnte.
Oh ja...

Der Record hat ja die Länge der "normalen" Felder Plus die Länge der größten Feld-Size-Summe des Case Eintrages.

Jeder Case Eintrag kann ja mehrere Felder haben. Das ist jedoch nur was der Sizeof zurück gibt. So ein Varianten Record bot sich immer an um Speicher zu sparen (z.B. wenn man diesen in eine Datei schreibt). Da würde eine veränderliche Größe in der Mitte nix bringen.

Mavarik
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:35 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