Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Konstantenausdruck verletzt untere Grenzen (https://www.delphipraxis.net/169194-konstantenausdruck-verletzt-untere-grenzen.html)

Alex_ITA01 4. Jul 2012 13:53

Konstantenausdruck verletzt untere Grenzen
 
Hallo zusammen,
kann mir einer erklären, warum folgender Code nicht geht:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  tmpInt : Integer;
begin
  tmpInt := -1;
  if tmpInt in [-1..2] then
    ShowMessage('1');
end;
Dieser aber geht:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  tmpInt : Integer;
begin
  tmpInt := -1;
  if tmpInt in [0..2] then
    ShowMessage('1');
end;
Ein Integer kann ja schließlich negativ sein...
Vielleicht habe ich aber auch ein Denkfehler?!

Beim oberen Code kommt die besagte Fehlermeldung, weil ich in eckigen Klammern eine -1 übergebe.

Gruß
Alex

DeddyH 4. Jul 2012 13:57

AW: Konstantenausdruck verletzt untere Grenzen
 
Mengen (Sets) liegen immer im Bereich Byte, daher geht der gültige Wertebereich von 0 bis 255.

Alex_ITA01 4. Jul 2012 14:00

AW: Konstantenausdruck verletzt untere Grenzen
 
Alles klar, dass wusste ich nicht.

Was wäre denn die "gängige" Variante um einen Integer auf einen Bereich abzufragen?

Gruß
Alex

Uwe Raabe 4. Jul 2012 14:09

AW: Konstantenausdruck verletzt untere Grenzen
 
Zitat:

Zitat von Alex_ITA01 (Beitrag 1173520)
Was wäre denn die "gängige" Variante um einen Integer auf einen Bereich abzufragen?

InRange

himitsu 4. Jul 2012 14:11

AW: Konstantenausdruck verletzt untere Grenzen
 
Delphi-Quellcode:
if (i >= i_min) and (i <= i_max) then xyz;

case i of i_min..i_max: xyz end; // :stupid:
oder das genannte Delphi-Referenz durchsuchenInRange :angle2:

Alex_ITA01 4. Jul 2012 14:16

AW: Konstantenausdruck verletzt untere Grenzen
 
Danke schön. InRange kann ich auch nicht :-)

DeddyH 4. Jul 2012 14:17

AW: Konstantenausdruck verletzt untere Grenzen
 
Was gibt es denn da zu können? Ist doch eine ganz normale Funktion :gruebel:

himitsu 4. Jul 2012 15:06

AW: Konstantenausdruck verletzt untere Grenzen
 
Vermutlich die Abkürzung für "kannte" :angle:
(würde ich einfach mal aus dem :-) schließen)

DeddyH 4. Jul 2012 15:27

AW: Konstantenausdruck verletzt untere Grenzen
 
OK, macht Sinn. Trotzdem eine sehr merkwürdige Abkürzung.

Iwo Asnet 4. Jul 2012 16:12

AW: Konstantenausdruck verletzt untere Grenzen
 
Wieso merkwürd? :stupid:
In Berlin wird das als 'Kannteckneesch' (Mario Barth), bzw. 'kantegneh' aggregiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Seite 1 von 2  1 2   

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