Xojo Developers: Top Contributor

I was rather pleased when I saw this when logging into the Xojo Developers Group Forum recently 🙂



Affiliate Links

Listbox Exporting: Take 2

Following on from a previous post last week where I talked about exporting data from a Listbox in Xojo / REALStudio, I decided to build a general purpose export routine with the extra features that were commented on and also some extra features that I believe make this routine even more useful.

Note: This is not the only way of programming a generic export function and no doubt it is not the best. It does however work and work well.

This export routine is a single simple function and is accessed by sending a string of parameters and having the results of the export request returned as an Integer containing different values depending on the success or what kind of failure occurred.

The parameters that are required by the function are:

  1. Delimiter (Comma, Tab (chr(9)), Full Stop etc.)
  2. Headings (YES or NO)
  3. Name of the Source Listbox
  4. Filename Extension (Tab, Csv etc.)
  5. Default Filename (Export.txt)
  6. Surround with Quotes (YES or NO)

A call to this export routine would therefore look something like this:


For ease of reading and maintainability this is better:


The actual export function itself looks like this:


Note: There is a small error in the picture of the export function above. This error has been fixed in the Text download. Thanks to Axel Schneider on the Xojo Forums for pointing this out. 

To download the export function as text, please click here


Affiliate Links

Get Involved ?

I’m looking for Testers and Reviewers for my products. If you are interested in being involved then you can apply here:




Although there is no financial incentive there is the opportunity to get involved in the thrilling Software Development process (!) and then of course there is that warm fuzzy feeling that you get from helping someone out – a feeling that is way more inviting and satisfying  than any form of payment …


Affiliate Links

Xojo / RS Export Listbox

I’m going to start adding some software development tips and tricks and other useful bits and bobs to this site with the hope that other people can learn and benefit from my knowledge and experience in the same way that I have learnt, and continue to learn, from others.

I’m not sure yet if there will be a particular focus or even how often I’ll post – but that will become apparent over time.

I’ll start with this; a simple method, written in Xojo / REALStudio, to take the contents of a Listbox and generate a Tab Delimited export to a text file for every row and every column in the Listbox. In this example the Listbox is named lstTemp and you will have previously populated it with your data.

  ‘Export the List as Tab Delimited
  if lstTemp.ListCount = 0 then Return
  dim f as FolderItem
  dim t as TextOutputStream
  dim intRow, intColumn as Integer = 0
  f = GetSaveFolderItem(“txt”,”Export.txt”)
  if f = Nil then Return
  t = f.CreateTextFile
  for intRow = 0 to lstTemp.ListCount-1
    for intColumn = 0 to lstTemp.ColumnCount-1
      t.Write ConvertEncoding(lstTemp.Cell(intRow,intColumn),Encodings.SystemDefault)
      t.Write chr(9)
    t.Write EndOfLine

Originally when I published this on a previous blog, I had some feedback from a friend of mine and fellow Developer, Eric Gibbon of MacTasks. This is what he had to say:

The code is quicker if you store the lstTemp.ListCount-1 and lastTemp.ColumnCount-1 in local variables, as for every loop iteration your code calls the ListBox to get its ListCount or ColumnCount value and then subtracts one. However if these values are stored in local variables this repeating does not happen. For a small list this will not matter but for larger ones there will be a performance difference. So the code would be like:

dim nRows as Integer = lstTemp.ListCount – 1
dim nCols as Integer = lstTemp.ColumnCount – 1
for intRow = 0 to nRows
  for intColumn = 0 to nCols


It would also be nice to add a parameter to your routine for “Include Headings” and write the ListBox headings to the file first if this parameter is True.

I hope this helps someone.

Blatant Advertising: New Xojo / REALStudio DataViewer Component


Affiliate Links

Too Expensive ?

As a person who creates software products and solutions for a living I am always looking for the tool that will make me faster, more efficient, better, more productive or just something different for a change. A challenge is as good as a rest 🙂

I came across this product yesterday, which pretty much does what my existing development software does – however after my clicks, deep within the site I came across the price …


Image used without permission. Please don’t tell …

For nearly £4000 I have no idea who on earth would use this product. Not the Independent Software Developer that’s for sure. That only leaves the large consultancy companies and the corporates with in-house development teams.  Is that really a big enough market to sustain a product costing that much ?

