Once you've drawn a form or two, you can add action code “underneath”
it. For example, when a button is tapped on a calculator, or an item
is select in a list, we'd execute code to handle that action or “event.”
The NS Basic/Palm Desktop, as it's called, includes a code editor that
pops up when a control is double-clicked or right-clicked on at design
time. This is where all your code is written. It's a good editor,
and includes syntax highlighting, as see in Figure 2.
Figure 2: Syntax Highlighting
NS Basic supports over 150 commands and all common control structures.
So, IF, WHILE, FOR Loops – they're all there. But it's the memory
management that makes NS Basic so much easier than C, particularly when
using Strings. As we saw in Table 1, the PalmOS forces a programmer
to be very aware about memory allocations. When programming in C
on the PalmOS, You have to allocate memory, hold a handle, lock it down
to receive a pointer when you want to use it, then unlock and free it when
you're done. NS Basic frees you from that.
I can allocate a string, assign a value to it, and set a field to that
string's value with this tiny bit of code.
Dim
result as integer
Dim
str as string
str
= "scott"
fldSomeField.text
= recordP.somestring
NS Basic also provides functions to access the PalmOS' built in database
manager. They are very flexible and provide all of the power of the
Database, without much of the complexity. For example, here's some
code that spins through a database and populates a ListBox with the Data:
Res
= dbReset(dbSomeData)
lstSomeList.clear
Do
Until Not res = 0
Res
= DbReadNext ( dbSomeData, temp)
if
res = 0 then lstSomeList.add lstSomeList
Loop
Figure 3: Database Code Populating a ListBox
Conclusion
For under $100 with no runtime royalties, NS Basic/Palm is in a class
by itself. Save for a few UI glitches and stylistic issues, it’s
an excellent product. If you know BASIC, you’ll feel right at home.
If you've programmed for the Pilot in C, you’ll find that NS Basic’s built
in functions mirror the PalmSDK’s quite accurately.
|
Pros |
- Easy to Learn Basic
- Reasonable Runtime Size
- Visual Forms Editor
- Good Manual
- Inexpensive
- No royalties
|
|
Cons |
- Can’t use Tables
- No Popup Help ala “AutoComplete”
- No View of Complete Code |
|