Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 671
  • Last Modified:

Greater/less than... in case statement?

Hi,

My first question, so please bear with me... ;)

Does anyone know of a way to make case statements accept some construction of this kind:

case SomeInt of
  <10: DoSomething;
  10..1000: DoSomethingElse;
  >1000 DoSomethingDifferent;
end;

Yes, I can take a very high/low value for SomeInt (higher/lower than the highest/lowest expected value), like...

case SomeInt of
  -1000000..10: DoSomething;

...or even -2147483647, just to be sure :), and it will work, but it doesn't look/feel right.

BTW, I use D7 Pro.

Thanks!
0
TName
Asked:
TName
2 Solutions
 
geobulCommented:
Hi,

Not possible using case statement. Another way is using if statements but you already know that, right?

if SomeInt < 10 then begin
  DoSomething;
end else begin
  if SomeInt >1000 then begin
    DoSomethingDifferent;
  end else begin
    DoSomethingElse;
  end;
end;

Regards, Geo
0
 
TheRealLokiSenior DeveloperCommented:
hmm, kindof. you could use maxint

case SomeInt of
  10..1000: DoSomethingElse;
  1001..maxint: DoSomethingDifferent;
  else (*anything else is therefore < 10*) DoSomething
end;
0
 
TNameAuthor Commented:

@ geobul:
Yes, I know about if statments (frantically nesting ifs was my first passion when I started coding :), but as I hadn't explicitly ruled out this solution, your hint is valid and so I increased the points, in order to be able to split them (I hope it's ok to do it...)

@TheRealLoki :
Even if it's the same thing "under the hood", it sure is a big improvement. It definitely looks nicer than typing huge numbers.
I didn't know about maxInt (hmm, coming to think of it, I could have declared such a constant myself...).
And now I see there are many of them already declared: "MinDouble", "MaxExtended"...

Thanks!
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now