Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Mengenproblem


jalla jalla - Mo 14.03.05 18:18
Titel: Mengenproblem
hi,
ich halte mich heute mal ganz kurz.warum geht das:

Delphi-Quelltext
1:
if not(key in ['A'..'Z'])                    

und das nicht?

Delphi-Quelltext
1:
2:
3:
4:
typ T_alphabet      = 'A'..'Z';
T_alphabetmenge = set of T_alphabet;
...
if not(key in T_aphabetsmenge)

müßte ich da jetzt ne variable vom typ T_alphabetmenge deklarieren und die mit allen möglichkeiten füllen damit das geht? irgendwie ist das viel viel viel zu umständlich! :twisted:

schonaml dangge im vorraus


starlight86 - Mo 14.03.05 18:28

hallo


Delphi-Quelltext
1:
2:
3:
T_alphabetmenge = set of T_alphabet;
...  
if not(key in T_aphabetsmenge)


oben steht T_alphabetmenge, unten T_alphabetsmenge


gruß
starlight

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.


EUOCheffe - Mo 14.03.05 18:35

Probier's mal so:


Delphi-Quelltext
1:
2:
3:
4:
const
  Alphabet = ['A'..'Z'];

if not(key in Alphabet) then...


Zitat:
oben steht T_alphabetmenge, unten T_alphabetsmenge


Ne, unten steht T_aphabetsmenge.


jalla jalla - Mo 14.03.05 23:51

hi,

erstmal dangge für die antworten. so und damit keine weitere verwirrung auftritt
T_alphabetmenge = T_aphabetsmenge
das war nur ein kleine schreibfehler!!!
das ganze mit ner konstanten zu machen ist ja gut, aber wofür deklariere ich denn dann den typen?
das muß doch auch mit dem typen gehen oder?

greetz jalla jalla


EUOCheffe - Di 15.03.05 13:32

Ich glaube, du hast das noch nicht so ganz verstanden. Mein Beispiel zeigt, dass der Ausdruck "['A'..'Z']" eine Konstante und kein Typ ist. Die Konstante ist zwar vom Typ "set of 'A'..'Z'", man braucht aber trotzdem eine Variable oder Konstante, um den IN Operator anwenden zu können. Man kann da nicht einfach einen Typ angeben.

Wenn du das wie folgt schreibst, dann wird das als Konstante vom Typ "set of..." gecastet (würd ich mal behaupten).


Delphi-Quelltext
1:
if not(key in ['A'..'Z'])                    


jalla jalla - Mi 16.03.05 00:30

hi!

denke schon das ich das verstanden habe! *g* vielleicht hab ich nicht deutlich gemacht was ich meinte. also ich meinte warum geht denn das nicht.

Delphi-Quelltext
1:
const Alphabet = T_alphabetsmenge;                    


greetz jalla jalla