Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

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

Re: Frage zum Pascal-Programmcode

  Alt 4. Jul 2006, 13:53
Moin Raven,

das Ganze nennt sich auch "Variante Records" (entspricht also, AFAIK, ungefähr, den Unions in C).
Sinn macht es vor allem dann, wenn Du mit den Records Daten aus Dateien ausliesen, bei denen bestimmte Stellen unterschiedliche Bedeutung haben können (z.B., wenn man Monitordaten, EDID, auslesen will, gibt es solche Stellen, bei denen ein Bereich einen String , oder aber auch andere Monitordaten enthalten kann).

Du musst dann nicht verschiedene Records deklarieren, und vorher prüfen welchen Record-Typ Du brauchst.

Normalerweise dürfen die varianten Teile nur am Ende des Records stehen.
Man kann sich aber mit einem "Trick" behelfen, indem man einfach einen Datentyp deklariert, der nur aus einem varianten Teil besteht, und diesen dann an beliebiger Stelle in einem anderen Record als Datentyp verwendet.

Nachteil:
Der variante Teil ist immer so lang, wie der längste Teil.

BTW:
Beim IBM 370-Assembler ist es vergleichbar mit der Dummy-Section.
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