Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit Mengen (https://www.delphipraxis.net/41384-problem-mit-mengen.html)

Neutral General 2. Mär 2005 16:42


Problem mit Mengen
 
Also irgendwie steh ich aufm Schlauch :

Delphi-Quellcode:
type
 TGegeben = set of (Radius,Hoehe,Umfang,Grundflaeche,Volumen,Oberflaeche);

var
 Geg : TGegeben;

procedure KeineAhnung;
begin
Geg := Geg + [Hoehe]; // "Ordinaltyp erforderlich !"
end;
Da kommt bei der Zeile die Meldung das ein Ordinaltyp erforderlich sei :roll:
Wie geht das denn sonst ? Das hat ma so funktioniert :mrgreen:

maximov 2. Mär 2005 16:45

Re: Problem mit Mengen
 
Das ist richtig. und bei mir kompiliert das auch prima.

Aber an der spelle würd ich auch include verwenden.

PS: du hast Hoehe bestimmt wo anders deklariert! Da wette ich.

Neutral General 2. Mär 2005 16:48

Re: Problem mit Mengen
 
Stimmt in einer Klasse -.-
Was hat das Hoehe aus der Klasse mit dem set zu tun :roll:

Treffnix 2. Mär 2005 16:56

Re: Problem mit Mengen
 
Schau einfach mal, was die Codevervollständig von Hoehe hält oder such nach der Deklaration und lass dich überraschen. Ansonsten benenn halt Hoehe im Set mal in was anderes um.

Hansa 2. Mär 2005 17:02

Re: Problem mit Mengen
 
Zitat:

Zitat von Neutral General
Delphi-Quellcode:
type
 TGegeben = set of (Radius,Hoehe,Umfang,Grundflaeche,Volumen,Oberflaeche);

var
 Geg : TGegeben;

procedure KeineAhnung;
begin
Geg := Geg + [Hoehe]; // "Ordinaltyp erforderlich !"
end;

Häufiger Denkfehler. Und zwar gleich zweimal. 8) Wo wird Geg überhaupt initialisiert ? Und selbst wenn es anderswo initialisiert wurde : da kann man nur sagen, "sage mir eine Zahl und ich rechne aus, was das 5-fache davon ist". Ohne daß Du die Zahl nennst. 8)

maximov 2. Mär 2005 17:12

Re: Problem mit Mengen
 
Zitat:

Zitat von Hansa
...Häufiger Denkfehler. Und zwar gleich zweimal. 8) Wo wird Geg überhaupt initialisiert ? Und selbst wenn es anderswo initialisiert wurde : da kann man nur sagen, "sage mir eine Zahl und ich rechne aus, was das 5-fache davon ist". Ohne daß Du die Zahl nennst. 8)

Das macht sinn :drunken: ...aber nicht in diesem zusammenhang.

himitsu 2. Mär 2005 17:13

Re: Problem mit Mengen
 
Zitat:

Zitat von Neutral General
Stimmt in einer Klasse -.-
Was hat das Hoehe aus der Klasse mit dem set zu tun :roll:

Tja, woher soll der Compiler denn wissen, welches "Hoehe" du dort verwenden willst, meistens nimmt der ja die letzte deklaration.

:warn: Also immer aufpassen, wo du welchen namen verwendest.

PS: du kannst ja mal die einzelnen Werde des Sets umbenennen, oftmals wird in soeinem Fall ein Teil des Set-Namens verwendet.
So kann man dann auch mal ähnliche Typen Deklarieren, ohne gleich wieder in einen Namenskonflikt zu geraden. :zwinker:

Delphi-Quellcode:
Type TGegeben = Set of (GegRadius, GegHoehe, GegUmfang,
    GegGrundflaeche, GegVolumen, GegOberflaeche);

  TSoll = Set of (SoRadius, SoHoehe, SoUmfang,
    SoGrundflaeche, SoVolumen, SoOberflaeche);

Neutral General 2. Mär 2005 17:21

Re: Problem mit Mengen
 
Ja es funktioniert jetzt :)
Hab meine Setelemente umbenannt...

Hansa 2. Mär 2005 17:24

Re: Problem mit Mengen
 
Zitat:

Zitat von maximov
...Das macht sinn ...aber nicht in diesem zusammenhang.

Ich merke, das Ganze ist schon fast zu hoch. 8) Hier fehlen absolute Grundlagen. Ein Ordinaltyp und ein Aufzählungstyp sind 2 Paar Schuhe. Aber keiner merkts und sieht nicht mal die beiden anderen Fehler. :mrgreen:

himitsu 2. Mär 2005 17:33

Re: Problem mit Mengen
 
Zitat:

Zitat von Hansa
Ich merke, das Ganze ist schon fast zu hoch. 8) Hier fehlen absolute Grundlagen. Ein Ordinaltyp und ein Aufzählungstyp sind 2 Paar Schuhe. Aber keiner merkts und sieht nicht mal die beiden anderen Fehler. :mrgreen:

Also die einzelnen Werte eines Set-Typs sin ja schließlich ordinale Typen, also stimmt das schon ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz