AGB  ·  Datenschutz  ·  Impressum  







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

const array of record

Offene Frage von "himitsu"
Ein Thema von akurka · begonnen am 20. Apr 2014 · letzter Beitrag vom 20. Apr 2014
Antwort Antwort
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#1

const array of record

  Alt 20. Apr 2014, 10:34
Hallo,
Seit Stunden suche nach dem Fehler, kann mir jemand helfen?


interface

type
T_Anzeigefeld=record
Ze,Zl :byte;
end;

T_Anzeigefelder=array [1..10] of T_Anzeigefeld;

const
A1 :T_Anzeigefeld =(Ze:1; Zl:1);
A2 :T_Anzeigefeld =(Ze:9 ; Zl:1);
A3 :T_Anzeigefeld =(Ze:17; Zl:1);
A4 :T_Anzeigefeld =(Ze:25; Zl:1 );
A5 :T_Anzeigefeld =(Ze:33; Zl:1 );
A6 :T_Anzeigefeld =(Ze:41; Zl:1 );
A7 :T_Anzeigefeld =(Ze:49; Zl:1 );
A8 :T_Anzeigefeld =(Ze:57; Zl:1 );
A9 :T_Anzeigefeld =(Ze:65; Zl:1 );
A10:T_Anzeigefeld =(Ze:73; Zl:1 );

K_Anzeigefelder :T_Anzeigefelder =(A1¦,A2,A3,A4,A5,A6,A7,A8,A9,A10);
// hier ist der Fehler bei der Kompilation, Fehler cursor: ¦
//---------------------------------------------------------------------------------------------------------------------------
[Fehler] NCKU09.pas(233): '(' erwartet, aber Bezeichner 'A1' gefunden
[Fehler] NCKU09.pas(233): Konstantenausdruck erwartet
[Fehler] NCKU09.pas(233): Konstantenausdruck erwartet
[Fataler Fehler] NCKU00.PAS(13): Verwendete Unit 'NCKU09.pas' kann nicht compiliert werden
//---------------------------------
.. Meine Entwicklungsumgebung ist Delphi7
Vielen Dank zum Voraus.
Anton Kurka

Geändert von akurka (20. Apr 2014 um 10:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: const array of record

  Alt 20. Apr 2014, 10:44
Es steht doch da?
Der Compiler erlaubt es nunmal nicht, dort andere Record-Konstanten einzubinden, drum erwartet er auch eine direkte Angabe.
Delphi-Quellcode:
type
  T_Anzeigefeld = record
    Ze, Zl: Byte;
  end;
  T_Anzeigefelder = array[1..10] of T_Anzeigefeld;
  // oder
  //T_Anzeigefelder = array[1..10] of record
  // Ze, Zl: Byte;
  //end;

const
  K_Anzeigefelder: T_Anzeigefelder = (
    (Ze: 1; Zl: 1),
    (Ze: 9; Zl: 1),
    (Ze: 17; Zl: 1),
    (Ze: 25; Zl: 1),
    (Ze: 33; Zl: 1),
    (Ze: 41; Zl: 1),
    (Ze: 49; Zl: 1),
    (Ze: 57; Zl: 1),
    (Ze: 65; Zl: 1),
    (Ze: 73; Zl: 1));
PS: Es sei vielleicht erwähnt, daß Record-Konstanten (und einige Andere) im Delphi "eigentlich" nur schreibgeschützte Variablen sind,
darum auch der Folgefehler "Konstantenausdruck erwartet".
$2B or not $2B

Geändert von himitsu (20. Apr 2014 um 10:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#3

AW: const array of record

  Alt 20. Apr 2014, 11:01
Hallo himitsu,
Danke Dir vielmal, jetzt lauft es. Ich wäre selber nicht darauf gekommen.
Anton Kurka
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: const array of record

  Alt 20. Apr 2014, 11:13
Bitte.

Mit fällt grade auf, daß es wie Folgt auch nicht geht.
Delphi-Quellcode:
const
  A1_Ze = 1; // untypisierte Konstante
  A1_Zl = 1;
  A2_Ze: Byte = 9; // typisierte Konstante
  A2_Zl: Byte = 1;

  K_Anzeigefelder: T_Anzeigefelder = ((A1_Ze, A1_Zl), (A2_Ze, A2_Zl), ...);
Egal ob typisiert oder nicht, wobei ich noch erwartet hätte, daß es zumindestens untypisiert ginge.
$2B or not $2B
  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 22:18 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