![]() |
"In" abfrage für negative Zahlen??
Hey,
ich muss wissen ob "x", "y" in einen bestimmten festgelegten bereich ist. Der fängt allerdings im Negativen an. In der Delphi Hilfe steht das diese Ordinale "in" ein set von 0 aufwärts braucht. Kann mir wer weiterhelfen?
Delphi-Quellcode:
If (x in [-30..250]) and (y in [-128..177]) then ......
|
Re: "In" abfrage für negative Zahlen??
addier doch den differenzbetrag dazu. bsp:
Delphi-Quellcode:
um mal bei deinen werten zu bleiben, oder stellt das ein problem dar?
if (x + 30) in [0..280] then blub
|
Re: "In" abfrage für negative Zahlen??
In geht nicht für negative Zahlen, da ein Set ein Bereich eines Bytes (0..255) hat.
|
Re: "In" abfrage für negative Zahlen??
Ok, danke. Wie kann ich dann überprüfen ob meine Zahl dazwischen liegt? Brauche ja im Prinzip wie "in" nur ein True oder False als rückgabe.
|
Re: "In" abfrage für negative Zahlen??
Delphi-Quellcode:
if (((x > - 30) and (x < 250)) and ((y > -128) and (y < 177))) then
|
Re: "In" abfrage für negative Zahlen??
Das wird nen Kuddel Muddel damit aber danke für den denkansatz :)
|
Re: "In" abfrage für negative Zahlen??
Du kannst ja auch eine Funktion dafür schreiben (wenn es sowas nicht schon gibt?):
Delphi-Quellcode:
function InRange(const Value, aLower, aUpper: Integer): Boolean;
begin Result := ((Value > aLower) and (Value < aUpper)); end; // if ((InRange(x, -30, 250)) and (InRange(y, -128, 177))) then |
Re: "In" abfrage für negative Zahlen??
Dann aber bitte ohne die const-modifier und die überzähligen Klammern ;)
|
Re: "In" abfrage für negative Zahlen??
|
Re: "In" abfrage für negative Zahlen??
Zitat:
Die Klammern: Tja, ein kleines Übel von mir, da ich jeden Ausdruck und die zusammengehörigen klammere *g* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 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