Solved

Greater/less than... in case statement?

Posted on 2006-07-06
3
660 Views
Last Modified: 2010-04-05
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
Comment
Question by:TName
3 Comments
 
LVL 17

Assisted Solution

by:geobul
geobul earned 100 total points
ID: 17052210
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
 
LVL 17

Accepted Solution

by:
TheRealLoki earned 250 total points
ID: 17052615
hmm, kindof. you could use maxint

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

Author Comment

by:TName
ID: 17053436

@ 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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Working with hours 3 65
Find and Replace Stream with 0s 8 69
Delphi: sending SMS on android platform 1 36
Delphi android app hide keyboard 3 16
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question