AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Record zum Teil als Konstante und Variable?

Ein Thema von NoGAD · begonnen am 3. Apr 2020 · letzter Beitrag vom 3. Apr 2020
 
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.735 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Record zum Teil als Konstante und Variable?

  Alt 3. Apr 2020, 10:21

ist es möglich, dass man einen Record erstellt und den später zum Teil als Variable und zum Teil als Konstante deklariert?

Delphi-Quellcode:
type
  TmyRecord = record
    String_1: String;
    String_2: String;
    Boolean1: Boolean;
    Boolean2: Boolean;
    Boolean3: Boolean;
  end;
Kommt drauf an, was Du meinst:

Delphi-Quellcode:
type
  TmyRecord = record
  var
    String_1: String;
    String_2: String;
  const
    Boolean1 = True;
    Boolean2 = False;
    Boolean3 = True;
  end;
Dies ist zwar im Prinzip das, wonach Du fragst, aber ich glaube es ist nicht das, was Du meinst. Denn ich glaube Du meinst, dass Du den Record einmalig zuweist, so dass der konstante Teil danach nicht mehr geändert werden kann.

Delphi-Quellcode:
var
  MyRecord1: TMyRecord;
  MyRecord2: TMyRecord;
begin
  MyRecord1.String_1 := 'bla';
  MyRecord1.String_2 := 'blub';

  MyRecord2.String_1 := 'blub';
  MyRecord2.String_2 := 'bla';
end;
Die Booleans sind aber immer so wie oben deklariert. Es ist also nicht möglich, sie einmalig für jede Instanz auf einen Wert zu setzen und erst danach als Konstante zu betrachten. MyRecord1.Boolean1 und MyRecord2.Boolean1 haben beide immer den Wert, der in der Typdeklaration zugewiesen wurde: True.

Das ließe sich aber mittels eines Konstruktors und ReadOnly-Properties lösen, genauso wie bei Klassen.
Thomas Mueller
  Mit Zitat antworten Zitat
 


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 07:34 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