AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Variantes Record mit 2x Case

Ein Thema von Steffen · begonnen am 10. Feb 2004 · letzter Beitrag vom 10. Feb 2004
 
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#4

Re: Variantes Record mit 2x Case

  Alt 10. Feb 2004, 12:35
Hallo Steffen!

Ich fürchte, bei Dir fehlen die Grundlagen über Variante Records.

Wenn Du das hast:
Delphi-Quellcode:
                     case SearchOverAllFields : Boolean of // Suche über alle Felder?
                       True : (); // Keine Angabe von Suchfeldern, da Suche über alle Felder
                       False : (SearchFields : TSearchFields);
kannst Du unabhängig vom Wert der Variablen "SearchOverAllFields" auf die Variable "Searchfields" zugreifen. In diesem Fall könnte noch helfen, daß Du den Typ anders definierst:
TSearchFields = (sfNone, sfTrackingID, sfSender, sfRecipient, sfSubject, sfMsgText); und bei "SearchOverAllFields = True" dann "SearchFields:=sfNone" setzt.
Sonst bekommst Du beim Zugriff auf das Element den Wert, der da zufällig im RAM rumlungert - dürfte selten passend sein und bei den Strings auch zu einer niedlichen kleinen AV führen!

Die Varianten sind nur alternative Zugriffsverfahren auf denselben Speicherbereich. Bei meinem Beispiel belegt die Variante 4 Byte, weil die größte Variable ein Integer (4 Bxyte) ist. Der Boolean ist identisch mit einem dieser 4 Bytes.

Bitte packe jetzt das Deutschsein (ich will, daß dsa klappt, also hat das auch zu klappen) weg - einen Gasherd kann man an einer Stromleitung nunmal nicht benutzen!

Es bliebe natürlich noch die Methode, statt der Varianten im Record zwei Recordtypen einzuführen und im Hauptrecord je eine Variable dieser Typen.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
 

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