Obviously I support the right for anyone to charge whatever they want for any product or service. That’s fundamental to Capitalism and the way the Western World works.  A few years ago I was the guy billing £100 per hour and supplying the information to the ‘Forensic Accountant’ who was tidying it up, putting his name at the top of the page and billing £350 per hour … and that’s fine, I was happy with my fee and I’m sure he was happy with his 🙂

Still, I am astounded by the price of this development product – but good luck to them.  I would be interested to know how many units they are shipping though …


Affiliate Links

DataViewer [Update] 2301

This latest update to the DataViewer components for Xojo and REALStudio contain the following enhancements, in addition to a few bug fixes:

The size and position of the windows are saved and recalled next time the windows are opened. In addition the Results List and History List visual configurations are saved and also automatically recalled next time.  This includes the Font and Font Size, the Line Type (None, Dotted or Full) and the Background Colour of the Alternating Rows (if used).

Also new is the SQL History List. Every statement and the results are recorded in this list for the duration of the session. To execute a particular statement again, double click the appropriate History List row.

History is not saved between sessions, although this would be trivial to do. If there is any demand for this feature I will add it in a future update.

I hope these enhancements are in keeping with the direction you’d like to see these components evolve. Please get in touch with your feedback and requests.





Affiliate Links

DataViewer [Update] 2101

Another couple of additional features added to the DataViewer Components for Xojo and REALStudio:

  • Reactive Results – Auto ‘Fit to Grid’ or ‘Show Scrollbar’
  • Results List now inside inside a Tab Control: For Future Use



DataViewer by Steven Cholerton



Affiliate Links

Free: macsFileMover

This is the second of my products that I have decided to release , free of charge for personal, non-commercial use. This is a  small utility product for Mac OSX and Windows.

If you find my software useful and you feel you’d like to help with my personal quest for a USA PRS Guitar then feel free to make a donation via Paypal. My address is scholerton@gmail.com 🙂

Click Here for Further Information …

Product: macsFileMover
Purpose: Automated File Moving and Copying
Platform: Windows and Mac OSX
Size: 5Mb
Copyright: Steven John Cholerton
Download: http://bit.ly/1eFuO0w
YouTube: http://youtu.be/Pi_kL7j-Yto


Supplied Free Of Charge for Non Commercial Use Only
Businesses and Other Organisations Contact Us:



macsFileMover allows you to setup multiple file Source and Destinations and at a user determined interval the contents of the SOURCE folder will be COPIED or MOVED to the DESTINATION.

That is pretty much all it does.  Where it excels is when used on servers particularly when regular archiving of logs etc. is required. Once setup the Source and Destinations can be saved to a preferences file and then reloaded when you next use the software.



Affiliate Links

Success or Failure?

A friend of mine has just written a very interesting article on ‘Failure and Success’.  It’s worth a read.

While I agree mostly with what is said I do think it is possible sometimes to become too focused on ‘Success’ without realising that Success is a very personal thing and can mean very different things to different people.

Like the General who landed his army on the beaches and made them burn their boats so that they would fight a lot harder knowing that there was literally no way back – ‘Failure is not a option’ is a powerful mantra that can contribute to increased Success and hopefully victory.

Sun Tsu talked about this also in his book ‘The Art of War’ – he educated Generals to not block off *all* the avenues of retreat for the enemy, as like the burning of the boats, this leaves no way back and so makes the enemy fight so much harder.

I agree with this and with the sentiment expressed in the article. I would however point out that Success and Failure are relative as well as being moving targets. It is in my opinion fine to slide backwards and forwards between Success and Failure in your quest to achieve what it is you want to achieve.

It’s important to remember that Failure is not a static event and what once you may have considered Failure could in fact be Success and Success can surprise you by being not at all what you anticipated.

So don’t be too hard on yourself when chasing goals – take time to constantly evaluate what it is you define as Success and Failure and make sure you are actually chasing something worthwhile.

Andy Brice of Successful Software wrote an article recently talking about how it was all to easy to give up on a product and start on something new and ‘Shiny’. He is of course 100% correct and that temptation is always going to be there.

