# Getting Started in Programming

Category: Geeks r Us

## Post 1 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 03-Jun-2009 13:02:32

You guys are gonna kill me, I know it! lol But here we go.
For many years now, I've been saying that I wanna learn BASIC but didn't know which kind. So I finally went on Wikipedia to look it up. First generation BASIC seems overly complicated. Visual Basic (which I knew from the start I didn't want) is object oriented and, well, visual and QBasic lacks some of the features of Quick BASIC. Plus, they said there's alot out there on Quick BASIC and I liked the little example they gave. It was simple enough for a complete novis like me to unjderstand. So that's what I've chosen to study. Now, what software will I need to do this? I hear Q BASIC is included in Dos 5.0 and 6.22 but where do I go to find things for Quick BASIC?
Finally, when I'm more advanced, what language can I use to write a totally text-based webpage or series of pages with links? I don't wanna play around with something like html cause it's not all that accessible from what I've heard. I want something that's easy to understand and besides, I'm interested in what else is out there for writing pages for the web. Thanks and I'll be quiet now. lol

## Post 2 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 03-Jun-2009 13:05:47

Sorry mods. Please delete this. I hit preview before posting as a mistake and thought that it didn't show up.

## Post 3 by wildebrew (We promised the world we'd tame it, what were we hoping for?) on Wednesday, 03-Jun-2009 13:23:36

Why would you want to learn a programming language that is completely outdated, gives you no power and little to no possibilities to write anything of interest, and can only be compiled on ancient computers (well pretty much)?
If you want to learn programming but you don't want to learn object orientation or html, it's like saying you want to learn English but without learning sentence structure or nouns, either you want to learn programming or you don't.
What you can do is, for instance, to start with Perl, it's more of a scripting language, it'll introduce you to concepts of programming but it's one of the easier languages (although unstructured code can turn out a lot more complex than structured code) and with the CGI extention it is widely used to write web pages and scripts, along with PHP and the Microsoft solutions (ASP.net).
Perl also has extended support strcutre, lotsof list with good advice, books, easy and free compiler for Windows, Dos or Unix and a farily easy learning curve. I'd recommend something like jscript or vbscript as a beginning point, but since you seem against vb I think this is the most sensible way to go.

## Post 4 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 03-Jun-2009 13:45:48

I want something that's straight text and am not interested in complex graphics etc. I chose Quick BASIC because it's basic, no pun intended. It's easy-to-use fora beginner and I can probably write games etc with it if nothing else. I'm not sure about other things. Perhaps, I'll consider Pearl as my second language for webpages.

## Post 5 by LeoGuardian (You mean there is something outside of this room with my computer in it?) on Wednesday, 03-Jun-2009 17:46:57

You're better off with Visual Basic as a starting point. If you do Quick Basic, you must then unlearn some of the awful constraints when dealing with programming in the real world.
Anymore, a programmer's job is more often than not working with and linking / bridging separate and independent systems together, making existing software collaborate, if you will. There is little usefulness, for example, in coming up with a whole new system for database structure that is incompatible with anything else.
Retro computing never took into account a universe of universal compatibility - the web and infinitely interconnected systems that is the world we live in now, no going back.
Visual basic is really a good way to structurally understand the form and elements of an application, although nowadays you'd need Visual Studio and .Net to do it.
I agree that PERL, or more likely PHP would be a way to code simple pages.
It would be good for you to learn basic HTML and XML, THE FORMER BEING THE MARKUP LANGUAGE DECLARING ELEMENTS OF A PAGE, THE LATTER being (sorry Caps Lock was on) the universal method for storing and handling data.
These are gross and grotesque generalizations, I ealize, while all the Comp Sci folk just gasped. But general is where you are right now anyway.
You could look up Basic4PPC if you own a mobile device, as that's pretty small - and you build software you run on your device like a PAC Mate or PDA / cell phone running Windows Mobile 5 or higher.
As to HTML or anything else being 'inaccessible', (I hate that term!) I can't for the life of me imagine how or why someone would say that. 'Inaccessible' is just a catch-all word too often anyway, meaning I don't know how / don't like it takes work / nothing in particular.
Of course it does have real meaning, and there are folks who apply themselves to increasing accessibility to frameworks - we all use what we use because of one or more sources who do this - but something as text-based as HTML or XML being labeled inaccessible? Why?
Basically, any good language tutorial / reference should get you started learning what the parts of a program are, anatomy of loops, data type definition, and a good reference / tutorial may get you going understanding how to intelligently design and create software.
Someone's done a lot of work at BlindProgramming.com; I haven't looked at the site in depth, but there are a lot of tutorials.
To use an ancient word, programming, or rather software development, is a craft to be learned, honed, practiced, and constantly updated. More and more I find it's not knowing a particular language so much as learning applied concepts that you fit into a particular development scenario.
Ah and there's Python, which is inherently class-structured (object-oriented) but you could in theory write text-only applications. And like PERL or most of the other languages mentioned here, there's no IDE (integrated development environment) if you are afraid of that, like VB / .Net / C#.

## Post 6 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 03-Jun-2009 20:24:08

Yes, a friend just explained this to me. It's exactly this co-dependence and collaboration of programs that I'm trying to avoid. I'm not interested in what the code for these programs are, where they are, how they'll fit together with my program because fifty billion things have torun at once. I want my program to take over and do it's thing. I don't want the headache of all that and since I'm not doing this commercially, I see no reason why I need to give myself one. I actually found QuickBasic 4.5 and read that you can install it under Windows and then just run it, so I don't have to wait to get the other machine up and running to start learning. I also learned about html. I took it for granted that it was a visually-driven language with graphics and the like and thought it came out after Windows 95. Glad to find that I was wrong. I hear it came from something called sgml but haven't looked into that yet. Since html is still old and text-based, I'll probably go with that when the time is right, unless I find something simpler and easier to understand. When I said inaccessible, I was referring to html editors. I was unaware that you could write html code in a text editor like Notepad.

## Post 7 by wildebrew (We promised the world we'd tame it, what were we hoping for?) on Wednesday, 03-Jun-2009 20:28:17

"Graphics" or text does not apply to programming, it refers to your output and the IDE (software you use to code in). You can code Perl, vb, c#, c, c++ all by using notepad and compile on the command line. Just download a .net 1.1 or higher onto your compter, open a text file, start coding (with a handy dandy book) and then you can run the lot from command line. This is slow and arduous and competely unnecessary so free apps like vc# Express or vb# 2008 will give you all the benefits of a rich IDE that corrects you as you go along, makes sure your spelling is consistent, shows you a consistent list of errors from which you can go directly to where you made the error etc. That being said it's often good to start with a command line compiler and text file, just to learn to appreciate what a well developed IDE does for you like vs.net or Eclipse (for Java, there's also a c and c++ plugins for Eclipse,may be more, I know there's a Python one too).
html can, similarly, be hand coded in a notepad file and than viewed with explorer or whatever text eitor you want, there's no magic to it at all and accessibility only comes in if you want to complain that visual html creation tools like Dream Weaver are not up to par when it comes to accessibility.
And, as I said before, QBasic will have little to no support out there where as any of the more developed languages have dedicated mailing lists and web sites to help you out, there are good blind programming lists out there and some amazingly detailed instructions, for instance, on how to create your first program in Visual studio.
I can gie you the links and such, but if you insist on learning something that is outdated, does hardly work and something you can't apply to any modern day idea of programming I can't be bothered, sorry. As I see it either you want to learn programming or you don't, Q Basic is really neither.

## Post 8 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 03-Jun-2009 20:43:33

Actually, there are communities and whole websites devoted to QBasic and Dos in general and new programs are being written all the time in different languages. I was justtoo lazy to join them. Guess I will and get some help files while I'm at it.

## Post 9 by blindndangerous (the blind and dangerous one) on Wednesday, 03-Jun-2009 21:07:33

I would say go with HTML, then CSS then PHP and finally XML. Whoever told you HTML was inaccessible is lying to you. Yes, you can use a text editor like notepad, or if you'd like Notepad++ to write it. Just watch what you type, and run it through a validator when your done, and you'll be fine.

## Post 10 by The Roman Battle Mask (Making great use of my Employer's time.) on Wednesday, 03-Jun-2009 22:55:26

We arn't in the irra of mainframe computers that run a job at a time and need to be programed by flipping switches. If you ever hope to do any kind of decent programming you need to learn to interoperate with other peoples code. If you refuse to do that then you'll be stuck in the DOS days and none of us will bother helping you or use your program.

## Post 11 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 04-Jun-2009 11:48:46

Cool! I just found out I could make sound in my programs. But I think the first one I'm gonna do is a simple question/answer thing like the hello world one. Then, maybe a multiple-choice one or a very simple game and when I feel more confident, I'm gonna try for a space-invadors type game if possible. This is neat. But, uh, yeah. Still need a tutorial. Grrr, back to the drawing board. And what the hell is version 7? I thought the last one was 4.5.

## Post 12 by Harmony (I've now got the silver prolific poster award! wahoo!) on Thursday, 04-Jun-2009 17:07:57

I was given Dark Basic to start learning game programming, but thats about all it's useful for. Only trouble is, if I'm going to carry on with programming, I want to do something that's going to be of some use although games are pretty fun. I've learned quite a bit of html for web page design, just don't know what to write about. When I try to change the color of my background jaws doesn't read it properly. Is this to do with my own browser being an idiot and something that I need to change in the settings, or could it just be a jaws problem? I also tried looking at c++, but gave up on it because it's so complicated from the first word of the tutorial! hahahahaha!

## Post 13 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 04-Jun-2009 17:30:29

Well, at least you had a tutorial! I still can't find one and am beyond frustrated. I've posted to a bunch of places and still got no answer. I'm thinking of contacting the library... This should not! be so hard! Did Microsoft write some kind of getting started manual?

## Post 14 by wildebrew (We promised the world we'd tame it, what were we hoping for?) on Thursday, 04-Jun-2009 17:45:17

Harmony.
c++ is a bit tricky, unnecessarily so (there you have to handle pointers, something that Java and C# take care of for you, you'll hve to understand pinters for complex things, but initially it's fine to code without having to worry about pointers).
There are excellent books on both Java and Perl called "Teach yourself x in 21 days" (x being Perl or Java), simple, introduce concepts slowly and, if you do the exercises and read the chapter a few times, will really help you get into programming. All the languages are the same, (or extremely similar) once you understand how computers think, things like functions, varibls, classes and objects are a bit tricky to understand at first, bu start of very easy, very slow and repeat, and you'll get there. Setting up the environment is a little bitof a hassle sometimes, although if you have any Java runtime installed you just write a text file with the code, name it filename.java and then type java filename.java from the command line to compile the code, in dos, or you can use things like Eclipse in Windows, which provides lotsmore power and ease of use, even if its a tiny bit confusing at first.
There's lots of resources and books out there, I can point you to a few if you're seriously interested in learning programming.
If you want to concentrate on internet I'd recommend PHP as a rlatively easy and owerful language to generate web ages (this site is, e.g., written in PHP).
Cheers
-B

## Post 15 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 04-Jun-2009 18:07:21

Okay. I found a ridiculously basic beginner's tutorial with two lessons. But at least it'll help me get the thing installed and teach me a few commands and general stuff.
http://www.qbasicstation.com/index.php?c=t_beg
And duh! Microsoft made a learning to use manual... Oh man I feel like an idiot! Well, maybe, when I open it I'll get all confused. First, I've gotta open my zip file and see if it's in there.
And what the hell is Euphoria? I've never even heard of it.
http://www.rapideuphoria.com/

## Post 16 by blbobby (Ooo you're gona like this!) on Thursday, 04-Jun-2009 18:55:12

Euphoria is just another programming language.
Google "liberty basic" it's a pretty good basic for windows, and has a tutorial and lots of programs you can run.
It does one tricky thing with windows within windows, so you'll have to use your jaws cursor quite a bit.
Bob

## Post 17 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 04-Jun-2009 18:57:50

victory! is! mine! Yes!
http://www.petesqbsite.com/sections/tutorials/tutorials/qbtut.htm
That only took what, one and a half days! Oh boy. Had to type in manual not tutorial. So now I can start my new adventure.

## Post 18 by Eleni21 (I have proven to myself and the world that I need mental help) on Friday, 05-Jun-2009 1:13:20

I spoke too soon. I can't open the files now. They all have $ at the end of them. Like the qb.exe says "qb.ex$" and the lib files end in li$. I'm guessing that's so they could zip it or send it over the net? I'll fix them tomorrow and see if I can get it running. More importantly, as I went over the file list from the qbasic station, I found that I'm missing the QB4UTIL.Bi, the QB.INI and the QB_EDR.LIB files. Did I get a bad copy or are they unnecessary? Finally, how do I start the program? I'm guessing I can't just hit enter on it and have to run command.com but do I then go to the directory where it's held and type in qb or quickbasic? Thanks guys and I'm truly sorry for all the bullshit lately. I'm just frustrated and know that if I don't stay ontop of it I won't get started. I should be so dilligent with my Greek lessons!

## Post 19 by Eleni21 (I have proven to myself and the world that I need mental help) on Friday, 05-Jun-2009 1:28:23

Oops, I forgot. The zip file contains two folders, disk1, disk 2 and a fun file called phat32 that plays music. Do I need to combine the disk folders into one for the program to run properly? I'm assuming the answer is yes here.... Okay, enough for now. Bed.

## Post 20 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 20-Aug-2009 20:30:03

Had to return to this thread for my manual links. As an update, I now have all the correct files for QuickBasic 4.5. Now, I can start to program. When I've made my first program, I'll upload it to one of those temporary file sharing sites and then post the link here. I'm sure it won't be anything to get excited over but it'll be fun to make.

## Post 21 by Eleni21 (I have proven to myself and the world that I need mental help) on Sunday, 07-Mar-2010 16:44:06

So I finally decided to see if I could run QuickBASIC 4.5 from cmd.exe under XP. Well, I had an unzipped folder with all the files in it. So I copied it over from my desktop to my compact flash card and then went on my IBM to try it out. I went into d:qb45 and typed in qb. It acted weirdly and NVDA couldn't read it. I'm not sure if it's because I tried to run it previously or what. So I tried the same on the desktop, only using the copy of the folder in there and got the same result. So I'm now looking for the original qb45.zip file so that I can install PKunzip onto my cf card, unzip to a new directory called qb45 on there (I deleted the old one alredy) and see if that makes a difference. If not, then could I write out the program that I'm trying to make in Wordpad, save it as txt MS-DOS format, put it on a floppy and try to compile it in my KeyNote Gold? I'd use that machine for everything, since it can run the program very nicely, but it's missing some very important keys that I need for my work because Humanware decided to leave them out. I looked for a ps2 port but couldn't find one so I can't even attach an external keyboard to it. I need a real DOS machine! I have to see if I can try this VMware thing.

## Post 22 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Sunday, 07-Mar-2010 23:32:32

Good luck. Personally I started with c++ but that may be to updated for what you want.
You may want to look into java.

## Post 23 by Eleni21 (I have proven to myself and the world that I need mental help) on Monday, 08-Mar-2010 16:14:28

Definitely not doing java. Too graphical and/or inaccessible, though to be fair, there is a DOS version. Once I finish with quickBASIC, I might go into c or c++ if I can find the right compiler and if the language suits me.

## Post 24 by wildebrew (We promised the world we'd tame it, what were we hoping for?) on Monday, 08-Mar-2010 19:18:06

Aah, Java, inaccessible .. now there's a joke and a half .. seeing as eclipse is probably the most accessable programming editor out there, Java runtime comes with all you need for a *gasp* dos compilation and the SWT makes it easy to write accessible Java Windows apps. C/C++ are good but very slow languages developmentally speaking, slow in the sense you have to worry about pointers, C does not really ahave object orientation and you have to spend forever handling things like garbage collection and out of bounds addressing that Java and C# or VB have built in. And there's of course Python proving its worth, very impressed with NVDA which, if I understand correctly, is written pretty much exclusively in Python.
There´s Perl and PHP which could serve as easy but very useful tools for writing complex web applications (this site is written in php), and you can produce a long list of programming languages that are more useful than QBasic, and a very much shorter list of ones that aren´t.

## Post 25 by Eleni21 (I have proven to myself and the world that I need mental help) on Monday, 08-Mar-2010 20:36:56

Interesting. So I was right about Java in the sense that it can be used for DOS programs. I thought it was inaccessible because of the huge number of pages that use java that don't work properly with a screen reader. Also, I knew someone who was starting in programming who was having a very difficult time working in tha tlanguage and he was going to school for it, so it wasn't like he was a hobbiest. However, that was at least seven years ago, so things may have changed. I know that I've said that I didn't want to work with object-oriented languages, but I can't recall why off the top of my head. I'm sure if I read a little on what object-oriented means again that I'd remember why I objected to it. I haven't looked at any examples of java or C so I can't comment on how easy or how difficult they are to understand. I did, however, see an example of VisualBASIC and QuickBASIC made alot more sense to me. It seemed alot more straight forward. so are pearl and php markup languages like html and sgml? I'm pretty sure that pearl can be used within DOS but don't know about php. In any case, I'm not trying to write a webpage at the moment. I just want to get my feet wet, create a little something and see where I go from there.

## Post 26 by Eleni21 (I have proven to myself and the world that I need mental help) on Monday, 08-Mar-2010 22:57:44

Well, I found the zip file, added PkZip and PkUnzip to the flash card, put it in the laptop and proceeded to unzip the qb45.zip file. Yes, I know that I could've used WinZip, but this is the way it worked in the KeyNote Gold, so I wanted to duplicate that. Everything went well until I started the program. NVDA won't read the prompts etc. That or it just won't work under the XP version of DOS. So now I really do need to use a virtual machine and hope that I can get a real DOS laptop in the very near future. Now I've gotta figure out how on Earth I'm gonna do this. If I do it on the IBM, I've gotta install to a compact flash card, since it doesn't have a floppy drive. I've also either gotta use the Echo synth with the docking station or remove my KeyNote VoiceCard synth and put it in the pcmcia card slot. I think, however, that I'll go with my desktop, since I've got both a floppy drive and a serial port on there. The instructions for installing Enhanced DR-DOS off floppy disks aren't that difficult, so I should be able to do it, assuming that I can get NVDA to read inside the virtual machine until the os is installed. Oh man, so annoying!

## Post 27 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Tuesday, 09-Mar-2010 13:28:46

I give up.

## Post 28 by SexySquirrel (I can't call it a day til I enter the zone BBS) on Tuesday, 09-Mar-2010 20:25:26

Don't blame you!

## Post 29 by LeoGuardian (You mean there is something outside of this room with my computer in it?) on Tuesday, 09-Mar-2010 21:04:14

And where's my USB punch card / turnkey machine that will work with Windows XP ...?
Kinda like hooking the V8 to an oxcart .... ya think?

## Post 30 by sorressean (Zone BBS Addict) on Tuesday, 09-Mar-2010 23:08:22

I'm slightly confused, as to why the OP decides that she wants to ask what the best language is, then decides that she's going to ignore everything we say and go with an old out-dated language. For those who aren't beyond help, here's a quick rundown of the languages. First, I will split off between low and high-level languages. Low-level languages are like assembly, c, and then c++. High level are the scripting languages which either are interpreted or compiled to some sort of bitycode.
A lot of operating systems use assembler (better known as asm) for the mainframe, then c for the kernel because you have so much control. Assembly is only used beyond that for creating libraries or functions that may be CPU consuming. C and c++ are used for a lot of huge servers where multiple users may be connecting, or for cpu-intensive tasks. The interpretation of high-level languages usually adds overhead in either CPU, memory, or both.
This said, if you want to learn something I recommend learning c++ as a beginner because so much works off of the concepts. The main ideas still apply; OO, (in c++), memory management, conditions etc. While some languages (like Java and .net), will manage the memory for you with garbage collection, it is still good to know how the systems work under-the-hood.
With this in mind, I recommend using python if you want to do cross-platform work, or Java. If you want windows, you can use c# or vb.net. The origenal poster said that vb was OO, which it isn't, but vb.net is. Vb.net basically works by using the .net framework.
If anyone would like help getting started, I would be more than willing to help. The only thing I request is that you read, or that your willing to do research yourself, as that is the main thing with programming; you have to be willing to read yourself. My msn is tyler@tysdomain.com, and aim is st8amnd2005.
I hope this info was a bit of a use to someone.
Peace,

## Post 31 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 10-Mar-2010 0:10:03

I asked about the other languages for after I finish learning QuickBASIC. I'd like to know where to go once I get the simple stuff down. I'm intending on writing for DOS, so unless there's some kind of new language out there that works with the os, I'll naturally be writing in ones that are either old or that had their roots in the past. I can't remember why I am against object-oriented languages, because it's late and it's not coming to me, but I know there was a reason. Maybe, after rereading up on them, I might change my mind, not sure. I haven't seen C or C++ but I have seen VisualBASIC and QuickBASIC was far easier to understand. While I have no problems with menus, especially nicely created ones, I also don't want to deal with the gui interface, and unless I'm creating a suite of programs or tring to connect one thing to another, I don't want to have to worry about what other programs are doing. So c has it's own memory manager? Will it insure that I don't go over a certain amount of memory when making the program? Can it write tsrs? At least I know that there's no need to learn assembly. And since XP does have a sort of command prompt, I don't see why QB can't work with it.

## Post 32 by sorressean (Zone BBS Addict) on Wednesday, 10-Mar-2010 14:45:54

Um, yes. I would love to hear your reasoning for not liking OO. Before you shoot yourself in the foot though, you might want to read about it; it almost looks as if your throwing around big words with no idea of what they mean, which isn't the brightest idea.

## Post 33 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 10-Mar-2010 21:22:35

lol I know that when I decided it, I'd just read about it, and there was something that I didn't like. But right now, it escapes me.

## Post 34 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Thursday, 11-Mar-2010 14:58:35

*makes an odd, strangled, scr'r'r'r'reaming sound*

## Post 35 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 24-Jun-2010 13:07:24

Okay, I found a way to describe what I don't like about Windows programming. Please keep in mind that I have not programmed in any os thus far. But people have asked me what I don't like, and I've said in this post that I didn't fully understand object-oriented languages but that they didn't seem like something I'd like. I think now that it's graphically object-oriented languages, in particular, that I don't like. I've seem various examples of languages and some made sense to me while others didn't. So here's the same program written for DOS and then for Windows. This is for Windows 95, so things might've changed, but you'll get the basic idea of what bothers me.
Taken from
http://support.microsoft.com/kb/88164
"Consider the following pseudocode of a program designed to get user input, to count all the records in a table, and to display the result in a box if the user presses 1 or to exit if the user presses 2.
START PROGRAM
LOOP WHILE TRUE
GET KEYPRESS INTO X
IF X IS "1"
COUNT ALL RECORDS IN THE TABLE INTO Y
DRAW BOX FROM ROW 10 COLUMN 5 TO ROW 12 COLUMN 7
DISPLAY Y AT ROW 11 COLUMN 6
IF X IS "2"
EXIT LOOP
END LOOP
STOP PROGRAM
The purpose of this program is to continuously loop until a key press of a 1 or 2 is detected. At that point, a decision is made to perform some sort of operation or to ignore the key press and continue looping. The programmer has full control over what happens."
To me, that made complete sense. Granted, I'd need visual assistance to figure out the columns, at least, as a beginner, but I understood the concept both as a programmer and as a user.
"The Windows programming model is event-driven and graphic object oriented. In other words, programming in Windows involves creating objects and modifying aspects (or properties) of those objects based on different events."
I'd much rather create a direct and simple program where A does this and B does that. Look how bulky the code in the Windows section seems.
"Consider the following sample program that presents two buttons to the user. If the user chooses the Count button, the program counts the records in the database and displays the result in a window. If the user presses the Exit button, the program quits.
First, you create the necessary objects. Most of this phase of Visual Basic for Applications or Access Basic programming is created graphically with the Access Forms designer. The list of controls and properties below defines a form that will be used to illustrate this.
Form: MasterForm
----------------------------
Push Button: CountButton
Caption: Count
OnClick: =DisplayCount()
Push Button: ExitButton
Caption: Exit
OnClick: =CloseProgram()
Text Box: DisplayWindow
NOTE: In Microsoft Access 1.x, the OnClick property is called OnPush.
You can then create the modules that the objects will invoke. In this case, buttons are the only objects that will have the ability to invoke procedures. The procedures shown below are pseudo-code examples. The first procedure defined is the DisplayCount procedure:
PROCEDURE DisplayCount()
COUNT ALL THE RECORDS IN THE TABLE INTO Y
CHANGE THE DISPLAYWINDOW TEXT PROPERTY TO Y
END PROCEDURE
Notice that the code did not direct the resulting count to be displayed in a box painted on the screen. Instead, the Text property of DisplayWindow was changed to the resulting count value. The next procedure defined is the CloseProgram procedure.
PROCEDURE CloseProgram
CLOSE MASTERFORM
END PROCEDURE
Notice that this procedure does not provide an exit from some kind of loop or other program structure. Instead, it closes the object that contains the buttons and window."
There's more on that page, but you get the idea. This is the kind of program that, while I'd understand it as a user, as a programmer it seems far more complicated and abstract than it should be. Why should I have to create these objects, then a form, then do all sorts of things with the objects when all I need to do is make a simple program, that does the same thing, as was seen in the first example? I'm not the best in maths but even I understand that when 1 is pressed, the program keeps counting the records and displaying them exactly where you specified, while if 2 is pressed, it stops and exits the program. This also seems alot easier to do as a user than to have to hunt for buttons and all of that nonsense. I've heard that object-oriented languages can also be used in DOS. If it's not an event-driven system, how would such languages work? Also, I'm hearing alot of negativity about C++. Should I really look into something else that's easier but still more powerful than QuickBASIC once I finish said language or should I still try to stick with C++? If you know of an easier one that is DOS-compatible that I can learn as my second language, could you please let me know? I really don't want to skip QB, but maybe, another language could work under the prompt in XXP and could then be ported to my real DOS machine. As for html, I found something, available at Jim Kitchen's page, called Homepage. So I might try that and see how it goes.

## Post 36 by The Lil Dark Piggy (This site is so "educational") on Thursday, 24-Jun-2010 14:25:45

That is not hard at all. The second example is so easy.

## Post 37 by blindndangerous (the blind and dangerous one) on Thursday, 24-Jun-2010 14:59:18

I'm agrring, I understood both examples, and I barely know the HTML skeleton. Also, if you want to try HTML, use W3C's tutorials.

## Post 38 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 24-Jun-2010 15:11:37

I'll agree that the second example wasn't rocket science. I mean, it is understandable. But it takes up more code and has more steps that aren't necessary in the first. I could be wrong but I'm guessing that at least one of the reasons why so many Windows programs are huge or at least far larger than their DOS equivalents (if they exist) is because of all that extra code. I also like the directness and nonabstract nature of the first example in terms of how it's written, since the concept itself isn't difficult to understand. I'm sure there are far more complicated examples, using real code, where my point could be demonstrated more effectively, but I don't know them.

## Post 39 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 24-Jun-2010 15:12:29

Oh, and thanks for the tips on html. I'll check out those tutorials and see how it goes.

## Post 40 by malthe (Pimply-Faced Youth) on Thursday, 24-Jun-2010 18:40:41

That is quite elogical. First of all the first example was pseudocode, which is just a general outline.
Of course you're gonna need to call libraries no matter what you end up using.
If you want to write a screen reader which I think you might have said some time ago, you're gonna have to go waaaaay deep.
That's all.
Malthe.

## Post 41 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 24-Jun-2010 18:47:46

Well, the screen reader idea is way way in the future. I used to think that libraries were just a Windows thing, but apparently, there are C++ libraries for DOS so. I don't think QuickBASIC has them, which is yet another reason why it's a very good beginner's language to help me get my feet wet. I can focus on my program and nothing more. Of course, the first example was pseudocode. But it still demonstrated my point. I'm sure that a real program could be written for both operating systems and the results would be different for each. That is, one would still be event-driven while the other wouldn't be, one would involve graphics and buttons etc. where the other might not.

## Post 42 by malthe (Pimply-Faced Youth) on Thursday, 24-Jun-2010 18:50:02

Shrug, whatever floats your bote

## Post 43 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Friday, 25-Jun-2010 13:59:35

Okay, I really think you haven't done research tiff. You seem to be talking about things you don't understand. I have programmed for a while in c++, java, and some other languages and I don't see your issues.
Object oriented program frustrated me at first but I got a handle on it. If one wishes to type console based programs with the same languages that are used for object oriented ones, so be it.

## Post 44 by Eleni21 (I have proven to myself and the world that I need mental help) on Friday, 25-Jun-2010 14:37:44

Well, I found a page that looks interesting.
http://computerprogramming.suite101.com/article.cfm/differences_between_gui___cons
I intend on doing a bit more research so that I may understand this better and especially so that I may learn which languages are more suited to this kind of programming. But this struck me as odd. "However, the GUI does offer one clear advantage - the menu system. A drop down menu system is easy to use, and, more importantly, familiar." I know as a fact that there are DOS programs, the built-in Edit in MS-DOS for one, and possibly Microsoft Word 5.5 for another, that use menus. But many such programs don't use a mouse and aren't graphical. So how are these menus written and what would this kind of program be called, since it's not technically command line? Then, we have wysiwyg programs like Word Perfect 5.1, which aren't command line and which, for many things, use hotkeys instead of menus. What would that be? "Finally, most GUI imlementations come with widgets and dialog elements used to communicate information to the user, and allow interaction. They can be created in the command line environment, but it requires building a shell that is so close to the GUI, that it is often much less effort to just build the GUI version straight away." Why not just create prompts for interaction as in "for option a press 1, for option b press 2. Would you like to continue? Press y or n" and so on or hotkeys that could bring up various parts of the program? Apparently, I was wrong about the amount of code needed to make some programs. I find this particularly interesting as I'd like to create a text and rtf editor in the future. "a Notepad clone for the commad line.
A menu is needed, as is editing by moving around with the cursor keys. A buffer is required to store the text in, and navigation across pages (scrolling the whole text up or down) necessitates another buffer to store the screen state in." So why would this still be considered the command line if there are menus in it? I'm asking this sincerely. Continuing: All in all, thousands of lines of code will be spent in building the application.
A Notepad Clone for a GUI
A Windows Notepad clone, without file or printer handling, runs to about 150 lines of code. The menu handling is automatic. The actual editing area is a single widget, known as an edit control.
Adding file and printer handling will probably double the code required. Most of the code (80% up) is start-up and shut-down code required for all Windows programs." That sounds like alot of code just to open and to close the program, automatic or not. How would I deal with making sure that my text/rtf editor could integrate with my printer? The one I'll be using, most likely, is my Epson (not sure of the model offhand). It's a dot matricks tractor-fed one if that helps, and I was able to print from it without any trouble with the Braille Lite 2000 but it probably had the driver built-in. I couldn't imagine that it wouldn't need a driver. Why doesn't the Windows version need buffers? How does it store the information as you're working with the file? Can you make a DOS text editor save automatically or prompt you to save at specific times like every 10 minutes or so?

## Post 45 by Striker (Consider your self warned, i'm creative and offensive like handicap porn.) on Saturday, 26-Jun-2010 0:48:40

Ok, I'm sorry in advance because I know this is going to come off really harsh but truth is, computer programming isn't something you can just expect to master by coppying and pasting. Granted many programmers build things they can use again and again but, this is because they've taken the time to understand the fundimentals of what does what and why when... Truth be told, this bord only does one thing well. It serves to outline and strongly highlight all your problems you're faceing with programming, dos and hardware. Its simple, you're not takeing the time to think criticly about what you're reading and/or working with. You're allowing your self to get swept up in the emotions and ideas and thearies you have. The problems set in when you think you can implement these ideas with the wrong tules for the wrong reasons in the wrong ways. To top it off, you're clinging to your misguidedly false and crippled ideas with so much stubbornness it blinds you to the true world around you.
You're not going to get anywhere with any of this until you are wirking with a correct understanding of your self, the technology, your limitations, the limitations of the technology you choose to use... The list goes on.
For the sake of your time, put your recked train back on the tracks and plot a reailistic corse on which to travel.

## Post 46 by Eleni21 (I have proven to myself and the world that I need mental help) on Saturday, 26-Jun-2010 1:42:18

I have all intentions of actually learning about programming and limitations etc. Now that I know the type that interests me and the type of program that I'd like to create for a first-time attempt, it should be easier to start.

## Post 47 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Saturday, 26-Jun-2010 10:44:39

True the learning curve is steep but you can do it. As a programmer I do have a suggestion:
Start with batch programming. Dos batch is the simpleist form, it is the lowist level; sort of like building a house start with the foundationg, you know. Message me on msn and I would be happy to help you out. It realy is a good scripting language to start with because it is purely procedural and it demonstrates the basic concepts.

## Post 48 by Eleni21 (I have proven to myself and the world that I need mental help) on Saturday, 26-Jun-2010 10:49:13

Awesome! I can even do that on my KeyNote Gold, with it's stripped down version of DOS! I found tons of pages on batch programming in my travels so I'll start checking those out. Besides, I always thought batch files were neat and wanted to learn how to make them. *smile*

## Post 49 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Saturday, 26-Jun-2010 15:28:17

And you can use them in c++ by using the system function but I'm rambling.

## Post 50 by Eleni21 (I have proven to myself and the world that I need mental help) on Tuesday, 13-Jul-2010 18:10:57

While I'm intending on starting with batch programming and have already found some great tutorials on that, I'd like to go right into QuickBASIC right afterword, maybe even while learning it if learning both at once doesn't confuse me. So today, I went to
http://www.petesqbsite.com/sections/tutorials/beginners.shtml
and found a huge list of tutorials on the subject. I'm trying to decide which one to use or if I should use a few of them. Here are the ones I'm deciding between, with the chapters listed. I chose the longest ones there. Which one/s do you guys think I should use based on how they present their information? Note that I've deleted the company name after each chapter, since they're at the beginning of each one.
1.
Intro
Introduction to MS-DOS QBasic Computer Programming Language
D And D
Chapter 1
Getting Started
Chapter 2
Program Looping
Chapter 3
Program Looping, Part 2
Chapter 4
Loading and Processing Data
Chapter 5
User Data and Nested Loops
Chapter 6
Input Range Testing and Range Tolerances
Chapter 7
Random Number Generation
Chapter 8
Subscripted Variables (Arrays)
Chapter 9
Sorting
Chapter 10
Output Formatting, Part 1
Chapter 11
Output Formatting, Part 2
Chapter 12
Output Formatting, Part 3
Chapter 13
String Variables
Chapter 14
String Functions
Chapter 15
More String Functions
Chapter 16
Putting It All Together
2.
Lord DefCo's Guide to Programming in QBASIC
Part 1
"What is QBasic?" and your first program.
Part 2
Systematic Vs. Spaghetti
Part 3
Program Control, FOR...NEXT and number inputting
Part 4
Variable management and IF...THEN...ELSE
Part 5
Sounds and Arrays
Part 6
File I/O and Programming the SB
Part 7
Multi-Dimensional Arrays and Playing WAVs
Part 8
GET and PUT, DATA and READ
Part 9
Bitmapped graphics and DATA statements for graphics
3.
ESC Programs Tutorial
Chapter 1
Before you start
Chapter 2
Your first program
Chapter 3
Variables
Chapter 4
Retrieving keyboard input from the user
Chapter 5
The IF and THEN commands
Chapter 6
Labels and the GOTO and GOSUB commands
Chapter 7
Loops
Chapter 8
What next?
Chapter 9
QBasic interface
Chapter 10
Adding documentation to your programs
Chapter 11
Reading and writing to files
Chapter 12
Displaying graphics
Chapter 13
Mathematics functions
Chapter 14
Getting the current date and time
Chapter 15
Arrays
Chapter 16
Variable types
Chapter 17
Subroutines and functions
Chapter 18
Numbering systems
Chapter 19
Memory
4.
QBasic BootCamp.zip
QBasic Bootcamp. This is a tutorial set that assumes the worst... you have no knowledge of QBasic whatsoever. It then takes you from nothing to very advanced topics such as assembly, mouse handling, libraries, etc. Very easy to use and easy to understand. Large examples and extremely detailed. Possibly some of the best tutorials you could find on the web! (Submitted by Python167 on May 14, 2006)

## Post 51 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 14-Jul-2010 9:45:16

So I started checking everything out yesterday, just to see how I liked the feel of the tutorials. The D And D one looked very nice. The authors even admitted to starting off fast and said that commands would be introduced twice, once to get me started and then explained further. I'm not sure how I'll like this method but it's certainly worth a shot and they really have it together in that they don't treat their audience like babies nor do they get so complicated in the beginning that you're left wondering if this tutorial really is for beginners. The one from Lord DefCo was so basic in the beginning that it almost gave me a headache. But I only read the first part, so I really can't judge it yet. Besides, it has a few things that the D And D doesn't. I can't find the ESC one anywhere! I was really hoping to use this one alot, since it covers many different things. But when I went to the link the page couldn't be found. So i figured I'd try the Way Back Machine and even that couldn't find anything! So I'm not very happy about that. Perhaps, I'll e-mail Pete, the owner of the site where I found these, and see if he could help me. The Bootcamp one was, well, interesting. It seems to be written by a user and not a professional. The annoying thing is that he assumes his audience is using Windows so he goes off and talks about Notepad and clicking, dragging, dropping etc. Yes, it's helpful for those who are using it but really. On the flip side, the package actually contains QuickBASIC 4.5 and QBASIC 1.0. According to the author, "Due to an error in the creation of QuickBasic 4.5, CALL ABSOLUTE is not compatible with it... so you either have to install a library that fixes the problem, or use a lower version of QBasic." I don't know what these are yet but am glad to know of this before hand. There really is alot here. If I get passed the extreme informality here I might be able to learn a great deal from these.

## Post 52 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 14-Jul-2010 19:46:56

Has anyone ever heard of FreeBASIC for DOS? It was recommended to me today. If so, what are the main differences between it and QB and what are the benefits of using it? Does it have it's own built-in compiler and if so, how accessible is it? If not, then can you recommend a compiler for it that will work with a screen reader like VocalEyes? Is it anything like Visual BASIC? Wikipedia has the Hello World program written in BASIC, QuickBASIC and Visual BASIC and the latter totally confused me. I'd much rather something similar to QB. It's really early to ask this, but can anyone give me some general tips on making my programs accessible? I know that I have to write to the bios and not to the screen but am not sure if this will be an issue with the languages that I'll be using i.e. some flavour of BASIC and DBASE. Finally, can I create a tsr with these languages? It's not on the top of my list but it's good to know whether it's possible for the future.

## Post 53 by blindndangerous (the blind and dangerous one) on Wednesday, 14-Jul-2010 19:57:44

Found some good information here.
here you go.
Enjoy.

## Post 54 by Eleni21 (I have proven to myself and the world that I need mental help) on Wednesday, 14-Jul-2010 20:02:36

That just brought me to Google. So if you were trying to give me a real address, it didn't work. On the other hand if it was intentional, remember that I also asked questions on screen reader accessibility with FreeBASIC and Google might not have the answers on that part.

## Post 55 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Wednesday, 14-Jul-2010 23:51:19

Never learned q basic but I know visual basic and I assume it is similar.

## Post 56 by Eleni21 (I have proven to myself and the world that I need mental help) on Thursday, 15-Jul-2010 4:25:58

Well, QBASIC has enough differences when compared with Visual BASIC that I avoid the latter. Even a simple program like Hello World is handled differently between the two variants. Wikipedia actually has a section comparing BASIC, QBASIC and Visual BASIC, plus some explanations of the differences, which is how I know.

## Post 57 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Monday, 26-Jul-2010 14:38:00

The hellow world program is just displaying a message. How much more of a difference could it be to handle? You mean less code to write?