chris.steketee Posted June 28, 2006 Report Share Posted June 28, 2006 Ok, so this is my problem. Im trying to convert standard military time into a fractional hour time and I'm having a hell of a time with it. Example: 1020hrs would need to equal 103 (or 10.3 if that helps explain it) 1930hrs would equal 105 (or again 10.5 if that helps) The problem I've run into is that I have a big IF / ELSE statement that checks the last 2 digits of the military time, i then have the macro feed that integer into my desired text position in my program, BUT, each of the next IF/ELSE statements also is true so it keeps going through the macro and it keeps feeding in additional characters into text fields where I don't want anything filled in. Example: if the integer is <=05, i want the macro to feed me a 0, and stop checking if the integer is <=10, i want the macro to feed me a 1 if the integer is <= 55, i want the macro to feed me a 9 The IF/ELSE statment I have sees the 05 is <=6 so it gives me a 0, the problem lies in the next statement where the IF/ELSE statement checks to see if the number is <=12, which it also is, so it follow through and adds more text i dont want...I want it to STOP after it has done it first TRUE if statement. Im a hardware tech at heart, so this feels too much like programming to me...any pointers in the right direction would be greatly appreciated. Stek P.S> I have a sneaking suspicion there is a between statment im just missing...if the integer is BETWEEN 0-6 give me a 0, BETWEEN 7-12 give me a 1, BETWEEN 13-18 give me a 3.... Quote Link to comment Share on other sites More sharing options...
randallc Posted June 29, 2006 Report Share Posted June 29, 2006 Hi, Best to show your script; if the integer is BETWEEN 0-6 give me a 0, BETWEEN 7-12 give me a 1, BETWEEN 13-18 give me a 3.... You can do this with "int>7" AND"int<12" Best, Randall Quote Link to comment Share on other sites More sharing options...
joe Posted July 3, 2006 Report Share Posted July 3, 2006 Stek - Without seeing the code, I would suggest reversing the IF/ENDIF test. Test for the higher value (55) first, then the next lower value (10), and then the lowest value (05). There is no BETWEEN statement, however you can accomplish the same thing using the AND statement: // BETWEEN 0-6 give me a 0 // BETWEEN 7-12 give me a 1 // BETWEEN 13-18 give me a 3.... If Variable %N1% >= 0 AND If Variable %N1% <= 6 Variable Set Integer %N2% to 0 End If If Variable %N1% >= 7 AND If Variable %N1% <= 12 Variable Set Integer %N2% to 1 End If If Variable %N1% >= 13 AND If Variable %N1% <= 18 Variable Set Integer %N2% to 3 End If <REM2:BETWEEN 0-6 give me a 0><REM2:BETWEEN 7-12 give me a 1><REM2:BETWEEN 13-18 give me a 3....><IFVAR2:2:01:5:0><AND><IFVAR2:2:01:6:6><IVAR2:02:01:0><ENDIF><IFVAR2:2:01:5:7><AND><IFVAR2:2:01:6:12><IVAR2:02:01:1><ENDIF><IFVAR2:2:01:5:13><AND><IFVAR2:2:01:6:18><IVAR2:02:01:3><ENDIF> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.