MY STORY USING LIBERTY BASIC Gordon Sweet | Create your badge

I have been writing programs in various BASIC since around 1980, and tried a number of programming languages, with varying success! But the only language I was really able to understand well was BASIC (Beginners All-purpose Symbolic Instruction Code). In my opinion Liberty Basic and the limited free version Just Basic are by far the best languages to use. Not only are they tailored to be easily understood, whether used to begin with as simple text only programs, the supporting files make it far easier than other languages to understand how to create the various Types of Windows. You will find the support kindly provided to complete beginners in the LB/JB forums is far more helpful, without some of the authoritarian attitudes often adopted towards complete beginners with other language forums. These other forums tend to be dominated by professional programmers more interested in experimenting with complex API calls and not simple BASIC.

FORUMS = http://libertybasic.conforums.com/     http://groups.yahoo.com/group/libertybasic/     http://justbasic.conforums.com/index.cgi

I began with the British ZX81 and BBC PCs, and moved onto BASICA, GWBASIC and QBASIC and the improved version QUICKBASIC and some FreeBasic, which both allow you to compile a self-running EXE program. I also tried a little Pascal. Look at http://www.sigord.co.uk/Programs.html. You will see there are also still EXE DOS versions available of many of my efforts, produced this way. As a result of the rapid advance in the widespread use of various versions of Windows, I naturally searched around for a language to write in the Windows GUI (Graphical User Interface) environment. For quite a while I struggled with a demonstration Version of Visual Basic, with very little success. Apart from the fact that VB retails at a cost many times greater than LB, it appears to me to bear little relation to Basic, and is based on the more difficult languages of 'C'. Most of the functions in VB are carried out with the awkward process of 'Drag and Drop', whereby you are expected to drag Icons from one part of the screen on to a Project Window etc. LB does not come with this method installed, but among the many excellent example programs and Comprehensive, Help File supplied, a clever program called Freeform is supplied, allowing for this technique to be used. Personally I prefer to keep with the 'old fashioned method' of typing in all the programming code, rather than trusting to my dexterity with the mouse, such as trying to locate a Button exactly where needed.

LB is capable of allowing us to use a great variety of the Menus, Boxes and Windows, as seen with much of other software designed for Windows. Like all such software, this is achieved by accessing then many DLL (Dynamic Link Library) files supplied with Windows, by a process of making API (Application Programming Interface) calls. So in theory there should be nothing more complex languages like VB, etc can do, that LB cannot achieve. In practice beginners would be well advised not to experiment with API calls, unless using a known safely working example. Thankfully it is not necessary to create any of the API calls for the majority of functions, as they are built into LB, which is why it comes with a number of special DLLs, which are all needed if you create a self-running package to distribute to others. It must also be pointed out there is now free software at http://www.lbbooster.com/ dispensing with the need to use the 10 LB support files amounting to around 1 Mb, and should be able to create a single EXE file of about 100 Kb which runs faster.

It is not actually necessary for the novice to open any sort of Graphic or Text Window to begin programming, as LB automatically starts by using a form of Window similar to QB, but for Text only, which you could be asked to close on completion. In fact every time you write a program using another Graphics or Text window, you should enter the command NOMAINWIN somewhere, to avoid opening and the need to later close the Mainwindow. But this simple window is a great asset to the beginner or to experiment if only using text. If you know nothing whatsoever about programming, and are interested in learning, I would suggest you might first get a Free copy of QBASIC and the EXE Compiler version from a number of sites found available if you run a search.

Once you have gained some confidence in writing a few simple programs in Qbasic, and wish to move onto creating Windows software, then got to http://www.libertybasic.com or http://www.justbasic.com/ and download the latest Shareware version. There is no time limit to even the use of LB, but there is a limit on the size of a program it can handle with this version; otherwise it is fully complete. When you decide to register online, you will be sent the registration code to enter by email, along with details of numerous sites, and email groups providing valuable help. Newer versions of LB are periodically being produced. Version 5 on progress will create programs under the Linux system. Once you have purchased one version, you will be able to purchase newer versions at a discount. Many might ask why write any programs, when there are thousands of expensive or free Shareware and Freeware etc. around. The answer could be that none are exactly what you or someone wants, or are unnecessarily complicated, because they are often trying to please to so many people all at once. This could give a great sense of achievement!

LB is supplied with a wealth of help and many example programs, some just using the simple mainwindow. A few when using such as a graphics or text window do not have nomainwin anywhere in the code, thus obliging you to close the mainwindow when finished. Some just use the mainwindow for simplicity. But is bad practice to do any serious LB programming only using the mainwindow, in view of the wealth of extra functions only available with other windows. For example you cannot produce multiple fonts or colours, or any graphics without the use of a graphics window. So beginners are strongly advised to start using other windows as soon as they are confident. Here is a very simple program as an example. Notice just as you need to provide a #handle (title ) to save or load a file, you also need a handle to a window such as #1 here. Also print #1, i$ can be abbreviated to just #1 i$.

	nomainwin
	open "Simple Program" for text_fs as #1
	#1 "!trapclose [quit]"
	filedialog "Select any TXT file","*.txt",File$ 
	if File$ = "" then [quit]
	open File$ for input as #2
	while eof(#2) = 0
		line input #2, i$: #1 i$
	wend
	close #2
	wait

	[quit]
	close #1 : end

Happy programming to beginners.

PROGRAMS AND HELP    HOMEPAGE    Comments and suggestions always welcome gordonsweet2000@yahoo.co.uk