AGB  ·  Datenschutz  ·  Impressum  







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

type deklaration mit var - Zuweisung

Ein Thema von NoGAD · begonnen am 29. Mär 2021 · letzter Beitrag vom 30. Mär 2021
Antwort Antwort
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#1

type deklaration mit var - Zuweisung

  Alt 29. Mär 2021, 23:53
Hallo,

ich beiße mich gerade wieder an einem kleinen Problem fest und fast die Zähne aus. Sicherlich ist diese Frage schon oft aufgetreten, aber ich weiß nicht, wonach ich suchen muss.


Wenn ich in einer Unit einen Type (2) als Record eines Types (1) deklariere und diesen Type (2) dann einer Variablen zuweise, ist es hier gleich möglich die Variable zu füllen?

Delphi-Quellcode:
unit testunit;

interface

type
  TMeinType1 = record
    A : Integer;
    B : Integer;
  end;

type
  TMeinType2 = record
    C : TArray<TMeinType1>;
  end;

const
  EinBeispiel1 : TMeinType1 = (A:1; B:2);
  EinBeispiel2 : TMeinType1 = (A:10; B:20);
  EinBeispiel3 : TMeinType1 = (A:100; B:200);

var
  MeineVariable : TMeinType2; // Hier würde ich gerne die Konstanten direkt hinterlegen, nicht erst später in einer procedure oder function

implementation

end.
Ist das möglich?

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 00:56
Nein, das geht nicht, da der Compiler die Record-Konstanten nicht als echte Konstanten zulässt. Es gibt verschiedene Einträge in QP für eine Erweiterung des Compilers in diesem Punkt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 01:05
Nein, das geht nicht, da der Compiler die Record-Konstanten nicht als echte Konstanten zulässt. Es gibt verschiedene Einträge in QP für eine Erweiterung des Compilers in diesem Punkt.
Hallo und danke, Uwe.

Eventuell habe ich mich falsch ausgedrückt. Ich möchte nicht die Konstanten in der Variable als Konstante hinterlegen, sondern die Konstanten schon vordefinieren, damit ich später nicht erst das Array erstellen und zuweisen muss.


Als einfaches Beispiel:

Delphi-Quellcode:
const
  test: array[0..3] of string = ('A', 'B', 'C','D');
So in der Art würde ich das gerne mit den Konstanten machen.

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 02:46
Leider nein - siehe RSP-19816
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (30. Mär 2021 um 02:49 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#5

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 09:50
Hallo Mathias,
Du könntest Deiner Unit am Ende einen Abschnitt Initialization hinzufügen und mittels einer Procedure in diesem Initialization-Abschnitt den Record vorbelegen. Das wäre der Ersatz für die fehlende direkte Möglichkeit.
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 10:06
Hallo Mathias,
Du könntest Deiner Unit am Ende einen Abschnitt Initialization hinzufügen und mittels einer Procedure in diesem Initialization-Abschnitt den Record vorbelegen. Das wäre der Ersatz für die fehlende direkte Möglichkeit.
Gruß, Andreas
Vielen Dank!

Das macht es leichter, es in der Unit zu kapseln

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.068 Beiträge
 
Delphi 12 Athens
 
#7

AW: type deklaration mit var - Zuweisung

  Alt 30. Mär 2021, 11:17
Initialization, Class Constructor und sogar die Managed Records (class operator Initialize) sind hier möglich.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


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:44 Uhr.
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