• No results found

qb64

N/A
N/A
Protected

Academic year: 2021

Share "qb64"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

Share Africa's rich heritage and cultures expressed through music, song, dance, and movement and win great prizes!

Find out more

QuickBASIC

From Wikipedia, the free encyclopedia

Not to be confused with QBasic.

QuickBASIC

The opening screen of QuickBasic Developer(s) Microsoft

Initial release 1985; 32 years ago Stable release 4.5 / 1988; 29 years ago Development status Abandoned

Operating system MS-DOS and Classic Mac OS License Proprietary commercial software

Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was a short-lived version for the classic Mac OS. It is loosely based on GW-BASIC but adds user-defined types, improved programming structures, better graphics and disk support and a compiler in addition to the interpreter. Microsoft marketed

(2)

QuickBASIC as the introductory level for their BASIC Professional Development System.[1] 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 External links • 7 References

History

Microsoft released the first version of QuickBASIC on August 18, 1985 on a single 5.25" 360kB floppy disk. QuickBASIC version 2.0 and later contained an 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 Compiler" was included for compiling programs into 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 QuickBASIC was version 4.5 (1988), although development of the Microsoft BASIC Professional Development System (PDS) continued until its last release of version 7.1 in October 1990.[3] At the same time, the QuickBASIC packaging was silently changed so that the disks used the same compression used for 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 QuickBASIC and Basic PDS was Visual Basic for MS-DOS 1.0, shipped in Standard and Professional versions. Later versions of Visual Basic did not include DOS versions, as Microsoft concentrated on Windows applications.

A subset of QuickBASIC 4.5, named QBasic, was included with MS-DOS 5 and later versions, replacing the GW-BASIC included with previous versions of MS-DOS. Compared to

QuickBASIC, 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

(3)

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 VBDOS 1.0 compiler, if available.

QuickBASIC 1.00 for the Apple Macintosh operating system was launched in 1988. It was officially supported on machines running System 6 with at least 1 MB of RAM.[5] QuickBASIC could also be run on System 7, as long as 32-bit addressing was disabled; this was not possible on Motorola 68040-based Macintosh machines.

Syntax example

Hello, World - Shortest version:

? "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

(4)

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

QuickBASIC 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 emulators, such as DOSBox, to run QuickBASIC on Linux and on modern personal computer hardware that no longer supports the compiler.[11] [12] One alternative to this is FreeBASIC, but it cannot yet run all QBasic/QuickBASIC programs.[13] Since 2008, a set of TCP/IP routines for QuickBASIC 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 to serve new functions, such as acting as a Web server or using IRC.[14]

Successors

Microsoft's Visual Basic was the successor of QuickBASIC. Other compilers, like PowerBASIC and FreeBASIC, have varying degrees of compatibility. QB64, a multiplatform QuickBASIC to C++ translator, retains close to 100% compatibility and compiles natively for Windows, Linux and macOS.[15]

See also

• Turbo Basic

External links

(5)

References

1.

• Early Microsoft documentation rendered the name exclusively as "QuickBASIC", although later references on Microsoft's Web site also use "QuickBasic".

• Microsoft Knowledge Base 45850: Memory Management in QuickBasic & Basic Compiler

• QuickBASIC 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 Knowledge Base article 65291

• QuickBASIC for Macintosh system requirements

"QBASIC Games Directory". 2008-11-29. Archived from the original on 4 September 2014. Retrieved 2008-12-28.

"GUI Reviews". 2008-12-19. Retrieved 2008-12-28.

"The (BASIC) 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, FreeBASIC 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 QuickBASIC gets much more powerful". Retrieved 2008-12-28.

15.E.K.Virtanen (2008-05-26). "Interview With Galleon". Archived from the original on March 6, 2016. Retrieved 2008-07-14.

[hide]

Dialects of the BASIC programming language (list) Classic • Altair BASIC

• Applesoft BASIC • Atari BASIC

• Atari Microsoft BASIC • Atari ST BASIC

(6)

