![]() |
E1012 Konstantenausdruck verletzt untere Grenzen
Hallo,
ich weiß das Thema war schon einmal aber die Lösungen haben mir nicht geholfen. Das ist mein Problem:
Delphi-Quellcode:
Es kommt die Meldung
procedure TForm1.imgMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin stat.Panels[1].Text := IntToStr(X); if (X in [120..290]) and (Y in [89..91]) then begin stat.Panels[1].Text := 'foo'; end; Zitat:
Ich denke ja, denn eine Lösung wird es ja sicher geben, nur komme ich nicht drauf. |
Re: E1012 Konstantenausdruck verletzt untere Grenzen
Sets gehen nur bis 255 (Byte) - der Konstantenausdruck verletzt also die obere Grenze ;)
Nein, es gibt keine erweiterungsmöglichkeit, du musst dir wohl eine kleine Funktion schreiben: function isBetween(value, min, max: Integer):Boolean; ;) |
Re: E1012 Konstantenausdruck verletzt untere Grenzen
Ok werde ich machen, danke dir. :cheers:
|
Re: E1012 Konstantenausdruck verletzt untere Grenzen
Oder , da der Bereich weniger als 255 Elemente umfasst:
Delphi-Quellcode:
X-120 in [0..170])
|
Re: E1012 Konstantenausdruck verletzt untere Grenzen
Nach dem ich noch einmal wegen between gesucht habe (nur interessehalber), bin ich hier auf eine gute Lösung von sakura gestoßen:
![]()
Delphi-Quellcode:
Nur falls noch jemand das Problem haben sollte... :dp:
if (I >= 8) and (I <= 12) then ....
|
Re: E1012 Konstantenausdruck verletzt untere Grenzen
...oder einfach die Funktion
![]() |
Re: E1012 Konstantenausdruck verletzt untere Grenzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr. |
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