|
Post by Carl Gundel on Jul 14, 2020 16:33:30 GMT -5
Hey all,
I know we are not used to Liberty BASIC being cross platform so, when you report a bug in LB5 you should try to remember to state:
1) What operating system and version 2) 32 or 64 bit version of LB? 3) LB build number 4) The specifics of the computer where appropriate. For example if you are drawing graphics what kind of display (i.e. retina display?)
Thanks,
-Carl
|
|
hap2u
New Member
Posts: 17
|
Post by hap2u on Jun 10, 2023 9:24:23 GMT -5
1) What operating system and version: Windows 11 2) 32 or 64 bit version of LB?: 64 bit 3) LB build number: v5.353 4) Microsoft Surface 7 pro
[v.5.353.CODE] FOR X = 1 TO 9 NEXT X print : print "[ X=";X;"]" END
'X' Should have the value of 10 I am getting X=9 on line after NEXT This is Bad, makes all sort of error handling problems crop up in my LB, Qbasic and Model 100 programs feed into LB v5
|
|
|
Post by tenochtitlanuk on Jun 10, 2023 11:36:39 GMT -5
Experienced programmers wouldn't make dogmatic statements about loop value on exit! In many BASICs and other languages the loop counter has local scope and is not available at all outside the loop. In others you may find the external value on exit is the loop-limit, or one bigger.
Hence Google ( for example) wisely quotes things like...
It's also generally recommended against using "i" after you exit the loop in most coding standards I have ever read.
You're on your own too if you change say x to 2 ( or 200!) inside the loop.
LB 4 and 5 do have graceful exit from for/next if needed.
It's worth reading Wikipedia..
Loop variable scope and semantics Different languages specify different rules for what value the loop variable will hold on termination of its loop, and indeed some hold that it "becomes undefined".
|
|
hap2u
New Member
Posts: 17
|
Post by hap2u on Mar 28, 2024 17:14:23 GMT -5
1) Operating system and version: Windows 11 2) LB version: 64-bit 3) LB build number: v5.353 4) Device: Microsoft Surface Pro 7
I am trying to convert an RS M100 program into L5.
Minor issues: - The [EXIT] file command is not functioning; closing with the top right [X] is required. - The BEEP command is not operational.
<For> X=? <to> ??.. <NEXT>: the NEXT command does not increment the value of X. Typically, both past and current Basics increase the value of X after passing through <next>. This could lead to difficult-to-detect issues when translating programs into LB5 from other Basics. I was able to compensate for this with ease.
Pressing the [ENTER] key results in the variable from <INPUT> retaining the last entered value. This can be adjusted, potentially even to a beneficial effect.
Major problem: - There is a conflict between <GOSUB ..>:<GOTO..>; I receive a [gosub to non-existent label <ok>] error message. After I press <ok>, the execution proceeds to the label's [return], and the program execution is frozen. App does not want to close.
|
|
|
Post by Rod on Mar 29, 2024 5:09:03 GMT -5
Can we see the whole program. Some of these issues are known. BEEP for instance does not work on most computers these days. FOR NEXT has been discussed but GOSUB and GOTO have to be coding issues . INPUT works way differently from the old inkey$ command. But we need to see the code please.
|
|
|
Post by tsh73 on Mar 29, 2024 6:51:02 GMT -5
Was FOR issue reported earlier? Looks pretty breaking for me, and it better be for good reasons. Referencing "many BASICs and other languages" is not the thing I would buy - they are OTHER languages.
|
|
|
Post by Rod on Mar 29, 2024 7:39:49 GMT -5
Well yes in the two previous posts. While I can see both arguments I would have to say that the answer should be 10. Otherwise a lot of my old programs will bug out. But we need to see these other issues in code.
|
|