• BASICA • BASIC A+ • BASIC Programming • BASIC XE • 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 for OpenVMS • HP Time-Shared BASIC • IBM BASIC • Integer BASIC • Locomotive BASIC • Mallard BASIC • Microsoft BASIC • MSX BASIC • Pure Basic

• Rocky Mountain BASIC

• S'-BASIC (Tandy, Casio, Sharp Pocket Computers) • ScriptBasic

• Sinclair BASIC

• Southampton BASIC System • STOS BASIC

• TI BASIC (TI 99/4A) • TI-BASIC (calculators)

• TI Extended 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

(7)

• FutureBASIC • GFA BASIC • GLBasic • Liberty BASIC

• Microsoft Small Basic • PowerBASIC • PureBasic • QBasic • QB64 • QuickBASIC • SmallBASIC • SuperBASIC • ThinBasic • True BASIC • Turbo Basic • XBasic • Xblite • Basic4ppc • Visual Test

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 .NET • Xojo

For mobile devices

• Basic4android • Basic4ppc • GLBasic • NS Basic Microsoft • Microsoft BASIC • MBASIC • IBM BASIC/BASICA

(8)

• GW-BASIC • QuickBASIC • QBasic • VBScript • Visual Basic • VBA

• Visual Basic .NET • Embedded Visual Basic • VB 5 for Microsoft Excel 5.0

• VSTO • VSTA • WordBASIC

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

Third-party VB-like • Basic For Qt • Gambas • Hummingbird Basic • LotusScript • WinWrapBasic • Xojo Categories:

• BASIC programming language family • Discontinued Microsoft BASICs • BASIC compilers

• DOS software • 1985 software

• Classic Mac OS programming tools

1. Navigation menu

• Not logged in • Talk • Contributions • Create account • Log in • Article • Talk

(9)

• Read • Edit • View history • • Main page • Contents • Featured content • Current events • Random article • Donate to Wikipedia • Wikipedia store

Interaction

• Help • About Wikipedia • Community portal • Recent changes • Contact page

Tools

• What links here • Related changes • Upload file • Special pages • Permanent link • Page information • Wikidata item • Cite this page

Print/export

• Create a book • Download as PDF

(10)

• Printable version

Languages

• ةيبرعلا • Català • Čeština • Deutsch • Ελληνικά • Español • Français • 한국어 • Italiano • 日本語 • Polski • Português • Русский • Suomi • Svenska • Türkçe • 中文 Edit links

• This page was last modified on 9 December 2016, at 13:16.

• Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. • Privacy policy • About Wikipedia • Disclaimers • Contact Wikipedia • Developers • Cookie statement • Mobile view • •

(11)

Main Page

Welcome to the QB64 Programming WIKI

QB64 is a modern version of the Basic programming language that allows programs created using Quick Basic 4.5 or Qbasic to run on Windows XP, Vista, 7, 8, 8.1 and 10, Linux and Mac OSX. It will work on 32 or 64 bit machines and has many new features such as stereo sound, improved graphics and TCP/IP internet capabilities. QB64 can make reliable programs or games for the entire family!

QB64 does not install any files outside of the qb64 folder or use the Registry! May require Administrator permissions.

Programming in Basic is EASY! You don't need to learn much to get started as it uses many statements and function words that are familiar to you. You can learn to program in days instead of weeks! If you need help there is a forum to ask for help and this WIKI has many example

programs that you can run to see how things work. Download QB64 and take a ride into the wonderful world of programming! We are sure that you will enjoy the experience! We have programmers from age 10 to over 60. Welcome aboard!

QB64 Forums and Compiler Downloads by OS

Download the QB64 WIKI for Offline Reference (27.13 MB). Offline WIKI Reference contributed by Steve McNeill.

Download the WIKI Offline Torrent(1441.8 kB)

It's a good idea to exclude "QB64.exe" from any real-time anti-virus scanning to prevent IDE Module Errors!

This wiki is a work in progress. If you'd like to help out in any way, see this page: Helping out.

For discussions about this WIKI goto the QB64 Community Development Forum.

Thank you for your interest in the BASIC language and QB64!

