NSB/AppStudio Release History

The Easiest way to Program Mobile Devices!

Welcome to NSB/AppStudio!

This document shows all enhancements and fixes to NSB/AppStudio, by release.

  1. Language: SQLImport() improved.
  2. Samples: Northwind sample enhanced to show an update.
Documentation Changes for Version
  1. SQLImport() enhanced. The fourth parameter, overwrite, now has 4 possible values. It can be used in the function and in the manifest.
    NSB.overwriteAlwaysoverwrite the existing database (default).
    NSB.overwriteNeveronly write out database if it does not exist yet.
    NSB.overwriteIfVersionDifferentoverwrite if the version number of the database has changed.
    NSB.overwriteIfVersionSameoverwrite if the version number of the database is the same.
    SQLImport now returns a string with the status to the callback function.

  1. Compile: Fix intermittent crash on compile with SQLite.

  1. iOS6: Support added for Camera.
  2. iOS6: Support added for getting files from picture folder.
  3. iOS6: Cached file limit increased from 5 to 25 megs.
  4. Library: Retina library added. Allows higher quality images to be displayed.
  5. Samples: New RetinaHiRes sample.
  6. Samples: New Camera sample.
  7. Deploy: Local deploy to PhoneGap improved. See below.
  8. Deploy: Cordova updated to 2.0.0
  9. About Screen: now shows versions of installed modules.
  10. Language: SysInfo(2) and SysInfo(3) results improved.
