HOME
The Info List - QuickBASIC


--- Advertisement ---



Microsoft
Microsoft
Quick BASIC
BASIC
(also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC
BASIC
programming language that was developed by Microsoft. Quick BASIC
BASIC
runs mainly on DOS, though there was a short-lived version for the classic Mac OS. It is loosely based on GW- BASIC
BASIC
but adds user-defined types, improved programming structures, better graphics and disk support and a compiler in addition to the interpreter. Microsoft
Microsoft
marketed Quick BASIC
BASIC
as the introductory level for their BASIC
BASIC
Professional Development System.[1] Microsoft
Microsoft
marketed two other similar IDEs for C and Pascal, viz QuickC and QuickPascal.

Contents

1 History 2 Syntax example 3 Current uses 4 Successors 5 See also 6 References 7 External links

History[edit] Microsoft
Microsoft
released the first version of Quick BASIC
BASIC
on August 18, 1985 on a single 5.25" 360kB floppy disk. Quick BASIC
BASIC
version 2.0 and later contained an Integrated Development Environment
Integrated Development Environment
(IDE), allowing users to edit directly in its on-screen text editor. Although still supported in QuickBASIC, line numbers became optional. Program jumps also worked with named labels. Later versions also added control structures, such as multiline conditional statements and loop blocks. Microsoft's "PC BASIC
BASIC
Compiler" was included for compiling programs into DOS
DOS
executables. Beginning with version 4.0, the editor included an interpreter that allowed the programmer to run the program without leaving the editor. The interpreter was used to debug a program before creating an executable file. Unfortunately, there were some subtle differences between the interpreter and the compiler, which meant that large programs that ran correctly in the interpreter might fail after compilation, or not compile at all because of differences in the memory management routines.[2] The last version of Quick BASIC
BASIC
was version 4.5 (1988), although development of the Microsoft
Microsoft
BASIC
BASIC
Professional Development System (PDS) continued until its last release of version 7.1 in October 1990.[3] At the same time, the Quick BASIC
BASIC
packaging was silently changed so that the disks used the same compression used for BASIC
BASIC
PDS 7.1.[4] The Basic PDS 7.x version of the IDE was called QuickBASIC Extended (QBX), and it only ran on DOS, unlike the rest of Basic PDS 7.x, which also ran on OS/2. The successor to Quick BASIC
BASIC
and Basic PDS was Visual Basic
Visual Basic
version 1.0 for MS-DOS, shipped in Standard and Professional versions. Later versions of Visual Basic
Visual Basic
did not include DOS
DOS
versions, as Microsoft
Microsoft
concentrated on Windows applications. A subset of Quick BASIC
BASIC
4.5, named QBasic, was included with MS-DOS
MS-DOS
5 and later versions, replacing the GW- BASIC
BASIC
included with previous versions of MS-DOS. Compared to QuickBASIC, QBasic
QBasic
is limited to an interpreter only, lacks a few functions, can only handle programs of a limited size, and lacks support for separate program modules. Since it lacks a compiler, it cannot be used to produce executable files, although its program source code can still be compiled by a QuickBASIC 4.5, PDS 7.x or VB DOS
DOS
1.0 compiler, if available. Quick BASIC
BASIC
1.00 for the Apple Macintosh
Macintosh
operating system was launched in 1988. It was officially supported on machines running System 6
System 6
with at least 1 MB of RAM.[5] Quick BASIC
BASIC
could also be run on System 7, as long as 32-bit addressing was disabled; this was not possible on Motorola 68040-based Macintosh
Macintosh
machines. Syntax example[edit] Hello, World
Hello, World
- Shortest version:

? "Hello, World"

Hello, World
Hello, World
- Extended version:

CLS PRINT "Hello, World" END

99 bottles of beer:

LET BOTTLES = 99: LET BOTTLES$ = "99": LET BOTTLE$ = " bottles" FOR A = 1 TO 99 PRINT BOTTLES$; BOTTLE$; " of beer on the wall, "; BOTTLES$; BOTTLE$; " of beer." LET BOTTLES = BOTTLES - 1 IF BOTTLES > 0 THEN LET BOTTLES$ = LTRIM$(STR$(BOTTLES)): LET PRONOUN$ = "one" IF BOTTLES = 0 THEN LET BOTTLES$ = "no more": LET PRONOUN$ = "it" IF BOTTLES <> 1 THEN LET BOTTLE$ = " bottles" IF BOTTLES = 1 THEN LET BOTTLE$ = " bottle" PRINT "Take "; PRONOUN$; " down and pass it around, "; BOTTLES$; BOTTLE$; " of beer on the wall." PRINT: NEXT A PRINT "No more bottles of beer on the wall, no more bottles of beer." PRINT "Go to the store and buy some more, 99 bottles of beer on the wall."

Complex graphics example:

'Code By Nicholas Beltran 18/10/97 SCREEN 13 DIM a(3976) AS INTEGER, b(3976) AS INTEGER, c(3976) AS INTEGER DIM d(3976) AS INTEGER, e(3976) AS INTEGER col% = 16: col1% = 16: col2% = 16: col3% = 16: col4% = 16 col5% = 16: col6% = 16: col7% = 16: flag = 1: flag1 = 1 flag2 = 1: flag3 = 1:flag4 = 1: flag5 = 1: flag6 = 1: flag7 = 1 DO GET (1, 38)-(318, 62), a PUT (2, 38), a, PSET LINE (1, 38)-(1, 62), col% IF flag = 1 THEN col% = col% + 1: IF col% = 32 THEN flag = 2 IF flag = 2 THEN col% = col% - 1: IF col% = 16 THEN flag = 1 GET (2, 63)-(319, 87), b PUT (1, 63), b, PSET LINE (319, 63)-(319, 87), col1% IF flag1 = 1 THEN col1% = col1% + 1: IF col1% = 32 THEN flag1 = 2 IF flag1 = 2 THEN col1% = col1% - 1: IF col1% = 16 THEN flag1 = 1 GET (1, 88)-(318, 112), c PUT (2, 88), c, PSET LINE (1, 88)-(1, 112), col2% IF flag2 = 1 THEN col2% = col2% + 1: IF col2% = 32 THEN flag2 = 2 IF flag2 = 2 THEN col2% = col2% - 1: IF col2% = 16 THEN flag2 = 1 GET (2, 113)-(319, 137), d PUT (1, 113), d, PSET LINE (319, 113)-(319, 137), col3% IF flag3 = 1 THEN col3% = col3% + 1: IF col3% = 32 THEN flag3 = 2 IF flag3 = 2 THEN col3% = col3% - 1: IF col3% = 16 THEN flag3 = 1 GET (1, 138)-(318, 162), e PUT (2, 138), e, PSET LINE (1, 138)-(1, 162), col4% IF flag4 = 1 THEN col4% = col4% + 1: IF col4% = 32 THEN flag4 = 2 IF flag4 = 2 THEN col4% = col4% - 1: IF col4% = 16 THEN flag4 = 1 LOOP UNTIL LEN(INKEY$)

Current uses[edit] Quick BASIC
BASIC
continues to be used in some schools, usually as part of an introduction to programming[citation needed], though it is fast becoming replaced by more popular compilers. It also has an unofficial community of hobby programmers who use the compiler to write video games, GUIs and utilities.[6][7][8] The community has dedicated several Web sites, message boards and online magazines to the language.[9][10] Today, programmers sometimes use DOS
DOS
emulators, such as DOSBox, to run Quick BASIC
BASIC
on Linux
Linux
and on modern personal computer hardware that no longer supports the compiler.[11][12] Alternatives to this include Free BASIC
BASIC
and QB64, but they cannot yet run all QBasic/QuickBASIC programs.[13] Since 2008, a set of TCP/IP
TCP/IP
routines for Quick BASIC
BASIC
4.x and 7.1 has revitalized some interest in the software. In particular, the vintage computer hobbyist community has been able to write software for old computers that run DOS, allowing these machines to access other computers through a LAN or the internet. This has allowed systems even as old as an 8088
8088
to serve new functions, such as acting as a Web server or using IRC.[14] Successors[edit] Microsoft's Visual Basic
Visual Basic
was the successor of QuickBASIC. Other compilers, like Power BASIC
BASIC
and FreeBASIC, have varying degrees of compatibility. QB64, a multiplatform Quick BASIC
BASIC
to C++ translator, retains close to 100% compatibility and compiles natively for Windows, Linux
Linux
and macOS.[15] See also[edit]

QBasic Turbo Basic QB64

References[edit]

^ Early Microsoft
Microsoft
documentation rendered the name exclusively as "QuickBASIC", although later references on Microsoft's Web site also use "QuickBasic". ^ Microsoft
Microsoft
Knowledge Base 45850: Memory Management in QuickBasic & Basic Compiler ^ Quick BASIC
BASIC
4.5 was delivered on a set of five 360 kB 5.25" DSDD floppy disks or three 720 kB 3.5" DSDD floppy disks. The three-disk version could also be installed from 1.2 MB 5.25" or 1.44 MB 3.5" DSHD disks. To save costs, the files were compressed and later versions were shipped on just four 5.25" disks or two 3.5" disks. ^ Microsoft
Microsoft
Knowledge Base article 65291 ^ Quick BASIC
BASIC
for Macintosh
Macintosh
system requirements ^ "Q BASIC
BASIC
Games Directory". 2008-11-29. Archived from the original on 4 September 2014. Retrieved 2008-12-28.  ^ " GUI
GUI
Reviews". 2008-12-19. Retrieved 2008-12-28.  ^ "The (BASIC) GUI
GUI
Blog". 2011-02-06. Retrieved 2011-02-06.  ^ "Qbasic/Quickbasic News". 2008-12-26. Retrieved 2008-12-28.  ^ "QB Express". Pete's QBASIC/QuickBasic Site. 2008. Retrieved 2008-12-28.  ^ Pete Trbovich (2007-03-31). "HOWTO Play With Your Old QBasic Programs on Linux". Retrieved 2008-12-28.  ^ Kiyote Wolf (2008-05-10). "Kiyote Wolf on a Variety of Subjects". QB Express. Retrieved 2008-12-28.  ^ For example, Free BASIC
BASIC
does not yet support QBasic's "ON PLAY" callback for background music, or the use of PEEK and POKE to I/O ports. ^ Mike Chambers (2008-07-12). "rubbermallet.org: Where Quick BASIC
BASIC
gets much more powerful". Retrieved 2008-12-28.  ^ E.K.Virtanen (2008-05-26). "Interview With Galleon". Archived from the original on March 6, 2016. Retrieved 2008-07-14. CS1 maint: Unfit url (link)

External links[edit]

Version History of Microsoft
Microsoft
QuickBasic for MS-DOS

v t e

Dialects of the BASIC
BASIC
programming language (list)

Classic

Altair BASIC Applesoft BASIC Atari BASIC Atari Microsoft
Microsoft
BASIC Atari ST BASIC BASICA BASIC
BASIC
A+ BASIC
BASIC
Programming BASIC
BASIC
XE BASIC
BASIC
XL Casio BASIC Chipmunk Basic Color BASIC Commodore BASIC Extended Color BASIC Dartmouth BASIC Disk Extended Color BASIC Family BASIC GFA BASIC GW-BASIC HP BASIC
BASIC
for OpenVMS HP Time-Shared BASIC IBM BASIC Integer BASIC Locomotive BASIC Mallard BASIC Microsoft
Microsoft
BASIC MSX BASIC Pure Basic Rocky Mountain BASIC S'- BASIC
BASIC
(Tandy, Casio, Sharp Pocket Computers) ScriptBasic Sinclair BASIC Southampton BASIC
BASIC
System STOS BASIC TI BASIC
BASIC
(TI 99/4A) TI- BASIC
BASIC
(calculators) TI Extended BASIC
BASIC
(aka XBasic) Tiny BASIC Turbo-Basic XL Tymshare SUPER BASIC UBASIC Vilnius BASIC XBasic

Procedure-oriented

AmigaBASIC AMOS BASIC ASIC BBC BASIC Beta BASIC DarkBASIC FreeBASIC FutureBASIC GFA BASIC GLBasic Liberty BASIC Microsoft
Microsoft
Small Basic PowerBASIC PureBasic QBasic QB64 QuickBASIC SmallBASIC SuperBASIC ThinBasic True BASIC Turbo Basic XBasic Xblite Basic4ppc Visual Test B4J

With object extensions

AutoIt Basic For Qt (KBasic) BlitzMax Chipmunk Basic FreeBASIC Gambas GLBasic Monkey X OpenOffice Basic PowerBASIC ProvideX RapidQ REALbasic Run BASIC Visual Basic Visual Basic
Visual Basic
.NET Xojo

For mobile devices

B4X Basic4android (B4A) Basic4ppc GLBasic NS Basic Basic4ios (B4i)

Microsoft

Microsoft
Microsoft
BASIC

MBASIC IBM BASIC/BASICA GW-BASIC QuickBASIC QBasic

VBScript Visual Basic VBA Visual Basic
Visual Basic
.NET Embedded Visual Basic VB 5 for Microsoft
Microsoft
Excel 5.0

VSTO VSTA

WordBASIC TRS-80 Basics (Level I, Level II, Level III) Microsoft
Microsoft
Small Basic

Third-party VB-like

B4X Basic For Qt Gambas Hummingbird Basic LotusScript

.