If FIREFOX browser does not copy page example code correctly use another browser or download our Code Fix Addon :

Mozilla FireFox Code Copy Add On

Contents

[hide] • 1 Keywor ds: • 2 Append ix: • 3 QB64 Informa tion: • 4 Commu nity links:

(12)

Frequently Asked Questions about QB64 Keywords currently not supported by QB64 Keyword Not Supported in Linux or MAC versions

Keywords:

• Keyword Reference - Alphabetical • Keyword Reference - By usage • Syntax Reference - QB64

• Keywords currently not supported by QB64

Appendix:

• Android Project (QB64 GL for Windows only at present)

• Arrays

• ASCII Character Codes • Batch Files

• Binary Numbers • Boolean Operations • Clipboard

• Converting Bytes to Bits • Console Window

• Controller Devices (Keyboard, Mouse, Joystick, Gamepad)

• DOS, Linux or Mac Commands • Downloading Files (TCP/IP)

• Embedding Icons in EXE (Windows)

• Environment (Windows Registry) • Hardware images (GL only)

• Image file procedures • Keyboard Scan Codes

• Libraries (SDL, C++, Windows, DLL)

• Line numbers

• LINKed or Merged Modules • Mathematical Operations

• Memory Handling and Clipboard

• Operating System Commands (DOS, Linux and Mac OSX)

(13)

• Phonetic spelling (spelling by sound)

• Port Access Libraries (COM or LPT)

• Program Installations

• QB 4.5 Library Ports For QB64 • Relational Operations

• Removing line numbers

• Resource Table extraction (Icon Extraction)

• Screen Memory • SQL Client (database)

• TCP/IP Message Format

• Text, Fonts and Unicode Using Graphics

• Tokenized Code (Quickbasic binary to text BAS file converter)

• Unicode Code Pages • Variable Types

• VB Script (program shortcuts with icon)

• VB Procedures (Currency type)

• Windows Printer Settings • Windows Registry Access • Windows User Paths

(Return to Table of Contents)

QB64 Information:

• About QB64

• QB64 licensing • QB64 FAQ

• Installing QB64 on Windows, Linux and Mac • QB64 IDE and Compiler

• Editing QB64 source - Tutorial by SMcNeill on editing the QB64 source to help in Development.

• ERROR Codes

• QB64 GL Source Revisions • QB64 Tutorials

• Known QB64 Issues

• Keywords currently not supported by QB64 • Syntax Notation Conventions (terminology)

Community links:

• QB64 Main Site

(14)

• QB64 Help Menu • WIKI Page Format

• Page • Discussion • View source • History • Log in Navigation • Main Page • Community portal • Current events • Recent changes • Random page • Help Toolbox

• What links here • Related changes • Special pages • Printable version • Permanent link

• This page was last modified on 14 October 2016, at 18:54. • This page has been accessed 625,896 times.

• Privacy policy • About QB64 Wiki • Disclaimers

References

Related documents

• When upgrading from version 7.x to release 8.5, the management group version will not move to release 8.5 until all storage nodes in the management group (and in the remote

To help preserve a domestic scheme capability, the Reserve Bank of Australia has encouraged a new governance framework with the creation of EFTPOS Payments Australia Limited

Dimensions and indicators based on a combination of stakeholder consultation, review of the literature, and preliminary analysis of the household survey data set Assessment

The Convention on the Rights of Persons with Disabilities and Coercive Treatment under Queensland’s Mental Health Act 2000’, Laws 4 (2015): 173-200; Piers Gooding, ‘Navigating

We hypothesized that health-related stigma would be related to higher psy- chological distress and poorer quality of life and that the effect of stigma on these adjustment

These include Schlage D-Series locks with Vandlgard trim; Schlage Everest keying systems; Schlage stand-alone, computer-managed, battery-powered, non-wired locks; and

Over the past decade we have been working with colleagues from around the globe and from a variety of disciplines to quantify human capital management and use the resultant

Upon receiving a request for an expedited appeal, the APS care manager will forward the request to the behavioral health medical director and/or a psychiatric physician advisor