Where I disagree with him is where he states that ‘Continually abandoning work in progress for a new idea is also a form of cowardice. ‘ In my opinion you have to constantly re-assess the viability of your product during the development phase and if you no longer think it is viable, this can be for many reasons, then shutting down the project and ceasing development is far from cowardice – it is good business sense.

Like the need to continually reassess what constitutes Success and Failure for us, we also need to do that for our creations, Failure may be stopping development and doing something else or having analysed that the game has changed and our product is no longer relevant – then stopping development and doing something else is not Failure, it’s a form of success. Failure would have been carrying on and releasing a pointless product.

Success or Failure



Affiliate Links

macsFileTool: The Movie

I’ve just upload a short demonstration movie of macFileTool to YouTube.  You can view it using this link:


Further Information on macsFileTool can be found here:


License:  macsFileTool is Supplied Free Of Charge for Non Commercial Use Only.  Businesses and Other Organisations Please Contact Us: license@zombielabs.net


Affiliate Links

DataViewer [Update] 1701

Another couple of additional features added to the DataViewer Components for Xojo and REALStudio:

An additional Menu Option which will fetch all Rows and all Columns for the currently selected Table.

An additional Menu Option which will create a SQL Statement ‘Template’ for the currently selected Table, see the example shown below:


The updated libraries are available for download now.


Affiliate Links

jSql: Final Beta

jSql is a MySQL and SQLite Query Tool for Windows and Mac OSX.

jSql is built using REALStudio / Xojo and the DataViewer Components.

jSql is Small, Simple, Fast and Cross Platform for a seamless experience whether using Mac or Windows as your platform of choice.

Final Beta was sent out to ‘Early Adopter’ Customers today and depending on feedback from them, the final release will almost certainly be early next week.

At this moment in time I am still unsure regarding pricing. How much to charge – or should I give it away – using it as an example of what can easily be achieved using the DataViewer components. Maybe add a load more features and benefits and release a chargeable Pro version later ?

Here’s a couple of screenshots to be going on with 🙂

jSql by Steven Cholerton

jSql by Steven Cholerton

Any comments or feedback:  scholerton@gmail.com

DataViewer [Update] 1501

Thankyou to those who have so far purchased my component and also to those who have made constructive suggestions.  Two of these suggestions have been implemented in a new release earlier today:

  • One Click to Fetch 20 Records for Quick Query
  • One Click for Record Count, any Table



More to come …

Xojo / RS SQL Component

Yesterday saw the release of DataViewer for Xojo / REALStudio.

DataViewer is a collection of objects for REALStudio / Xojo that you can easily incorporate into your own applications to give SQL Query functionality for SQLite and MySQL databases along with Data Export facilities. It is available to purchase for use ‘as is’ within your own software or alternatively with Full Source Code. Once purchased their are no restrictions on use.

A Demonstration Movie can be seen on YouTube


  • Connect to any SQLite or MySQL Database
  • Very small Footprint. < 5Mb
  • Incorporate Easily into your Own Apps
  • Objects Window showing Tables and Columns
  • Drag and Drop from the Objects Window to the Query Window
  • Results Grid can be customised for Font, Size and Line Type
  • Results Grid can Switch between ‘Fit to Grid’ and ‘Show Scrollbar’
  • Auto Highlighting of SQL Keywords
  • User Definable Keywords List
  • Each SELECT reports Time Taken
  • Export Results Data in Tab Delimited, CSV or JSON Formats
  • Save and Load SQL Scripts
  • One Click to Fetch 20 Records for Quick Query
  • One Click for Record Count, any Table

DataViewer by Steven Cholerton

DataViewer by Steven Cholerton

DataViewer by Steven Cholerton

More Information

Free: macsFileTool

Over the next few weeks I intend to release a number of my software products, free of charge for personal, non-commercial use.  These will generally be small utility products for Mac OSX and Windows.

If you find my software useful and you feel you’d like to help with my personal quest for a USA PRS Guitar then feel free to make a donation via Paypal.  My address is scholerton@gmail.com 🙂

The first product released today is macsFileTool.


Product:      macsFileTool
Purpose:      Quick Batch FileName Renaming
Platform:     Windows and Mac OSX
Size:         5Mb
Copyright:    Steven John Cholerton
Download:     http://bit.ly/1inaK3N



macsFileTool is very simple and very easy to use.

The features are explained in the captioned Image shown below: