keithdoxey
- 26th September 2005, 22:55
Hi All,
Had a search but cant find an example of what I am trying to do.
I am writing a program to decode various IR formats and have hit a problem with SELECT CASE.
Because the timing of the recieved signals is not exact I want to specify a window of acceptance. I tried using Select Case and although it would compile, the code did not work.
I recreated the segment using IF statements and that worked. I then readded a section of Select Case code where some of the cases are less than, some are more than, and one is a between.
I cant get the between to work. I have tried writing the statement in different ways but it wont compile. Is it possible to perform two tests in a single case ?
Extract of code shown below
If Header > 8800 AND Header < 9200 then Hserout ["NEC??",13]
If Header > 7800 AND Header < 8800 then Hserout ["Pioneer??",13]
If Header > 870 AND Header < 930 then Hserout ["RC5??",13]
If Header > 2500 AND Header < 2800 then Hserout ["RC6??",13]
If Header > 2200 AND Header < 2500 then Hserout ["Sony??",13]
Select Case Header
Case Is < 2000
Hserout ["Not Sony!",13]
Case Is > 7000
Hserout ["NEC type",13]
Case Is > 2200 AND Is < 2500
Hserout ["Sony code",13]
Case Else
Hserout ["Something else",13]
End Select
I would prefer to use Select Case if possible but if not will have to resort to multiple IF statements.
Thanks
Had a search but cant find an example of what I am trying to do.
I am writing a program to decode various IR formats and have hit a problem with SELECT CASE.
Because the timing of the recieved signals is not exact I want to specify a window of acceptance. I tried using Select Case and although it would compile, the code did not work.
I recreated the segment using IF statements and that worked. I then readded a section of Select Case code where some of the cases are less than, some are more than, and one is a between.
I cant get the between to work. I have tried writing the statement in different ways but it wont compile. Is it possible to perform two tests in a single case ?
Extract of code shown below
If Header > 8800 AND Header < 9200 then Hserout ["NEC??",13]
If Header > 7800 AND Header < 8800 then Hserout ["Pioneer??",13]
If Header > 870 AND Header < 930 then Hserout ["RC5??",13]
If Header > 2500 AND Header < 2800 then Hserout ["RC6??",13]
If Header > 2200 AND Header < 2500 then Hserout ["Sony??",13]
Select Case Header
Case Is < 2000
Hserout ["Not Sony!",13]
Case Is > 7000
Hserout ["NEC type",13]
Case Is > 2200 AND Is < 2500
Hserout ["Sony code",13]
Case Else
Hserout ["Something else",13]
End Select
I would prefer to use Select Case if possible but if not will have to resort to multiple IF statements.
Thanks