AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TArray<string> als const im Record deklarieren

Ein Thema von DieDolly · begonnen am 5. Dez 2019 · letzter Beitrag vom 15. Dez 2019
Antwort Antwort
Seite 3 von 3     123
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
402 Beiträge
 
Delphi 10.3 Rio
 
#21

AW: TArray<string> als const im Record deklarieren

  Alt 8. Dez 2019, 20:51
Zitat:
Was ist der Vorteil?
Nein, du musst immer die untere und obere Grenze angeben.
Auch bei array[TIrgendeinEnum] of ... ist der untere Bereich gegeben, denn der Enum ist nunmal so definiert, dass er bei 0 beginnt.
Wieso denn Nein, wenn du danach überhaupt nicht widersprichst?
Ein Enum ist, genau wie ein ganzzahliger Typ, ein Wertebereich. Und den kannst du entweder vollständig, oder aber teilweise als Schlüssel für ein statisches Array benutzen. Nichts anderes hatte ich versucht zu erklären. Wenn es missverständlich war, bitte ich dies zu entschuldigen.
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.207 Beiträge
 
Delphi 10.3 Rio
 
#22

AW: TArray<string> als const im Record deklarieren

  Alt 8. Dez 2019, 23:08
Entweder du gibst beide Grenzen rein (array[b..e] of xyz ),
oder einen Typen, der in sich beide Grenzen enthält (array[EnumOrOtherOrdinalType] of xyz ),
also im Endefekt gibst du somit immer beide Grenzen rein.

Sowas wie im C++ und anderen Sprachen geht im Delphi nicht, also nur die Anzahl und implizit beginnt es bei 0: array[13] of xyz für array[0..Anzahl-1] of xyz
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.361 Beiträge
 
#23

AW: TArray<string> als const im Record deklarieren

  Alt 9. Dez 2019, 10:17
Zitat:
Sowas wie im C++ und anderen Sprachen geht im Delphi nicht, also nur die Anzahl und implizit beginnt es bei 0: array[13] of xyz für array[0..Anzahl-1] of xyz
Wäre eventuell nicht verkehrt, denn dann gäbe es weniger Leute (in Schulen), die ihre Zählung bei 1 statt 0 anfangen.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
686 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#24

AW: TArray<string> als const im Record deklarieren

  Alt 9. Dez 2019, 13:15
Und was so daran besser sein? Wenn ich Dinge zähle fange ich immer bei 1 an.
Habe gerade bei uns nach "[1.." gesucht - sechs Treffer. Es sind alles "[1..3]". Keinen finde ich verkehrt.
Aber wir schweifen ab.
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
402 Beiträge
 
Delphi 10.3 Rio
 
#25

AW: TArray<string> als const im Record deklarieren

  Alt 9. Dez 2019, 18:55
Zitat:
Sowas wie im C++ und anderen Sprachen geht im Delphi nicht, also nur die Anzahl und implizit beginnt es bei 0: array[13] of xyz für array[0..Anzahl-1] of xyz
Wäre eventuell nicht verkehrt, denn dann gäbe es weniger Leute (in Schulen), die ihre Zählung bei 1 statt 0 anfangen.
Jo, wäre vielleicht in vielerlei hinsicht nicht so dumm. Aber da jetzt noch ein 0.. an den Anfang zu schreiben ist denke ich eine zumutbare Anforderung an den Programmierer. Aber du hast natürlich Recht, semantischer Zucker wäre so etwas. Es würde einige Deklarationen um einiges verkürzen.
Damit der Compiler aber immer noch weiß, dass das nicht der gesamte Wertebereich sondern nur die obere Grenze ist, sollte die Deklaration vielleicht nicht genau so aussehen.

Aber mal ehrlich: Kommen wird das sicher ohnehin nicht, also warum da jetzt Gedanken hin verschwenden. Es gibt statische Arrays, die alles unterstützen, was man sich wünschen könnte und was der Compiler gleichzeitig noch hergibt. Und es gibt dynamische Arrays, die immer bei 0 beginnen und alles andere unterstützen, was statische nicht können.
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.207 Beiträge
 
Delphi 10.3 Rio
 
#26

AW: TArray<string> als const im Record deklarieren

  Alt 9. Dez 2019, 19:27
Nein, wird nicht kommen, denn der Wunsch wurde schon zu oft in den letzten Jahren gestellt, aber passiert ist nie was.

Das poplige FreePascal (Lazarus) kann sowas seit ewig, da kann Delphi das doch nicht nachmachen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: TArray<string> als const im Record deklarieren

  Alt 10. Dez 2019, 11:08
Das poplige FreePascal (Lazarus) kann sowas seit ewig, da kann Delphi das doch nicht nachmachen.
Also in FPC 3.0.4 kompiliert das nicht: type x = array[13] of Integer;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.207 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: TArray<string> als const im Record deklarieren

  Alt 15. Dez 2019, 15:09
Ist schon wieder paar Jahre her, das ich FPC benutzt hatte.
Aber ich bin mir ganz sicher damals ein paar Codes gesehen zu haben, wo sowas ging.

Aber vielleicht war da auch irgendeine Erweiterung, Makro oder so beteiligt?
Schade, dass Borland/Codegear die Möglichkeit für einen Precompiler zerstört haben. (echte Makros wären schon was)
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 08:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf