Actions
Bug #882
openFor loop fails if Step is set using hex or a binary *constant*
Start date:
12/24/2021
Due date:
% Done:
0%
Estimated time:
Affected version:
Description
I can use a variable without a problem. I can also use a decimal constant.
If, however, I use a binary or hex constant, the For loop will continue past the limit.
For example:
This works:
gbStart=$E1E1
gbEnd=$FFFF
gbStep=$202
For gb=gbStart To gbEnd Step gbStep
Locate 0,0 : Print Hex$(gb,6);
Print Using "-##########";gb
Wait Key
Next gb
This will also work:
gbStart=$E1E1
gbEnd=$FFFF
gbStep=$202
For gb=gbStart To gbEnd Step 514
Locate 0,0 : Print Hex$(gb,6);
Print Using "-##########";gb
Wait Key
Next gb
This will NOT work:
gbStart=$E1E1
gbEnd=$FFFF
gbStep=$202
For gb=gbStart To gbEnd Step $202
Locate 0,0 : Print Hex$(gb,6);
Print Using "-##########";gb
Wait Key
Next gb
This also will NOT work:
gbStart=$E1E1
gbEnd=$FFFF
gbStep=$202
For gb=gbStart To gbEnd Step %001000000010
Locate 0,0 : Print Hex$(gb,6);
Print Using "-##########";gb
Wait Key
Next gb
Updated by Brian Flanagan almost 3 years ago
- Status changed from Resolved to Feedback
- Affected version changed from 1.0.0 (B11) u17 to 1.0.0 (B12) u19
Still fails. (re-tested in newest 1.0.0 (B12) u19 version (as of 2/16/2022)
Loop still continues beyond the limit.
Here's another example:
gbStart=$E1E1
gbEnd=$FFFF
gbStep=$202
Print Using "Start: -##########";gbStart
Print Using "End: -##########";gbEnd
For gb=gbStart To gbEnd Step $202
Locate 0,3
Print Hex$(gb,6);
Print Using "-##########";gb;
If gb > gbEnd Then Locate 20,1 : Print Using "< -##########";gb
Wait 0.3
Next gb
Why? For some applications, it's easier to do things in Hex!
Actions