Documentation Changes for Version 2.6.0
  1. Camera Support added: The TextBox control has a new input type: File. If you select that, a Choose File button will appear in your app. If you click on that, you will get the option of taking a picture or choosing an existing picture from Photos. See the Camera sample for more.

  2. Retina support added: This allows the display of Hi Res images on devices which support them. To use, add the Retina library to your project. Then, for each image you want to have displayed in Hi Res, add an additional image named xxx@2x.jpg to your project and in the manifest. See the RetinaHiRes sample for more.

  3. Local deploy to PhoneGap improved. In Deploy Options, if you select "Deploy to local or DropBox public folder, you can specify the location of the www folder inside your PhoneGap SDK project. When you deploy, all the files your app needs will be copied to this folder.

  4. iOS6: Changes to how SQLite and localStorage are used by iOS6. There have been important and significant changes. Read this blog post for more information.

  1. IDE: Add default form size for Nexus 7.
  2. IDE: Fix small bug causing incorrect save prompts in limited cases.
  3. Language: Add new control.resize(left, top, width, height) function.
  4. Translator: Fix problem with functionName_xxx variables.

  1. Code Window: Added .text to autocomplete.
  2. Code Window: Function/Sub popdown formatting improved.
  3. Code Window: Go to event was creating new event when one existed.
  4. Installer: Now has a certificate. Should help with Norton install.
  5. Language: NSB.InputBox sets focus and bring up soft keyboard.
  6. Library: Retina.js library added.
  7. Runtime: Internal logging improved.
  8. Samples: New Retina sample shows how to do HiRes images on iOS.
  9. Translator: Fix hang on Sub name with no parameters.

  1. Design Screen: Fix right click to create event function.
  2. IDE: Add ThemeRoller link to Options menu.
  3. Samples: Add ThemeRoller sample.

  1. Code Window: Fix spurious syntax error on Function statements.

  1. Code Window: Pulldown function list cleaned up and sorts properly.
  2. Code Window: Right click and Find now opens Find with current selection.
  3. Controls: ComboBox, Select now have a .text property.
  4. Controls: ComboBox, Select with empty initial list fixed.
  5. Controls: ComboBox, Select: Changing .ListIndex calls _onchange, _onclick.
  6. Controls: Controls now have a .Visible property.
  7. Controls: Label now has Caption property.
  8. Controls: TextBox, TextArea controls now have .text property.
  9. Docs: Handbook and Language Reference updated.
  10. Runtime: CSng() uses more digits of precision.
  11. Samples: Now opens complex pathnames properly.
  12. Translator: Dim a(5):s=a(b.c+1) gets proper brackets.
  13. Translator: Empty function args now default to empty string.
  14. Translator: Function variable names now initialized as empty strings.
  15. Translator: Internal function Format() renamed to fix potential conflict.

  1. Code Window: Fix syntax highlighting on Case Else.
  2. Controls: Add align property to Label, TextBox ad TextArea.
  3. Controls: Add List, ListCount and ListIndex to ComboBox and Select.
  4. Controls: Added setSelectionRange() to TextArea.
  5. Controls: Rendering bug fixed in Twitter control.
  6. Controls: Trim item names in NavBar and FooterBar.
  7. IDE: fixed problem with demo timeout.
  8. Language: Erase now works on multidimensional arrays.
  9. Libraries: Added new xml2json library.
  10. Samples: Added HelloWorldHebrew sample.
  11. Samples: Added SAP sample.
  12. Translator: Button1_onclick now translates to Button1_onclick().
  13. Translator: Dim a(3):s=a(b.c) fixed.
  14. Translator: Function names used as variables in functions fixed.
  15. Translator: MsgBox 10^2 no longer hangs IDE.

  1. Code Window: Auto complete improved for a number of controls.
  2. Deploy: improved messages if local deploy fails.
  3. IDE: Added new -ftp-active start up command line switch
  4. IDE: Problem with Reset IDE fixed.
  5. IDE: Removed Del key that was behaving ambiguously.
  6. IDE: Updated demo message.
  7. Language: NSB.ShowProgress can now be removed with an empty argument.
  8. Samples: A number of samples updated.
  9. ToolBox: FaceBook and PayPal no longer error if offline.
  10. ToolBox: FaceBook and PayPal now have .hide() and .show() functions.


  1. Code Window: AutoComplete list filters as you add letters.
  2. Code Window: AutoComplete now completes on (, [ and space as well as tab.
  3. Code Window: Changed so case normalization happens before autocomplete.
  4. Code Window: Focus now placed in code window when switching to it.
  5. Controls: _requiredFiles can be located outside of /nsb now.
  6. Controls: Add .hide() and .show() methods. (Forms too)
  7. Controls: Add .top, .left, .height and .width properties. (Forms too)
  8. Controls: Added option for smaller version of several jQM controls.
  9. Controls: New jQWidgets: Tabs, DragDrop, Button, SwitchButton and Chart.
  10. Controls: jQM List control addItem() can now add headings too. (Thanks, Mathew Craig!)
  11. Controls: jQM RadioButton now has a value() method.
  12. Controls: jQM Slider now has a setValue() method.
  13. Controls: New Facebook control.
  14. Controls: New Twitter control.
  15. Controls: Reduce number of files that TitleBar loads.
  16. Controls: Select now returns an array when doing multiple selections.
  17. Controls: Support added for jqWidgets
  18. Controls: Toolbox files are now YAML.
  19. Deploy: SQLite databases can be included. See Tech Note 5.
  20. Deploy: Add Deploy to a local path.
  21. Deploy: Add local path field to Deploy Options.
  22. Deploy: Add support for Deploy to Dropbox Public folder.
  23. Deploy: Cache event progress messages made nicer.
  24. Deploy: checks existence of local path when running in local browser.
  25. Deploy: complexfunctions.js and iscroll.js no longer included if not needed.
  26. Deploy: Default splash screen updated.
  27. Deploy: fix problem with apps sometimes not starting in local browser.
  28. Deploy: Fixed configxml splash screen due to change in PhoneGap.
  29. Deploy: Fixed error in ftp error handling.
  30. Deploy: Files with absolute paths should deploy properly.
  31. Deploy: FTP does not die if folder already exists.
  32. Deploy: jQuery Mobile updated to release 1.1.0.
  33. Deploy: Name of the manifest file changed.
  34. Deploy: New project property: manifestFile. See docs below.
  35. Deploy: phonegap.js is added to headers automatically for PhoneGap Build.
  36. Deploy: Separate files for NSB.MsgBox now combined with others.
  37. Deploy: Splashscreens, icon and background images no longer have to be added to manifest.
  38. Deploy: Use of Project.id cleaned up.
  39. Deploy: Windows Phone is now on Native Build Status screen.
  40. Deploy: PhoneGap Build download changed as a result of Chrome change.
  41. Design Screen: Improvements to grid.
  42. Design Screen: Forms which have openMode of true will not display with others.
  43. Deploy: Faster deploy and loading of apps due to less files.
  44. Docs: Handbook and Language Reference updated.
  45. IDE: Find dialog now keeps recent items.
  46. IDE: Find/Replace can now do entire project, current code window or all open code windows.
  47. IDE: Fix problem with apps sometimes not loading.
  48. IDE: Now functions if no project open.
  49. IDE: Pathnames no longer stored in project files.
  50. IDE: Problem with unicode in pathname at startup fixed.
  51. IDE: Some menu shortcuts added.
  52. IDE: Sony Experia added to list of standard screen sizes.
  53. IDE: Deploy Options screen now resizable.
  54. Installer: settings problem for initial install fixed.
  55. Translator: DatePart("w",Now()) fixed.
  56. Language: New SQLExport() function added.
  57. Language: New SQLImport() function added.
  58. Language: New NSB.ShowProgress() function added.
  59. Langauge: SqlCreateDatabase will create new database with version="".
  60. Libraries: Add Windows Phone Metro theme.
  61. Libraries: Fix incorrect file name in Sencha library.
  62. Libraries: jQuery library added.
  63. Property Grid: changes are now saved when focus is lost.
  64. Samples: ControlArray sample added.
  65. Samples: New nsbShowProgress sample.
  66. Samples: New Northwind sample shows how to deploy a database.
  67. Samples: New Twitter and Facebook samples.
  68. Samples: Update AjaxStockQuote to use script injection technique.
  69. Samples: Update samples and tutorials to use ChangeForm()
  70. Setup: Delete obsolete History.htm file.
  71. Setup: Experiment with downloading from DropBox Public area.
  72. Toolbox: Financial is now Finance & Social Media
  73. Translator: a="string"\n'Set fixed.
  74. Translator: Dim Antenna_Matrix(1,1) fixed.
  75. Translator: If F1.style.display<>"none" Then... fixed.
  76. Translator: if url("http://www.google.com") Then... fixed.
Documentation Changes for Version 2.5.0
  1. jqWidgets: Support has been added for jqWidgets. Most of these powerful widgets can be used alongside Class and jQuery Mobile widgets. They include Tabs, Chart, SwitchButton and the very interesting DragDrop, which lets you move other controls around. The jqWidgets Button will not work in a jQuery Mobile app due to styling conflicts. jqWidgets is free for non commercial use, but costs if you want to use it in an app you sell. See their website for full details.

    To use this, the jqWidgets library needs to be installed. Download it from http://www.jqwidgets.com/download/, unzip it and copy its 'jqwidgets' folder into your project folder.

  2. Twitter and Facebook: The new Twitter and Facebook controls make it easy to add a links to them in your app. See the Twitter and Facebook samples.

  3. NSB.ShowProgress(message): This new statement displays a status message in the bottom middle of the screen. Your app can cancel the message at any time by calling NSB.ShowProgress(false).

  4. manifestFile: This new project property can be manifest or appcache. Use appcache for all new projects - the HTML5 standard has changed. Appcache is required for deploy to DropBox Public folder.

  5. Database Import/Export: New functions have been added (SQLExport, SQLImport) to convert a database to a JSON object which can be easily transferred to and from a server using AJAX. See SqlSample1 to see them in action.

  6. Deploy Databases: You can now add a database to the manifest. The IDE will convert it to a JavaScript file that gets included in your project. When your project launches for the first time, the database will created and be ready for use without any extra work on your part. See the Northwind sample.

  7. Windows Phone: Apps can now be produced for Windows Phone 7 devices. As web apps, they cannot run offline, since Microsoft has not implemented HTML5 caching. This is a new area - the catches and restrictions are still be mapped out.

    • Apps that need to run offline should be compiled using PhoneGap.
    • To use the Windows Metro Theme, check the "Windows Metro Theme" library.
    • Use the jQuery Mobile framework.
    • Blank out the backgroundimage property.
    • Set the theme of your project to A or B.
    • Set the theme of your controls to A or B.
  8. New properties: People have been asking for a simpler way to change common properties. This has been added for top, left, height, width, hide() and show(). Examples:

      Button1.top=100  'Same as Button1.style.top="100px"
      Button1.hide()   'Same as Button1.style.display="none"
      Button1.show()   'Same as Button1.style.display="block"
    A couple of restrictions: height and width do not work PictureBox or Image; hide() and show() do not work on Android forms.

  1. Code Window: Add Math object.
  2. Code Window: Improve AutoComplete parsing.
  3. Controls: ComboBox Classic: removeItem function added. (Thanks, Norman Peelman!)
  4. Controls: jQM List can now have variable width.
  5. Controls: jQM RadioButton fixed with update to jQuery Mobile.
  6. Controls: jQM Select has new multiple selection property.
  7. Controls: jQM Select: selected* functions return arrays for multiple selections.
  8. Controls: PictureBox background now fills entire control.
  9. Deploy: Fix problem with browser warning and iPad splashscreen.
  10. Deploy: Script and Link entries generated from _requiredFiles
  11. Design Screen: Clicking on a blank area of the form now selects the form instead of nothing.
  12. Framework: jQueryMobile updated to 1.1.0 RC2
  13. IDE: .keyCode is now a keyword.
  14. IDE: Clicking from Design Screen to Project Explorer selected wrong item.
  15. IDE: Fix crash on resize.
  16. IDE: Fix problem saving minimized dimensions on exit.
  17. IDE: Changing framework does not leave Design Screen blank.
  18. Installer: Fix shortcut to Readme.htm.
  19. Translator: Fix $("#T_A").A({selectedItem:2})

  1. Code Window: Slow processing of large code modules fixed.
  2. Code Window: White box on autocomplete fixed.
  3. IDE: Main Window size saved for restart.
  4. Samples: Rename SideBySizeForm to SplitView
  5. Samples: Web Worker sample added (Thanks, Christian!)
  6. Controls: Add backgroundColor to PictureBox.


  1. Code Windows: Autocomplete for objects added.
  2. IDE: Support for Libraries added. See below.
  3. Libraries: AddToHomePage added. Prompts iOS user to add add to Home page.
  4. Libraries: Stanford Encryption library added.
  5. Libraries: SpinningWheel control added.
  6. Libraries: Sencha Touch framework added.
  7. Libraries: PhoneGap (Cordova) added.
  8. Code Window: Problem with function list on mixed JS and Basic fixed.
  9. Controls: Forms now have onhide and onshow events when using ChangeForm.
  10. Controls: getItem(i) function added to jQM List and Classic Menu controls.
  11. Controls: jQM List - fix formatting problem with dividers.
  12. Controls: jQM Slider top, left, etc. fixed.
  13. Controls: NSB.MsgBox - fix spacing on buttons in iOS.
  14. Controls: Classic ComboBox now has .setValue() function.
  15. Deploy: Improve logic for removing deploy status box. (Thanks, Roy!)
  16. Deploy: Upgrade to jQuery Mobile 1.1
  17. Docs: Handbook and Language Reference updated.
  18. IDE: Fix unicode in Find/Replace as well as other places.
  19. IDE: Launch time improved.
  20. IDE: Make Cancel button the default on Options screen.
  21. IDE: If maximized, state is restored properly after restart.
  22. IDE: New Project and Open Samples screens are now resizable.
  23. IDE: Installer Inno Setup is now 5.4.3 (u).
  24. IDE: Installation on Arabic systems fixed.
  25. Language: ChangeForm switches forms. See docs.
  26. Language: New global NSBCurrentForm returns the current form. See Docs.
  27. Language: New global NSBFramework variable returns "Classic" or "jQueryMobile".
  28. Language: CStr and CDate now return 'undefined' if appropriate.
  29. Runtime: Fix .disabled so it works properly on older browsers.
  30. Samples: New AjaxStockQuote sample.
  31. Samples: New Dialog sample shows how to use forms as dialog boxes.
  32. Samples: Folders reorganized. Libraries have their own folder now.
  33. Translator: s="__x__('y'" fixed.
  34. Translator: Bug in DatePart() for leap years fixed.
Documentation Changes for Version 2.1.0
  1. We recommend doing an uninstall of the old version before installing 2.1.

  2. Library support added. Libraries are modules which can optionally be added to your app. When you click on Project Properties, a list of them appears in the ToolBox. Click their checkbox and they will be automatically included in your project. A couple of libraries are already included: one to implement Encryption, and the other to automatically put a prompt to add to the home screen of iOS devices. (This feature is still evolving during the beta period.)

  3. The new release changes some internal functions. Be sure to do a full deploy of your apps the first time you run them in the new release.

  4. getItem(i) is a new function for menu style controls. If you pass the number of the user's menu choice to it, the text of the item will be returned.

  5. ChangeForm(newForm) is a new function which makes changing forms easier. oldForm_onhide() is called on the current form, and newForm_onshow() is called on the new form.

  6. NSBCurrentForm returns the current form when using ChangeForm() to change forms.

  1. Runtime: jQM controls no longer cause errors on older devices.
  2. ToolBox: FlipToggle now supports user supplied values.
  3. ToolBox: FlipToggle.setValue(n) function added. See sample.
  4. Translator: Dim str=InStr(a,b) was translating slowly.
  5. Translator: Error in JavaScript sections fixed.
Documentation Changes for Version
  1. The .disabled property is not supported for jQuery Mobile controls when running on old devices (Android 2.1, iOS 3,4

  1. ToolBox: Fix configurable error on certain controls in Safari.

  1. IDE: Problem in Find/Replace fixed.
  2. ToolBox: FlipToggle fixed for latest version of Chrome.

  1. IDE: Find dialog is no longer modal.
  2. IDE: Fixed bug in registration screen.
  3. PhoneGap: Format of ID in config.xml corrected.
  4. ToolBox: .disabled property added to all jQM controls.
  5. ToolBox: MultiInput with scrolling fixed.
  6. ToolBox: NSB.MsgBox can now handle HTML formatted text.
  7. ToolBox: NSB.MsgBox colors links properly.
  8. ToolBox: Select fixed for latest version of Chrome (17.0.963.46)
  9. ToolBox: Setting disabled to True in IDE now works for most jQM controls.
  10. Translator: 2^3^4 fixed.
  11. Translator: Problem with For...Each fixed.

  1. Code Window: Case normalization fixed in JavaScript mode.
  2. Code Window: Fix incorrect syntax error on object delete.
  3. IDE: Fix problems with Open Project if last project no longer exists.
  4. IDE: Kill special processing of .txt files.
  5. IDE: Make Open Project more robust.
  6. PhoneGap: Description and ID now inserted into config.xml.
  7. Samples: New GetIPAddress sample.
  8. Technotes: New #11: Ajax made Simple.
  9. Tutorials: Updated for New Project screen.

  1. Code Window: line number increased to 4 digits.
  2. Runtime: problem with Ajax async fixed.
  3. Samples: Add highlight button sample code to jQM NavBar sample.
  4. Samples: Ajax samples now upload their PHP scripts.
  5. Samples: More cleanup to folders.
  6. ToolBox: Classic ButtonBar now has option for no default.
  7. Translator: Fix to complex calculations with exponentiation.
Documentation Changes for Version
  1. You should uninstall the old version before installing this one. The Sample folders were reorganized. Deleting the old sample folders will keep things tidy.

  1. IDE: backgroundimage on new project corrected.
  2. Samples: Add highlight button sample code to jQM FooterBar sample.

  1. Samples: New CustomFont sample.
  2. Samples: Move generic controls to Folder 4.
  3. ToolBox: Refresh CheckBox and RadioButton after setValue.
  4. Samples: Correct bug in CheckBox sample.
  5. Translator: Replace("Marcello", "ce", ";;") fixed.
Documentation Changes for Version
  1. You should uninstall the old version before installing this one. The Sample folders were reorganized. Deleting the old files will keep things tidy.

  1. Translator: fix problems with "&"
  2. Language: Fix Date function.
  3. ToolBox: Refresh CheckBox and RadioButton after setValue.
  4. Samples: Correct bug in CheckBox sample.


  1. IDE: Add new default screen sizes on New Project.
  2. IDE: Added landscape form factors to New Project.
  3. Code Window: Highlight 'Step' keyword.
  4. Docs: Handbook and Language Reference updated.
  5. Language: TimeSerial() now carries result if values are large.
  6. Runtime: jQuery Mobile updated to version 1.0.1.
  7. Samples: AddToNumbers: add a reset button.
  8. Samples: jQM List: Show text of selected item.
  9. Samples: new jQM ListWithScrolling sample.
  10. Samples: new SQLSample3.
  11. Samples: New Transitions sample - work in progress.
  12. Samples: Open Sample screen is resizable - more improvements coming.
  13. Toolbox: Add setIndex() function to Select control.
  14. Toolbox: Fix default on 'hidden' property.
  15. ToolBox: jQM FooterBar on new form fixed.
  16. Toolbox: native menu is now the default.
  17. Translator: CDate("hh:yy:ss") fixed.
  18. Translator: Replace(a, "&", "&") fixed.
  19. Translator: Replace(a,"&", "&") fixed.
  20. Translator: text in comments no longer affects function defs.

  1. Samples: Bug in Twitter example fixed.
  2. Runtime: Missing INVALID_STATE_ERR constant fixed.
  3. Controls: Another error fixed in Select (jQM). Thanks, Roy Ing!
  4. Controls: FooterBar.refresh() function added.
  5. Translator: For x=0 to x<=50 (illegal syntax) no longer hangs the IDE.
Documentation Changes for Version
  1. If you go to another form with a jQuery FooterBar, you need to call FooterBar1.refresh() after showing the new form. (change name as needed.)

  1. Samples: Typos in descriptions fixed.
  2. Docs: Redundant files remove from Tech Notes.
  3. Demo: Demo period reset for all users.
  4. Controls: Error fixed in Select (jQM). Thanks, Roy Ing!


  1. jQuery Mobile control support added.
  2. Language: Ajax() can now do asynchronous calls
  3. IDE: New option on View menu to show Grid on Design Screen.
  4. IDE: New Project dialog greatly enhanced. See below.
  5. Samples: Open Sample dialog greatly enhanced.
  6. Deploy: Standalone Desktop apps can now be made. See Tech Note 10.
  7. Deploy: Desktop apps can now be sold on Chrome Web Store.
  8. Controls: Classic Titlebar now has 'minus' icon.
  9. Language: FormatDateTime has many new formats. See Language Reference.
  10. Design Screen: Now handles form.left properly.
  11. Deploy: Comments in config.xml improved.
  12. Docs: Controls moved to their own chapter.
  13. Docs: Handbook and Language Reference updated.
  14. IDE: Description added to Project Properties.
  15. IDE: Size to grid setting now remembered between sessions.
  16. IDE: Change to icon or splashscreen now saved properly.
  17. IDE: Code to save preferences redone internally.
  18. iMenuTextBlock was causing problems in other controls.
  19. Samples folders reorganized.
  20. Samples: Descriptions added to all samples.
  21. Samples: new KitchenSink (jQuery Mobile) sample.
  22. Samples: new AjaxGetWebFile sample.
  23. Samples: new AjaxLog sample.
  24. Samples: new AjaxAsync sample.
  25. Samples: HelloWorld improved.
  26. Samples: new FormatDateTime sample.
  27. Code Window: Incorrect syntax error on With statement fixed.
  28. Translator: Now handled syntax errors more gracefully.
  29. Translator: Fix myCollection.add("a","b")
  30. Translator: Problem with complex exponentiation fixed.
  31. Translator: Extra code no longer emitted after (incorrect) Next i.
  32. Translator: Print String(2-2,"0") & "---" & String(2-1, "0") fixed.
  33. Translator: Dim a '1: 2: fixed.
  34. Translator: ReDim a(UBound(b),1) fixed.
  35. Translator: sURL = sURL & "&" & params fixed.
  36. Translator: lineWidth no longer changes to lower case.
  37. Translator: Problem with 'loop while' fixed.
  38. Translator: If Left(s,1)="{" then a=1 fixed.
  39. Translator: Dim gYEnd: Function Image1_onclick() fixed.
  40. Translator: Form1.style.width="100%" fixed.
Documentation Changes for Version 1.5.0
  1. jQuery Mobile is widely used framework of controls that now works with NSB/AppStudio. The jQuery controls are more fully featured and attractive than the Classic controls NSB/AppStudio has used. They also take a bit more screen real estate, which means they are not pixel for pixel replacements. Classic controls will continue to work and be supported as before.

    To use them, change the framework project setting to jQuery Mobile. Only do this to new projects: Classic controls will not work in the same project as jQuery Mobile controls.

    Converting a project from Classic to jQuery Mobile is some work. A project created using Classic will open in jQuery Mobile, but many of the controls will be badly formatted. They should be replaced by their jQuery Mobile counterparts. Your code will probably not need any changes so long as you give your new controls the same ID as the one they are replacing.

  2. The New Project dialog allows selection of framework, default form size and language.

  3. The FormatDateTime() function has a number of new formats, including vbYYYYMMDD, vbDDdotMMdotYY, vbDDdotMMdotYYYY, vbYYslashMMslashDD, vbDDslashMMslashYY, vbYYYYhyphenMMhyphenDD, "DD.MM.YY", "DD.MM.YYYY", "DD/MM/YY", "DD/MM/YYYY", "DD-MM-YY", "DD-MM-YYYY", "DDMMYY", "DDMMYYYY", "YY.MM.DD", "YYYY.MM.DD", "YY/MM/DD", "YYYY/MM/DD", "YY-MM-DD", "YYYY-MM-DD", "YYMMDD", "YYYYMMDD", "MM.DD.YY", "MM.DD.YYYY", "MM/DD/YY", "MM/DD/YYYY", "MM-DD-YY", "MM-DD-YYYY", "MMDDYY", "MMDDYYYY".


  1. Language: Added new Ajax() function.
  2. Language: Support added for Collections.
  3. Samples: Added AjaxPost sample: reverse a string and save as file on server.
  4. Samples: Add Collections sample.
  5. Samples: New C# WebSockets sample. (Thanks to Christian Probst!)
  6. Controls: Added false to Hidden property.
  7. Controls: Font styling added to DateTime controls.
  8. Controls: Allow width to be changed on Checkbox, RadioButton.
  9. Docs: Handbook and Language Reference updated.
  10. Translator: BTNew changing to BTnew fixed.
  11. Translator: If a then MsgBox 0 fixed.
  12. Translator: MsgBox 0 no longer shows blank.
  13. Translator: Case of 'Case' no longer changed to 'case'
  14. Translator: MsgBox false no longer shows blank.
  15. Translator: Object.Add and Object Delete added: collections!
  16. Translator: UBound(object) returns items in object.
  17. Translator: Comments with embedded colons fixed.
Documentation Changes for Version 1.4.2
  1. The new Ajax function is a more powerful version of ReadFile(). It can directly replace ReadFile, plus do POST. POST lets you send larger files to the server - the usual limit is 8 megs, but this can be increased. Calling arguments are Ajax(URL, method, data), which URL is the name of the file or server side script, method is GET or POST, and data is a string containing the data you wish to transfer. Only the URL argument is required: if method is not supplied, it defaults to GET.

  2. Collections: A collection is like an array, except the members are accessed by name instead of number.


  1. Controls: Add new RadioButton control. Replaces OptionButton.
  2. Language: ReadFile() can now specify method. See Language Reference.
  3. Code Window: Auto Indent/Outdent improved for Select and Do Loop.
  4. Controls: Form has new properties: left, top and openMode.
  5. Controls: Button: fix iOS padding problem. Now matches Design Screen.
  6. Controls: Button: Orange flash on Android should finally be gone.
  7. Controls: Grid - cellstyle now applies to all cells.
  8. Controls: TextBox: fix iOS padding problem. Now matches Design Screen.
  9. Docs: Handbook and Language Reference updated.
  10. IDE: Typo fixed in save message.
  11. Language: NSBVersion fixed.
  12. Runtime: Improve logic to hide URL bar on iOS.
  13. Runtime: NSB.InputBox bombed when used with Sencha Touch.
  14. Runtime: NSB.InputBox no longer bounces in Android.
  15. Runtime: Multiple forms can be opened side by side.
  16. Samples: Added new Ajax sample.
  17. Samples: Added new RadioButton sample.
  18. Samples: Added new SideBySideFormsTablet sample.
  19. ToolBox: Search feature added.
Documentation Changes for Version 1.4.1
  1. TextBox and Input box: These controls had a problem. On iOS devices, they were showing 10 pixels wider than in the Design Screen and on Android devices. The problem was fixed by setting padding:0px in the internal code which creates them. This change will affect the appearance of your programs on iOS devices. It should actually make most of them look better, especially short textboxes and buttons. To go back to the old appearance, you will need to add "padding:10px;" to the style property of the control.

  2. RadioButton: This new control is much improved over the old OptionButton control. While OptionButton will continue to work, its use is discouraged. The new one is much prettier. You can set up all the options in one control, instead of needing a control for each one. It also has a much simpler interface. See the Language Reference for the details.

  3. Forms no longer have to be full screen and you can have more than one open at a time. This allows techniques like side by side forms on tablets (see sample) and pop up dialog boxes.


  1. ToolBox: Completely replaced - vastly improved!
  2. ToolBox: All new icons!
  3. ToolBox: Drag and drop controls to Design Screen.
  4. Controls: New Data, DateTime, Month and Time controls. (iOS5)
  5. Controls: New Slider control (iOS5)
  6. ToolBox: Double click adds control to Design Screen.
  7. Code Window: Indentation problem fixed with 'If' after a blank line.
  8. Code Window: Recompile of source code improved.
  9. Code Window: Syntax checking is back.
  10. Code Window: Very long statements are handled much better.
  11. Controls: PayPal - New addField() function added.
  12. Controls: PayPal - Subscribe and Unsubscribe added.
  13. Controls: CommandButton is now called Button.
  14. Deploy: Build status screen appearance improved.
  15. Deploy: Unicode characters allowed in configxml.
  16. Docs: Handbook and Language Reference updated.
  17. Docs: Tutorials 1-4 overhauled.
  18. Design Screen: Right click to add control do so at cursor position.
  19. IDE: Added "Reset IDE Panels" to View Menu.
  20. IDE: Control descriptions now appear in the Hints area.
  21. IDE: Format of .nsx file improved for more readability.
  22. IDE: View menu fixed.
  23. Installation: Unicode characters allowed in install path.
  24. Property Box: Spaces in control ID no longer allowed.
  25. Runtime: NSB.InputBox input field sized properly on Safari.
  26. Runtime: NSB.InputBox no longer bounces on Android
  27. Samples: New Slider sample (iOS5)
  28. Samples: DateTime updated to use new controls.
  29. Translator: Integer Divide operator now works ("\")
  30. Translator: VBCritical now parses properly.
  31. Translator: Multiple statements per line using : fixed.
Documentation Changes for Version 1.4.0
  1. The ToolBox has been overhauled. It looks a lot nicer, can scroll (so users with small screens can see all the controls again) and has some new features. To add controls to your project, either drag & drop them or double click.


  1. Deploy: config.xml file now created automatically. See below.
  2. Controls: Adsense - id property added.
  3. Controls: Textarea now has single finger scrolling (iOS 5)
  4. Deploy: PhoneGap Build 404 errors now handled gracefully.
  5. Globals: AppBuildStamp, AppLegalCopyright, AppVersion, NSBVersion added.
  6. IDE: New control: range slider. Part of TextBox. (iOS 5)
  7. IDE: New project property: configxml
  8. IDE: New project property: Version
  9. IDE: phonegap property removed. See below.
  10. Runtime: Buttons no longer have orange flash on Android
  11. TechNotes: New Tech Note 8: Web Apps Compared to PhoneGap Apps
Documentation Changes for Version 1.3.1
  1. Config.xml is a file that PhoneGap uses for its settings: icon, program name, version, features used, etc. Until now, you had to create this file yourself. Now, it is generated automatically using the information already in your project. To customize it for your own needs, edit configxml in Project Properties. Full documentation on config.xml is here.

  2. The phonegap property has been removed from Project Properties. It conflicted with PhoneGap Build and was rarely used. To accomplish the same thing, add <script src="phonegap.js"></script> to the extraheaders property.

  3. Range

    The Range option in the TextBox control allows you to have an input slider. (iOS 5).


  1. PhoneGap: Can now create native apps directly in NSB/AppStudio.
  2. Controls: New AdSense control lets you add advertising to your app.
  3. Language: New NSB.InputBox function
  4. Language: New NSB.MsgBox function
  5. Controls: ComboBox: Complete overhaul, much easier to use. See below.
  6. Controls: Add new Date, DateTime, Month and Time input types for iOS5.
  7. Code Window: 'is' and 'in' are now treated as a keywords.
  8. Code Window: Search now handles unicode characters.
  9. Code Window: Fixed bug on line continations.
  10. Controls: Menus now refresh automatically when items added or deleted.
  11. Controls: Menus: Scrolling fixed on MenuNumber* controls.
  12. Controls: Menus: several formatting problems fixed.
  13. Deploy: NETWORK: * is default in manifest. See below.
  14. Docs: Handbook and Language Reference updated.
  15. IDE: Amazon Fire screen size added. (see below)
  16. IDE: File name at top of the screen corrected.
  17. Language: New Sort() function - see sample in Folder 3.
  18. Language: Values of vbYes and vbNo changed from true, false to 6,7.
  19. Language: MsgBox returns new values for vbYes and vbNo.
  20. Language: Add encodeURI() and decodeURI() to documentation
  21. Language: Add encodeURLComponent() and decodeURIComponent() to docs.
  22. Runtime: iScroll updated to 4.1.9
  23. Samples: New DateTime sample.
  24. Samples: New Sort sample.
  25. Samples: All web samples have improved manifests.
  26. Samples: FaceBookAPI and GoogleReverseGeocoding should now work.
  27. Samples: Geolocation updated due to change on Google's server.
  28. Samples: New AdSense sample.
  29. Samples: New nsbMsgBox sample shows MsgBox and InputPrompt.
  30. Samples: LocalStorage enhanced with extreme comments. (Thanks, Alan Heverly!)
  31. Controls: Fixes to Adsense (
  32. Code Window: NSB is now auto capitalized. (
  33. Language: Values of vbOK and VBCancel changed to 1,2. (
  34. Language: Force a one time update to translation of all modules (
  35. Controls: Fixes to Adsense (
  36. Controls: Fix NSB.MsgBox positioning on Android devices (
  37. Docs: Update Handbook, Language Reference and TechNotes. (

Documentation Changes for Version 1.3.0

  1. iOS5: This release brings support for new features in iOS5. Unfortunately, iOS5 has a bug which affects all web apps (not just NS Basic generated ones). It is recorded as Bug 9519157 in Apple's tracking system. The first time an app is run after it is saved to the Home screen, if in offline mode, will show a message that internet access is required. The message can be ignored: it will only appear once.

  2. PhoneGap Build in NSB/AppStudio: We have now added the ability to create native apps using PhoneGap directly into NSB/AppStudio. Here is what you need to do:

    1. If you have a PhoneGap Email and Password, enter it into Deploy Options (under the Tools menu). Otherwise, a demo account will be used.
    2. From the Run menu, choose "Build Native App".
    3. From the Run menu, check the status of your build in "Get Native Build Status".
    4. As the builds complete, the URLs to download them will appear on this screen.
    5. Do whatever else you need to do to deploy the native app to the device.
    6. To set additional options for the build, create a config.xml file in your home directory. See https://build.phonegap.com/docs/config-xml.

  3. ComboBox: Now much easier to use, and supports setting up the list in the IDE. Old implmentation should continue to work. See updated sample.

  4. Manifest: NETWORK: * is now part of the default manifest. This means that any external reference is now allowed. This is especially helpful if you are doing complex operations with external servers. If you add your own NETWORK: section to your manifest, it will override the default setting.

  5. New AdSense Control: AdSense lets you put advertising on your page. If your customer clicks on it, your AdSense account at Google will earn money. To use this, first sign up with AdSense.com, then fill the account details into the control's properties. Note that if the customer clicks on an ad, your program will end and the customer will be taken to the ad's website. Make sure you keep your current state saved so you can restart.

  6. New NSB.MsgBox control: The current MsgBox statement reads "JavaScript" instead of the program name, and is missing many features found in the VBScript version. The new NSB.MsgBox remedies this - it has all the features of the VBScript statement and more: such as custom icons.

    There is one significant difference. All execution is not stopped until the user responds (as the current MsgBox and the VBScript one do). The screen will lock out all other input, but execution will continue. Once the user has dismissed the NSB.MsgBox, a function in the program can be called to deal with the result.

    See the new nsbMsgBox sample.

  7. New NSB.InputBox control: Implemented much like NSB.MsgBox.

  8. Amazon Fire support: While we support the screensize of the device, we have not actually gotten one to test yet. No promises until we do!


  1. Samples: Nearly all have been revised and new comments added.
  2. Controls: All scrolling controls now have a refresh() method. See below.
  3. Docs: Handbook and Language Reference updated.
  4. Code Window: 'Not', 'True' and 'False' were not colored correctly.
  5. Code Window: False syntax error on Do statement fixed.
  6. Controls: Form now has some events.
  7. Controls: nsbbutton class improved.
  8. Controls: Remove href="#" tags - fixes refresh problem.
  9. Deploy: Incorrect browser message can be changed.
  10. Language: New global: Location. See Language Reference.
  11. Samples: New Picturebox_ScrollAndZoom sample.
  12. Samples: Reorganized folders.

Documentation Changes for Version 1.2.6

  1. Scrolling controls: All now have a .refresh() method, which replaces having to do SetTimeout(control_ref.refresh(),100). Now you just need to do control.refresh() after the content of a scrolling area is rendered or updated.


  1. Samples: TextToSpeech sample added.
  2. Samples: New Encrypt sample added.
  3. Controls: new PayPal button control to "Buy Now" or "Donate".
  4. Controls: new ButtonBar control.
  5. Samples: new Sencha\KitchenSink (work in progress)
  6. Code Window: improve syntax error checking for HTML blocks.
  7. Code Window: Fix line continuation problem with syntax checking.
  8. Code Window: Fix problem with block comment selection.
  9. Code Window: Fixed generated event functions in JavaScript mode.
  10. Controls: Grid has new refresh() function.
  11. Controls: iMenu.addItem now adds images properly. (Thanks, Brian Leach!)
  12. Controls: Audio and Video no longer have extra / in tag.
  13. Deploy: Improvements for IIS servers.
  14. Deploy: Improvements to server folder creation.
  15. Deploy: Streamline some HTML in the header.
  16. Deploy: Manifest file now called index.manifest for PhoneGap.
  17. Docs: Handbook and Language Reference updated.
  18. Language: GetRef() function added. See Language Reference.
  19. Samples: fixes to Base64Image, Signature, SqlSample1
  20. Samples: Reorganized folder.
  21. Sencha: Added Overlay() function. See Sencha\KitchenSink sample
  22. Translater: Functions with "_" in their name fixed.
  23. Translator: x = {b: {d: a, e: a}, c: a} fixed.
  24. Translator: If a.b=true then... no longer changes value of a.b.
  25. Translator: If If a then MsgBox "b" fixed.

Documentation Changes for Version 1.2.5

  1. New PayPal control: This provides an easy way to collect a payment or a donation from a user. Tapping on it will bring up the PayPay Payments screen with the user and amount filled in - all they have to do is approve the transation. To use it, you need to have a PayPal Merchant Account (easy to set up), and use Merchant Services to create a button. Use the ID number it gives you in the properties of the button, and specify whether this is a Donation or Purchase. This feature will be handy for those selling commercial or donationware apps.

  2. New ButtonBar control: This control lets you arrange two or three buttons, either as a titlebar or lower down on the form. This are usually used for apps with multiple forms to switch between. Each form will have a buttonbar control on it, with a different button highlighted.

  3. Text to Speech: A new sample has been added showing how to get the device to speak a text string. To do this, you will need to sign up with iSpeech. The first 1000 words are free.

  4. Sencha Touch is an additional library of controls and functions. The best way to experience it is to run the new KitchenSink sample in the Sencha folder. It has some beautiful effects (more coming), but since it is fairly large, it can slow down app deployment and loading.

  5. Grid.refresh(): This new function should be called whenever the size of a grid changes, or when a scrolling grid is opened on a new form. It replaces the SetTimeout(grid_ref.refresh(),100) that used to be needed. Check the GridWithScrolling sample to see how it is used.


  1. JSON support added. See docs below.
  2. Design Screen: Right click on a control brings up lots of options.
  3. Properties Window: Now remembers folder settings on restart.
  4. Controls: Button is now square with rounded corners. See docs below.
  5. Deploy: Faster, since only files actually used are deployed.
  6. Code Window: Sleep 5000 no longer hangs IDE for 5 seconds.
  7. Code Window: Problem with indenting fixed.
  8. Code Window: Resume is no longer highlight.
  9. Controls: HTMLview now scrolls properly.
  10. Deploy: 550 error on some servers fixed.
  11. Deploy: If serial number is removed, deploy still works.
  12. Demo Screen: PayPal button added.
  13. Design Screen: Fix problem with pasting multiple copies of a control.
  14. Design Screen: Right click on a control brings up options.
  15. Docs: Handbook and Language Reference updated.
  16. IDE: Improved demo screen.
  17. IDE: Deploy password now encrypted.
  18. Language: DIM array can now have any number of dimensions. (Thanks to Thomas Gruber!)
  19. Language: New functions - JSON.stringify(), JSON.parse().
  20. Language: New statement: Sleep
  21. Runtime: Added BlackBerry to supported device browsers.
  22. Samples: SQLSample1 now uses JSON to output SQLite database.
  23. Samples: MiniDataServer is an alternative to WebSockets. (Thanks to Robert Borsuk!)
  24. Samples: New GoogleReverseGeocoding sample.
  25. Samples: ReadFile uses updated HTMLview.
  26. Translator: 'f = FactCalc()' was not always translating properly.
  27. Translator: 'Function test(p) one' no longer hangs IDE.
  28. Translator: Dim(10,10,10) was not creating all elements.
  29. Translator: Typename("12345a") returned Integer, not string.
  30. Translator: Dim(a.b) is now allowed.

Documentation Changes for Version 1.2.4

  1. Make sure you do a full deploy the first time you run the new version.

  2. JSON is now supported. JSON is a standardized way of converting objects to strings so they can easily be saved or transmitted to other systems. For example, you could convert an SQLite database to JSON, then transfer it to a server using WebSockets or HTTP POST. The server would then unpack it and process it.

  3. Buttons now look more like standard iOS buttons. The edges are now straight: just the corners are rounded. Any new buttons you create will have the new look: to upgrade old buttons to the new look, enter nsbbutton into the class property of the button in the IDE. To keep the old appearance, leave the class property blank. Be sure to do a full deploy to see this change.


  1. Controls: New MenuNumberTitleDescArrow (see docs below)
  2. Controls: New MenuNumberTitleTime (see docs below)
  3. Controls: New MenuTextBlock (see docs below)
  4. Samples: New jQuery sample.
  5. Samples: New BarCode reading sample.
  6. Code Window: Shortcuts: Ctrl F for Find, Ctrl G for Find Next.\
  7. Code Window: Multi line statements are syntax checked correctly.
  8. Controls: Grid scrolling improved.
  9. Controls: MultiInput and Menu now support scrolling.
  10. Docs: Handbook and Language Reference updated.
  11. Deploy: Extra MKD operations removed: deploy speed improved.
  12. Deploy: Improvements to error messages.
  13. Language: New bitwise functions: ANDb, ORb, XORb, NOTb. See Language Reference.
  14. Project Explorer: right click to move and delete controls.
  15. Project Explorer: Problem with deleting all forms fixed.
  16. Properties Window: Return no longer needed to save changed value.
  17. Runtime: "UpdateReady" cache message now reads "Update Complete - Restarting"
  18. Runtime: Global code is executed before first form shows.
  19. Runtime: iScroll.js updated to 4.1.2
  20. Runtime: Removed some unneeded image files.
  21. Samples: Communicating: Add Skype calling as an option, refresh screen.
  22. Samples: New BarCode reading sample.
  23. Samples: New GridWithScrolling sample.
  24. Samples: New MenuNumberTitleDescArrow, MenuNumberTitleTime, MenuTextBlock samples.
  25. Toolbox: Controls are now in alphabetic order
  26. Translator: Replace(s,")","") fixed.
  27. Translator: a=Log(1) fixed.
  28. Translator: a=5.1 mod 3.1 fixed.
  29. Translator: a=[{b:1}] fixed.
  30. Translator: t[1,(1) Mod 2] fixed.

Documentation Changes for Version 1.2.3

  1. MenuNumberTitleDescArrow: This new control shows a number (or word), title, optional description and an arrow. See Language Reference for more details.
  2. MenuNumberTitleTime: This new control shows a number (or word), title and optional time. See Language Reference for more details.

  3. MenuTextBlock: This new control shows blocks of text and an arrow. Useful as a preview of text. See Language Reference for more details.


  1. Code Window: Syntax checking added.
  2. Controls: Grid can scroll.
  3. Controls: PictureBox can scroll.
  4. Samples: New FacebookAPI sample.
  5. Samples: New Sencha Touch sample.
  6. Code Window: Turn off undo when setting initial text.
  7. Controls: Grid new row height is now correct.
  8. Controls: Button had invalid default property.
  9. Deploy: Error message if remote server cannot be found.
  10. Deploy: Error message shows if login info is not correct.
  11. Deploy: Error message shows if remote folder cannot be created.
  12. Deploy: Progress message improved.
  13. Deploy: Thumbs.db file ignored if in upload folder.
  14. IDE: Bug when closing minimized IDE fixed.
  15. IDE: iPhone 4 Design Screen size corrected.
  16. IDE: Problem with positioning bottom of object above top fixed.
  17. IDE: Problem with save fixed.
  18. Language: For Each index, item in Data now supported.
  19. Language: ReadFile produces better error messages.
  20. Samples: GetData sample improved.
  21. Samples: HTMLview - added display a .htm file in HTMLview control.
  22. Samples: ReadFile sample improved.
  23. Samples: WebSocket sample improved.
  24. Translator: Execute() function now works.
  25. Translator: Exit Function now returns value.
  26. Translator: If e.keyCode = 13 Then Button1_onclick() fixed.

Documentation Changes for Version 1.2.2

  1. The first time you compile under this release, it will take a bit longer. Afterwards, it will be as usual.
  2. Do a full deploy the first time you run on the new release.


  1. Deploy: Directory names can be put in the manifest.
  2. Controls: FontSize, FontFamily, FontStyle, FontWeight, color and backgroundColor properties added to Label, Text, TextArea and Button.
  3. Controls: FontSize, FontFamily, FontStyle, FontWeight and color properties added to HTMLview.
  4. Controls: Hidden property added to a number of controls.
  5. Controls: HTMLview border-style changed to borderStyle, and background-color changed to backgroundColor.
  6. Deploy: Cache Manifest simplified.
  7. Deploy: All system files are now put into a new nsb folder.
  8. Deploy: slash and colon now allowed in manifest file names.
  9. Deploy: Apps deployed to nsbapp are now available immediately.
  10. Deploy: Apps now stay on nsbapp.com for 10 days.
  11. Deploy: Progress message appears properly with lots of files.
  12. Docs: Handbook and Language Reference updated.
  13. IDE: Adding code file marks project as dirty for saving.
  14. IDE: Problems in Recent Files list fixed.
  15. IDE: New splashscreenipad property.
  16. Setup: Menu shortcut no longer contains version number. You may need to uninstall/reinstall to see this change.
  17. Project Explorer: multiple code files fixed.
  18. Runtime: Browser check fixed for IE.
  19. Samples: Base64Image added - shows using image as a string.
  20. Samples: HTMLviewCallFunction - call a function in your app from HTMLview.
  21. Samples: iMenu and iTitlebar renamed Menu and Titlebar.
  22. Samples: MoveTheBall renamed to Accelerometer.
  23. Translator: Dim tt(6):s=tt(1-1) fixed.
  24. Translator: if s="if(" then s=s & "}" fixed.
  25. Translator: if s="if(" then s=s & "\" fixed.
  26. Translator: d = new Date() fixed.

Documentation Changes for Version 1.2.1

  1. Deploy: We have made some changes to how files are deployed to provide some additional functionality. You can now put the name of folder in your list of files to deploy. That folder, and all of the files and folders in it, will be copied to your server. This makes it easy to have a project with a lot of files: you no longer have to list each file in the manifest.

    We also reorganized the files that NS Basic needs at runtime, putting them all into an /nsb/ folder within your project. You may want to delete your app from your server completely before you deploy next time: that will get the obsolete NS Basic files out of your app's folder.


  1. Language: New ReadFile function. See Language Reference.
  2. Controls: HTMLview control now supports scrolling.
  3. Samples: ScrollingFile added.
  4. Samples: ReadFile added.
  5. Code Window: Case normalization improved.
  6. Code Window: Problem with cut and paste fixed.
  7. Deploy: Added more checking to file names.
  8. Deploy: Cache error messages can now be dismissed by tapping on them.
  9. Deploy: Move browser check to complexfunctions.js
  10. Docs: Handbook and Language Reference updated.
  11. IDE: Defaultformsize values remembered correctly.
  12. IDE: General code cleanup.
  13. IDE: Initial startup screens revised.
  14. IDE: Settings and Recent data now saved to registry.
  15. IDE: Tabs can now be pulled out into separate windows.
  16. Setup: Some apparently unneeded dll files removed.


  1. Deploy: Incrementatal compile can cut build time dramatically. See below.
  2. Deploy: Cache status now displayed when updating. See below.
  3. Deploy: If app is updated, app is automatically restarted.
  4. IDE: Default form size added as a Project Property.
  5. IDE: Code Files added.
  6. IDE: Code Files Import/Export added.
  7. IDE: Form Import/Export added.
  8. IDE: Property Help text now displayed.
  9. Docs: Handbook and Language Reference updated.
  10. Installer: removed reference to folder that was not created.
  11. Runtime: fixed problems with rotation and control sizing.
  12. Samples: Geolocation now shows more information, updates itself.
  13. Samples: CacheEvents sample removed - obsolete.
  14. Samples: CreateDiv: shows how to create a control on the fly.
  15. Samples: Signature: Shows how to capture and display signatures and drawings.
  16. Translator: Case normalization for 'timestamp' and 'form' fixed.
  17. Translator: d = new Date() translates correctly.
  18. Translator: Dim names2(): ReDim names2(0,4) translates correctly.
  19. Translator: Naming conflict in String function fixed.

Documentation Changes for Version 1.1.3

  1. Incremental Compile: Only the code modules which have changed since the last compile will be recompiled.

  2. Caching: If there is a fresh copy of your app on the server, status messages will now be displayed as the files load. Once all the files are loaded, the app will restart automatically. This takes the guesswork out of knowing whether the new version of your app has loaded. Your program can continue to do processing as this is going on.

    To check if updating is going on, check if NSB_eCount>1.

    To override the standard handling of cache events, add this code to your program:

    	Sub oncache(e)
    	  'do what processing you need (or nothing)
    	End Sub
  3. Default Form Size: The IDE has a number of default form sizes built in. You can ignore these and enter your own height and width. If you know the size of a popular device you would like added to the list, send the info to us.


  1. Save: modified to prevent possible corruption. (1.1.2a)
  2. Deploy: Looks in more places for browser. (1.1.2b)
  3. Deploy: No longer runs in the default browser. Tries Chrome first, Safari next, then gives a message requesting that a compatible browser to be installed.
  4. Deploy: Refresh Deploy just uploads the app, not all the other files.
  5. Code Window: Jumping to a function scrolls it to the top.
  6. Code Window: Block comment/uncomment a section of code by right clicking or from the Edit menu.
  7. Code Window: Cos() is colored properly.
  8. Deploy: Missing files for titlebar added.
  9. Deploy: Trailing spaces on # USER FILES ignored.
  10. Deploy: Status bar is updated more frequently.
  11. Deploy: Exclude Thumbs.db from manifest.
  12. Docs: Handbook and Language Reference updated.
  13. IDE: Bug in moving Project Explorer tree items fixed.
  14. IDE: Project Explorer buttons have disabled images.
  15. IDE: Updates window enlarged and positioned properly.
  16. Installer: ReadMe file can be opened at end of installation.
  17. Language: Capitalization issues fixed on interval and timeout functions.
  18. PhoneGap: iOS helper file changed from phonegap-0.9.3.min.js to phonegap.js
  19. Runtime: Some variables in canned code were not properly declared.
  20. Samples: slight change to GetData.
  21. Samples: TwoForms modified to use transitions.
  22. Samples: CacheEvents now gives more information.
  23. Translator: ' sub = no longer causes problems.
  24. Translator: a[0]=atn(1) fixed.
  25. Translator: FormatNumber((a[1] Mod Reg[0]),9) fixed.
  26. Translator: If A = "a" Or b = "b" Or c = "c" Then... fixed.
  27. Translator: Int() and CInt() are now consistant with VB.
  28. Translator: Print a[0]^5 fixed.
  29. Translator: v1 = Sin((Lat1r - Lat2r) / 2) ^ 2 fixed.


  1. Controls: Add image map tag to Image control.
  2. Controls: Grid now returns row, col on click.
  3. Deploy: <Doctype> changed to be HTML5 standard.
  4. Deploy: Blank lines in manifest no longer needed.
  5. Deploy: Make <body> min-height device aware.
  6. Docs: Technote 09 Using PhoneGap API added.
  7. Docs: Handbook and Language Reference updated.
  8. IDE: Fixed unicode in property values.
  9. IDE: Save always saves, regardless of dirty status.
  10. IDE: Added prompt for form deletion.
  11. IDE: Fixed selection problem in Form Editor.
  12. Language: New function GetLocale() added.
  13. Language: New function Log10() added.
  14. Language: VBNullString constant added.
  15. Samples: ComboBox shows how to get name of selected item
  16. Samples: PhoneGapAPI added.
  17. Samples: Tutorial2 and SQLSample2 fixed.
  18. Samples: New HelloWorldArabic
  19. Translator: /*....*/ treated as block comment.
  20. Translator: a.value="" Or b.value="" Or c.value="" fixed.
  21. Translator: DateAdd past end of year fixed.
  22. Translator: Msgbox DatePart("d",Now) fixed.
  23. Translator: nStr(2,"12345","23") fixed.
  24. Translator: REM (all by itself) fixed.
  25. Translator: Round(CDbl("10"),2) fixed.
  26. Translator: x=5: Dim a(x) fixed.


  1. Support for PhoneGap added.
  2. PhoneGap API is now supported.
  3. IDE: New project property: phonegap
  4. Tutorials: New Tutorial 11: Using PhoneGap to create an iOS App
  5. Tutorials: New Tutorial 12: Using PhoneGap to create an Android App
  6. Code Window: case normalizes control names
  7. Controls: improvements to iMenu
  8. IDE: Now checks for duplicate control names
  9. IDE: Project explorer icons tweaked.
  10. Samples: Improvements to Geolocation, iMenu, getDate
  11. Translator: MsgBox 1 / (1 + 2011 mod 4) fixed.


  1. Controls: Buttons now render properly on Android.
  2. Controls: Grid sets width from column sizes if possible.
  3. Controls: iMenu now has addItem, replaceItem and deleteItem methods.
  4. Controls: Text, TextArea: Added onkeypress event.
  5. Deploy: Control positioning changed from Fixed to Absolute.
  6. Docs: Handbook and Language Reference updated.
  7. IDE: "Cannot open project in read only location" fixed.
  8. IDE: firstform property changes if form name changes.
  9. IDE: New icons for Project Explorer
  10. IDE: Sometimes dropdown to go to _click in code did not work.
  11. Language: New screen size functions added to SysInfo().
  12. Samples: iMenu sample updates with new functions.
  13. Samples: New GetDate sample in SpinningWheel subfolder.
  14. Samples: SendDate and CacheEvents have manifest fixed.
  15. Translator: 'If (a=true) And _ [return] (b=false) Then' fixed.
  16. Translator: a = { 1: "a", 2: "b", 3: "c"} fixed.

Documentation Changes for Version 1.0.10

  1. We have made some changes to the iMenu control. There are a number of new functions - they are listed under iMenu in the Language Reference.


  1. Code Window: Added more JavaScript keywords
  2. Code Window: REM statements are no longer case normalized.
  3. Deploy: Added message if file does not exist.
  4. Docs: Handbook and Language Reference updated.
  5. Controls: Grid - New functions added. See below.
  6. Controls: MultiInput.disable fixed.
  7. Controls: Scoping problems in complexfunctions fixed.
  8. IDE: Fixed bug with toolbar resizing.
  9. IDE: Project name change in Save As now changes relevant properties.
  10. IDE: Top line in Project Explorer renamed.
  11. Samples: Geolocation overhauled.
  12. Samples: New MoveTheBall shows use of device motion sensors.
  13. Samples: PictureBox updated and improved.
  14. Samples: New SqlSample2 shows reading, writing database.
  15. Samples: Grid sample updated.
  16. Translator: _onevents fixed (for good?)
  17. Translator: a=vbTab fixed.
  18. Translator: If A="a" Then:MZahl=1:z1 =2:End If fixed.
  19. Translator: if not(a) and not(b) Then... fixed.
  20. Translator: More problems with brackets fixed.
  21. Translator: Problem with Select...Case fixed.

Documentation Changes for Version 1.0.9

  1. We have made some changes to the Grid control. There are a number of new functions - they are listed under Grid in the Language Reference. One of the new functions is cell(row,col). Please use this function instead of the current Grid_row_col to refer to cells. The Grid_row_col method deprecated and will stop working in a future release.

    The changes make the Grid control more HTML compliant. It is possible that your rows will be drawn with a different height than before: you will need to adjust your code if this happens to you.


  1. Code Window: Add Main, vb* as keywords.
  2. Code Window: lots more case normalization is being done.
  3. Controls: New Audio control - now you can play sounds!
  4. Controls: New Video control.
  5. Controls: redundant click definitions removed.
  6. Controls: Uncaught Reference Error fixed.
  7. IDE: Added style property for project.
  8. IDE: Fixed issue with long strings in HTMLview and extraheaders.
  9. IDE: New Check for Update menu item.
  10. IDE: Deploy window now has OK/Cancel buttons.
  11. IDE: New project property: Language - BASIC or JavaScript
  12. Project Explorer: Forms can be expanded or contracted.
  13. Runtime: Added check for valid browser.
  14. Samples: New AudioVideo sample.
  15. Translator: a[0,1] fixed.
  16. Translator: Dim a: a=b() fixed.
  17. Translator: If c(a) Then a.b="x" fixed.
  18. Translator: Function window_onorientationchange() fixed.


  1. Code Window: Case normalization for additional keywords and DOM objects.
  2. Code Window: literal strings are now Courier New as well.
  3. Code Window: Ctl-j now handles unicode characters.
  4. Deploy: Filenames in manifest have spaces or slashes are flagged.
  5. Docs: Handbook and Language Reference updated.
  6. IDE: New extraheaders property lets you add your lines to header.
  7. IDE: Form has new method property: GET or POST.
  8. IDE: New form names now have first letter capitalized.
  9. Runtime: 'Go' on some browsers no longer causes unintentional submit.
  10. Samples: Extra ' signs removed from some samples.
  11. Samples: HTMLview has Show Map option. Deploy: prefixes appear again when deploying to NS Basic App Server.
  12. Translator: a = "a://b" fixed
  13. Translator: a={b:"b",c:"c"} fixed
  14. Translator: a=new Option(Aus(i),Aus(i)) fixed.
  15. Translator: Function a_b_onclick() fixed.
  16. Translator: If a="=" Then b=1 fixed
  17. Translator: If Mid("1",1,1)=1 Then Print "yes" fixed
  18. Translator: Mod fixed.
  19. Translator: MsgBox Replace("AB.DEF",".","X") fixed
  20. Translator: Print ">" & "," & "<" fixed
  21. Translator: Print DatePart("ww",01 & "." & 01 & "." & 2010,2,2) fixed.
  22. Translator: V=(F ^ 3) ^ 2 fixed.
  23. Translator: With Canvas.getContext("2d") fixed.

Documentation Changes for Version 1.0.7

  1. The project has a new property: extraheaders. This allows you to add addtional header lines to the <head> section of the generated code. An example would to include an extra JavaScript library, you would add:

    <script src="myLib.js" type="text/javascript"></script>


  1. Code Window: Font changed to Courier New.
  2. Controls: MultiInput - setValue on smallField fixed.
  3. Deploy: 4 character prefix not added when deploying to own server
  4. Deploy: Spaces in filenames changed to "_".
  5. IDE: Bounds are now saved properly on exiting.
  6. IDE: Changing id of a control now updates event dropdown.
  7. IDE: Date meta tag added to headers.
  8. IDE: Generator meta tag added to headers.
  9. IDE: Message displayed if no write permission to current folder.
  10. IDE: Saving a project to a different folder now works.
  11. IDE: Settings file now written out immediately.
  12. nsbapp.com: location of project_template changed.
  13. Samples: HTMLview has display map option.
  14. Samples: New WebSocketsEchoServer.VBExpress2010.zip
  15. Translator: a="a://b" translates properly
  16. Translator: ElseIf now treated as "Else If"
  17. Translator: Expression on Select statement fixed.
  18. Translator: Global no longer does anything.
  19. Translator: Replace - 4th and 5th parameters fixed.
  20. Translator: Replace("10,5",",",".") fixed.
  21. Translator: TypeName(CInt(1)) fixed.
  22. Tutorials: 09 Websockets added.


  1. Docs: New Tutorial 07: Communicating with a server
  2. Docs: Handbook and Language Reference updated.
  3. Samples: ComboBox sample now shows how to clear.
  4. Translator: a="IF NOT a;" fixed.
  5. Translator: cstr(0) and cstr(1) fixed.
  6. Translator: Date and Time fixed for all time zones
  7. Translator: Functions in form of object_onsomething fixed.
  8. Translator: Instr("12345","3") fixed.
  9. Translator: Some syntax errors handled more gracefully.


  1. Code Window: And and Or now properly highlighted.
  2. Code Window: InStr fixed.
  3. Docs: Handbook and Language Reference updated.
  4. IDE: Form has new function: submit(). See Docs below.
  5. IDE: Form has new property: URL. See Docs below.
  6. Language: New GetURLParameter function.
  7. Samples: CacheEvents shows cache events.
  8. Samples: SendData shows how to send and receive data from a server
  9. Samples: SQL sample now works


  1. Code Window: Case normalization improved.
  2. Code Window: Some functions beginning with i were not highlighted.
  3. Deploy: Manifest file simplified.
  4. Deploy: Problems with samples running offline fixed.
  5. IDE: Images in properties no longer require quote signs.
  6. IDE: New project defaults to last directory used.
  7. Samples: All samples updated with new manifest.
  8. Translator: Errors are handled gracefully.
  9. Translator: form1_onsubmit fixed.
  10. Translator: Function return values fixed.
  11. Translator: Set a=b fixed.


  1. Forms: Add new style property.
  2. Code Window: Type Ctl J to see the translated JavaScript.
  3. Controls: Grid: Add new cellstyle property
  4. Controls: Grid: reduce default padding, font size default is now 10 and populate each cell with a space.
  5. Controls: Grid: multiple grids can have different styles.
  6. Controls: TextBox: Add inputType of hidden.
  7. Samples: HTMLview's manifest fixed so image is deployed.
  8. Samples: Added tutorial samples.
  9. Samples: GetData retrieves data from a remote site.
  10. Translator: some color constants were incorrect
  11. Translator: Msgbox "Grid(4,4)=" & Grid1.getValue(3,3)
  12. Translator: Function ComboBox1_onchange
  13. Translator: datediff("ww",fromdate,todate)


  1. Deploy: Meta tag viewport.user-scalable changed to no.
  2. Deploy: Missing file in deploy fixed.
  3. Deploy: Unique name for registered users is now lower case.
  4. Docs: Tutorial 1 updated to show Android install.
  5. Docs: Appearance of Language Reference improved.
  6. Docs: Handbok updated.
  7. Runtime: Titlebar images now all show.
  8. IDE: NSB Icon now appears in top left corner
  9. IDE: Removed single quotes around image names.
  10. IDE: Problem deleting forms is fixed.
  11. Controls: Label.value is now called textContent (same as runtime)
  12. Samples: new WebSockets is an early demo
  13. Translation: a = ((i/100) ^ 12 * a)
  14. Translation: a = Eval("Grid1_" & x & "_" & y)
  15. Translation: a = NSBVersionView
  16. Translation: a="<img src=""mario.jpg"">"
  17. Translation: If (Location.coords.longitude > 0) Then Amendment = " east"
  18. Translation: Dim Amendment; Amendment = ""
  19. Translation: LGA(0) = "a" : LGA(1) = "b" : LGA(2) = "b"
  20. Translation: MsgBox "aaaa ()"
  21. Translation: MsgBox a.b.c()
  22. Translation: MsgBox a.b.c(0)[name]

Documentation Changes for Version 1.0.4

  1. Form has new URL property and submit() method

    This property is the URL that is called when a form is submitted using form1.submit(). The URL is called with a query string made up of the values of all controls on the form that have a Name defined. See the SendData sample.

© NSB Corporation. All rights reserved.