AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Const Array von einem "record"

Ein Thema von StTüff · begonnen am 19. Apr 2004 · letzter Beitrag vom 20. Apr 2004
Antwort Antwort
StTüff

Registriert seit: 3. Dez 2002
132 Beiträge
 
Delphi 2006 Enterprise
 
#1

Const Array von einem "record"

  Alt 19. Apr 2004, 13:39
Hallo!

Kann mir jemand sagen, warum das nicht geht:
Delphi-Quellcode:
Type
   testrec = record
      int1: integer;
      int2: integer;
      int3: integer;
      str1: string;
   end;

const
   test: array [1..5] of testrec =
   (
      (1, 0, 0, 'fdas'),
      (0, 0, 0, 'dsf'),
      (0, 0, 0, 'dsf'),
      (0, 0, 0, 'gf'),
      (0, 0, 0, 'fgf')
   );
Wie realisiert man so was am elegantesten?

Vielen Dank schon mal für Eure Hilfe!

StTüff
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.511 Beiträge
 
Delphi 5 Professional
 
#2

Re: Const Array von einem "record"

  Alt 19. Apr 2004, 13:48
Die korrekte Schreibweise geht so:
Delphi-Quellcode:
const
   test: array [1..2] of testrec =
   (
      (int1:1; int2:0; int3:0; str1:'fdas'),
      (int1:0; int2:0; int3:0; str1:'dsf')
   );
Es empfiehlt sich also, kurze Bezeichner innerhalb des Records zu verwenden; sonst
nutzt sich die Tastatur so ab.
Andreas
  Mit Zitat antworten Zitat
StTüff

Registriert seit: 3. Dez 2002
132 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Const Array von einem "record"

  Alt 19. Apr 2004, 13:50
Hallo!

Das habe ich auch eben bemerk.
Danke für die schnelle Antwort!

StTüff
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
26.472 Beiträge
 
Delphi XE3 Professional
 
#4

Re: Const Array von einem "record"

  Alt 19. Apr 2004, 14:13
Da wir gerade mal dabei sind...

Ich ich nutze ja auch schon 'ne ganze Weile solche Teile und mir ist mal aufgefallen, das man auch einiges in den Records weglassen kann.

Ich weiß nur nicht, ob dann die weggelassenen Teile einen Bestimmten Standardwert bekommen, oder ob die dann auf sonstewas gesetzt werden.

also z.B. statt
Delphi-Quellcode:
const
   test: array [1..2] of testrec =
   (
      (int1:1; int2:0; int3:0; str1:'fdas'),
      (int1:0; int2:0; int3:0; str1:'dsf')
   );
so
Delphi-Quellcode:
const
   test: array [1..2] of testrec =
   (
      (int1:1; str1:'fdas'),
      (str1:'dsf')
   );
Sind die Weggelassenen dann z.B. wie globale Integervariablen auch auf 0?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2013
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Const Array von einem "record"

  Alt 19. Apr 2004, 21:29
Moin!

Zitat von himitsu:
Sind die Weggelassenen dann z.B. wie globale Integervariablen auch auf 0?
Ja, da const - Werte immer im Variablenbereich liegen und dieser Bereich beim Starten des Programms im EXE Header mit einem Flag versehen ist das dieser mit 0'en zu füllen ist bzw. das die Runtime das beim Start macht.

Ausgenommen davon sind lokale Variable in Proceduren/Funktionen, da diese auf dem Heap angelegt werden und somit mit zufälligen Werten der vorherigen "Benutzer des gleichen Speicherbereiches" gefüllt ist.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
26.472 Beiträge
 
Delphi XE3 Professional
 
#6

Re: Const Array von einem "record"

  Alt 19. Apr 2004, 21:40
Also da ich sowas ja eh global mach', kann ich also davon ausgehn, das nicht engebebenen auf 0 / '' ... stehen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2013
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Const Array von einem "record"

  Alt 20. Apr 2004, 00:49
Moin!

Zitat von himitsu:
Also da ich sowas ja eh global mach', kann ich also davon ausgehn, das nicht engebebenen auf 0 / '' ... stehen?
Ja, soweit schon - ja!

MfG
Muetze1
  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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2014 by Daniel R. Wolf