AGB  ·  Datenschutz  ·  Impressum  







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

'=' erwartet, aber ':' gefunden

Ein Thema von steppo · begonnen am 20. Mär 2005 · letzter Beitrag vom 20. Mär 2005
Antwort Antwort
Seite 1 von 3  1 23      
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

'=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 03:42
Kann mir jemand sagen, warum ich bei folgender Konstellation diese Fehlermeldung erhalte.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls;

type
  TBuchstabe = (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z, ae, oe, ue);


  TBuchstaben: array[TBuchstabe] of string = 'a', 'b', 'c', 'd', 'e', 'f', 'g',//In dieser Zeile Tritt der Fehler auf.
    'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
    'v', 'w', 'x', 'y', 'z', 'ae', 'oe', 'ue');

type
  TMatrix = record
    Buchstabe: TBuchstaben;
    Binaer: integer;
  end;
Fehlermeldung:
[Fehler] Unit1.pas(14): '=' erwartet, aber ':' gefunden

Ich möchte später das Record Matrix mit werten füllen.
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 04:20
Moin Steppo,

hier
TBuchstaben: array[TBuchstabe] of string .... muss noch ein const davor.
Das ist ja kein Typ mehr.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
PattyPur

Registriert seit: 27. Aug 2002
7 Beiträge
 
#3

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 08:19
Ausserdem hast du vergessen die Klammer aufzumachen hinter dem =
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#4

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 09:20
Delphi-Quellcode:
  TBuchstaben: array[TBuchstabe] of string = 'a', 'b', 'c', 'd', 'e', 'f', 'g',//In dieser Zeile Tritt der Fehler auf.
    'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
    'v', 'w', 'x', 'y', 'z', 'ae', 'oe', 'ue');
Abgesehen davon muss, soweit ich weiß, in den eckigen Klammern nach dem Array die Anzahl der Elemente stehen, und nicht, von welchem Typ sie sein sollen. Sonst brauchst du ein set of.... Oder?
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 09:28
Hi,

wenn Deine Strings immer den Enum-Namen entsprechen (scheint hier der Fall zu sein), kannst Du auch schreiben:

Delphi-Quellcode:
uses
  TypInfo;

// ...
var
  s: string;
  b: TBuchstabe;
begin
  b := u; // z.B.
  s := GetEnumName(TypeInfo(TBuchstabe), Integer(b)); // gibt den String "u" zurück
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 12:30
Danke Leute für die schnelle Antwort.

O.K

Werde das Problem genauer beschreiben.

TBuchstabe ist ein Aufzählungstyp.

Delphi-Quellcode:
type
  TBuchstabe = (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z, ae, oe, ue);
TBuchstaben ist ein array dieses vorher genannten Aufzählungstypen.

Delphi-Quellcode:
TBuchstaben: array[TBuchstabe] of string = ('a', 'b', 'c', 'd', 'e', 'f', 'g',
    'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
    'v', 'w', 'x', 'y', 'z', 'ae', 'oe', 'ue');
Das heißt, das sich der Berich in diesem Array (welches sonst mit [0..28]) definiert würde) von a bis ue erstreckt.

Diese Konstrukt brauche ich nachher, um die Position im Array zu bestimmen.
Das heißt in dem Record werden zwei Werte gespeichert.

Delphi-Quellcode:
type
  TMatrix = record
    Buchstabe: TBuchstaben;
    Binaer: integer;
  end;
1. Ein Wert
2. Ein String ermittelt aus der Position des Aufzählungstypen.

Das ganze soll nachher so aussehen.

In dem nachher, in der Procedur entstehenden Array, werden die Werte:
TMatrxi = Buchstabe:a,Binaer:1;Buchstabe:b,Binaer:2,usw

Hoffe ich konnte das ganze jetzt verdeutlichen.

Den Aufzählungstypen brauche ich lediglich, um die Position im Array von Typ string zu bestimmen.
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#7

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 12:53
Sehe ich das jetzt richtig, dass du dadurch die Nummer des jeweiligen Buchstaben im Alphabet herausfinden willst?
Einfacher währe eigentlich, über den ASCII-Code zu gehen.
Wenn ich mich recht entsinne, bekommst du zum Beispiel mit
ord('A') die Zahl 65 zurück. Nehme das Ergebnis also Minus 64 und du hast die Nummer des Buchstaben im Alphabet; Kleinbuchstaben solltest du vorher UpperCase setzen, damit du nicht verschiedene Startwerte subtrahieren musst.

Was dein Konstrukt angeht, so kann ich nur die bereits gegebenen Hinweise nennen:
In die Eckige Klammer hinter dem Array-Bezeichner kannst du keinen Typennamen schreiben, da muss die Anzahl der Elemente hin. Desweiteren hast du vor der Aufzählung der Strings die öffnende Klammer vergessen, und ob die runde Klammer "(" dafür die richtige ist, würde ich bezweifeln. Müsste eigentlich "[" sein, oder "{"...eins von beiden jedenfalls

Bis dann,

S - tefano

[Edit]
Oder lass die eckige Klammer hinter dem Array-Bezeichner ganz weg, wenn du schon eine konstante vordefinierte Menge von Elementen hast, geht das glaube ich auch automatisch.
[/Edit]
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#8

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 12:58
Zitat von S - tefano:
und ob die runde Klammer "(" dafür die richtige ist, würde ich bezweifeln. Müsste eigentlich "[" sein, oder "{"...eins von beiden jedenfalls
Die geschweifte Klammer ( "{...}" ) ist es ganz sicher nicht, da diese in Delphi (Pascal) als Kommentar interpretiert wird
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#9

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 13:01
...hups...
Achja, zu den Umlauten noch:
Die ord-Methode wird dir da zwar einen Wert zurückgeben, da musst du dann aber soweit ich weiß eine Zahl >65 abziehen, weil Umlaute ja so eine Art regionales Sonderzeichen sind und nicht im "normalen" Alphabet vorkommen.
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: '=' erwartet, aber ':' gefunden

  Alt 20. Mär 2005, 13:07
Die oeffnede Klammer ist vorhanden. Habe sie nur vergessen zu Kopieren.

Habe das ganze schonmal in einer Unit verwendet, um Feiertage zu bestimmen. Warumes jedoch jetzt nicht funktioniert ist mir ein Rätsel.

Wie gesagt, es wird laut kompilier eine = anstatt eines Doppelpunktes erwartet.
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:01 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