AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

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: Erfurt
199 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
8.791 Beiträge
 
Delphi 10.4 Sydney
 
#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: Erfurt
199 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
3.842 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
439 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
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: Erfurt
199 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
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.707 Beiträge
 
Delphi 10.4 Sydney
 
#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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  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 00:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf