Unfortunately without a Device IDE it is no longer possible to whip up quick and dirty programs on an Android device like we could with Basic4ppc on Windows Mobile.
I realised that my BasicLib script interpreter library only lacked one thing that stopped it being used as the basis for an interpreter for a device IDE and that was that it didn't support any means of responding to external events so all it could do was run linear code then exit. Fine for scripts but not for a user driven application that spends most of its time suspended waiting for events to happen. So I added it!
As well as being able to respond to events a program needs to be able to interact with the platform to add controls and access the GUI, file system and other OS services. Unlike previous versions of BasicIDE, which used the normal BasicLib library and relied upon the "Sys" function to call methods, version 2.2, and future, versions use a new BasicLibIDE library that "knows" about the methods in Script.bas so the platform functions are now embedded in the script language. It is important that the version of Script.bas matches that of the BasicLibIDE library as both need to be modified in parallel to add new functions to the language.
The previous Sys and CallHostSub functionality is of course still available.
The demo program here supports the most important views, and their events, for small programs and has graphics and file handling support. Look at Readme.txt for instructions and the comments in the Script module to see what is implemented there.
EDIT :- See post #7 for a suggestion to add Invalidate to the Script module
EDIT :- Version 2.0 posted. See post #8 for details.
EDIT :- Version 2.1 posted. See post #9 for details.
EDIT :- Version 2.2 posted. See post #15 for details.
EDIT :- Version 2.2a posted with the BasicLibIDE library included. See post #17 for details.
EDIT :- Version 2.3 posted. See post #18 for details.
EDIT :- Version 2.4 posted. See post #20 for details.
EDIT :- Version 2.5 posted. See post #23 for details.
EDIT :- JesseW has posted his improved version of the IDE itself, see post #32 for details. You will still need the BasicLibIDE jar and xml from the archive in this post.
EDIT :- Version 2.6 posted. See post #47 for details.
EDIT :- Version 2.7 posted. See post #51 for details.
EDIT :- Version 2.8 posted. See post #52 for details.
EDIT :- Version 2.9 posted. See post #79 for details.
EDIT :- Version 2.91 posted. See post #87 for details.
EDIT :- Version 2.92 posted. See post #92 for details.
EDIT :- Version 2.93 posted. See post #95 for details.
EDIT :- Version 2.94 posted. See post #100 for details.
EDIT :- Version 2.95 posted. See post #118 for details.
EDIT :- Version 2.96 posted. See post #138 for details.
EDIT :- Version 2.97 posted. See post #140 for details.
EDIT :- Version 1.98 of BasicLibIDE is posted below. Use this instead of the version in BasicIDE2.97.zip. It fixes a problem with Call and CallSub.
I realised that my BasicLib script interpreter library only lacked one thing that stopped it being used as the basis for an interpreter for a device IDE and that was that it didn't support any means of responding to external events so all it could do was run linear code then exit. Fine for scripts but not for a user driven application that spends most of its time suspended waiting for events to happen. So I added it!
As well as being able to respond to events a program needs to be able to interact with the platform to add controls and access the GUI, file system and other OS services. Unlike previous versions of BasicIDE, which used the normal BasicLib library and relied upon the "Sys" function to call methods, version 2.2, and future, versions use a new BasicLibIDE library that "knows" about the methods in Script.bas so the platform functions are now embedded in the script language. It is important that the version of Script.bas matches that of the BasicLibIDE library as both need to be modified in parallel to add new functions to the language.
The previous Sys and CallHostSub functionality is of course still available.
The demo program here supports the most important views, and their events, for small programs and has graphics and file handling support. Look at Readme.txt for instructions and the comments in the Script module to see what is implemented there.
EDIT :- See post #7 for a suggestion to add Invalidate to the Script module
EDIT :- Version 2.0 posted. See post #8 for details.
EDIT :- Version 2.1 posted. See post #9 for details.
EDIT :- Version 2.2 posted. See post #15 for details.
EDIT :- Version 2.2a posted with the BasicLibIDE library included. See post #17 for details.
EDIT :- Version 2.3 posted. See post #18 for details.
EDIT :- Version 2.4 posted. See post #20 for details.
EDIT :- Version 2.5 posted. See post #23 for details.
EDIT :- JesseW has posted his improved version of the IDE itself, see post #32 for details. You will still need the BasicLibIDE jar and xml from the archive in this post.
EDIT :- Version 2.6 posted. See post #47 for details.
EDIT :- Version 2.7 posted. See post #51 for details.
EDIT :- Version 2.8 posted. See post #52 for details.
EDIT :- Version 2.9 posted. See post #79 for details.
EDIT :- Version 2.91 posted. See post #87 for details.
EDIT :- Version 2.92 posted. See post #92 for details.
EDIT :- Version 2.93 posted. See post #95 for details.
EDIT :- Version 2.94 posted. See post #100 for details.
EDIT :- Version 2.95 posted. See post #118 for details.
EDIT :- Version 2.96 posted. See post #138 for details.
EDIT :- Version 2.97 posted. See post #140 for details.
EDIT :- Version 1.98 of BasicLibIDE is posted below. Use this instead of the version in BasicIDE2.97.zip. It fixes a problem with Call and CallSub.
Attachments
Last edited: