![]() |
|
|||||||
| Newsgroup de.comp.lang.delphi.misc Borlands Delphi, Anwendung + Programmierung. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Hallo,
in Delphi 2009 habe ich folgendes Problem: var i: integer; .... if (i in [1..5]) then -> wird compiliert if (i in [1000..5000]) then -> wird *nicht* compiliert: Fehler E1012 Konstantenausdruck verletzt untere Grenzen. Dürfen in einer Aufzählung nur 'kleine' Zahlen stehen. Wenn ja, wo ist die Grenze? In der Hilfe habe ich dazu nichts gefunden. Was kann ich tun (außer einer doppelten </> Abfrage) ? Gruß René |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
Hallo René,
> if (i in [1..5]) then -> wird compiliert > if (i in [1000..5000]) then -> wird *nicht* compiliert: Fehler E1012 > Konstantenausdruck verletzt untere Grenzen. > > > Dürfen in einer Aufzählung nur 'kleine' Zahlen stehen. Wenn ja, wo ist > die Grenze? In der Hilfe habe ich dazu nichts gefunden. > Was kann ich tun (außer einer doppelten </> Abfrage) ? das Problem ist nicht die Aufzählung .. sondern die Menge. Mit 1000..5000 definierst Du ein Aufzählung von 1000..5000. Durch die eckigen Klammer drumherum baust du eine Menge die alle Werte der Ausfzählung enthält. Leider kann eine Menge nur bis zu 512 Werte enthalten. Deswegen erhälts Du die Fehlermeldung. Alternativen: if (1000 <= i) and (i <= 5000) then ...; oder case i of 1000..5000: ...; end; Ciao Heinz Z. |
|
#3
|
|||
|
|||
|
Rene Kadner schrieb:
> in Delphi 2009 habe ich folgendes Problem: > > var i: integer; > ... > if (i in [1..5]) then -> wird compiliert > if (i in [1000..5000]) then -> wird *nicht* compiliert: Fehler E1012 > Konstantenausdruck verletzt untere Grenzen. Mengen dürfen nur maximal 256 Werte haben. Martin |
|
#4
|
|||
|
|||
|
Hallo Martin,
> Mengen dürfen nur maximal 256 Werte haben. das ist Richtig. :-) Ciao Heinz Z. |
|
#5
|
|||
|
|||
|
"Heinz Zastrau" <heinz.zastrau*gmx.de> wrote:
>Hallo Martin, > >> Mengen dürfen nur maximal 256 Werte haben. > >das ist Richtig. :-) <aufzeig und hüpf aufgeregt> Und das mit dem IF war auch falsch!!!!elf </aufzeig und hüpf aufgeregt> -- mit freundlichen Grüßen! Password Must Be at Least 18770 Characters Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords |
|
#6
|
|||
|
|||
|
> [..] Leider kann eine Menge nur bis zu 512 Werte enthalten. Deswegen
> erhälts Du die Fehlermeldung. Danke. Das hatte ich in der OH nicht gefunden. > if (1000 <= i) and (i <= 5000) then ...; die hier nicht ganz :-), aber vom Prinzip her klar. > case i of > 1000..5000: ...; > end; Das wäre nicht schlecht, würden nicht noch weitere Bedingungen in der IF Anweisung stehen. Das mit dem Menge oben wäre einleuchtend. Ein "in [1000, 5000]" führt aber zur gleichen Fehlermeldung. Das könnte der Compiler ja "lässig" in ein OR wandeln. -> Durch Versuche habe ich nun herausbekommen, dass innerhalb der [] Klammern nur Zahlen bis 255 akzeptiert werden. Deine 512 oben sind also leider auch schon zu viel. Gruß René |
|
#7
|
|||
|
|||
|
Hallo Holger,
> <aufzeig und hüpf aufgeregt> > > Und das mit dem IF war auch falsch!!!!elf > > </aufzeig und hüpf aufgeregt> und weil du so aufmerksam bist, darfst Du auch noch erklären was falsch ist. Ciao Heinz Z. |
|
#8
|
|||
|
|||
|
Hallo René
>> if (1000 <= i) and (i <= 5000) then ...; > die hier nicht ganz :-), was fehlt DIr denn da noch? >> case i of >> 1000..5000: ...; >> end; > Das wäre nicht schlecht, würden nicht noch weitere Bedingungen in der IF > Anweisung stehen. Wieso lassen denn weitere Bedingungen diese Lösung schlect aussehen? Ciao Heinz Z. |
|
#9
|
|||
|
|||
|
"Heinz Zastrau" <heinz.zastrau*gmx.de> wrote:
>>> if (1000 <= i) and (i <= 5000) then ...; >> die hier nicht ganz :-), > >was fehlt DIr denn da noch? Ein > -- mit freundlichen Grüßen! Password Must Be at Least 18770 Characters Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords |
|
#10
|
|||
|
|||
|
Rene Kadner wrote:
> Deine 512 oben sind also leider auch schon zu viel. Zu Mengen gibt es eine Compileroption, diese hochzusetzen. Carsten |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| Aufzählung | Eberhard Siebel | Newsgroup de.comp.office-pakete.staroffice.writer | 5 | 09-07-2009 03:44 PM |
| erste RDP-Anmeldug geht noch, die zweite geht nicht mehr (Windows 2008) | Carsten L. | Newsgroup microsoft.public.de.german.windows.server.general | 1 | 08-14-2008 02:53 PM |
| Es geht nicht um Tatsachen, ging es noch nie bei IHNEN - es geht nurum Absprachen und schon ist der Deal perfekt. | tobias.metzler@gmx.de | Newsgroup de.soc.weltanschauung.scientology | 0 | 12-10-2007 12:16 AM |
| TB und Junk - geht, geht nicht... | Werner Flamme | Newsgroup de.comm.software.mozilla.mailnews | 0 | 11-26-2007 05:40 PM |
| Was geht, was geht nicht beim Gestalten von Schaltflächen? | Andreas Borutta | Newsgroup de.comp.office-pakete.staroffice.writer | 110 | 01-21-2004 08:00 PM |