Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#1

Bug bei Auswertung: if (Zahl in [min..max]) then .. ??

  Alt 28. Aug 2019, 11:52
Delphi-Version: 10.1 Berlin
Hallo,

ich habe gerade ein für mich unlogisches Problem (und ich kann nicht danach suchen, weil "in" und "if" zu kurz für die Suche sind).

Meine Situation im angehaltenen Programm:

Code:
xPos=527
yPos=98

xMin=238
xMax=709

yMin=26
yMax=551
Ich möchte, daß nur in einem Bereich eine Aktion erfolgt, also habe ich sie so eingeklammert:


Delphi-Quellcode:
if (xPos in [xMin..xMax]) and (yPos in [yMin..yMax]) then begin
//Code
end;

Obwohl die obigen Werte xPos und yPos genau in diesen Bereich passen und somit beide Abfragen aus meiner Sicht true sind, wird der Code übersprungen.

Prüfe ich die Werte im angehaltenen Zustand in der IDE und zeige mit der Maus auf yMax, zeigt mir der Hint "yMin..yMax | 26" an, statt den yMax-Wert; auch die Auswerte-Funktion kommt mit dem "Zahl in [a..b]" nicht klar.

Ist das ein Bug?
Muss ich das immer umständlich ausführlich schreiben (if (posX>=xMin) and (posX<=xMax) and...)? Oder gibt's da eine Syntax, die korrekt funktioniert, wie ich es gehofft hatte?
  Mit Zitat antworten Zitat