请输入您要查询的百科知识:

 

词条 QuickBASIC
释义

  1. History

  2. Syntax example

  3. Current uses

  4. Successors

  5. See also

  6. References

  7. External links

{{Distinguish|QBasic}}{{Infobox software
|name = QuickBASIC
|screenshot = QuickBasic Opening Screen.png
|caption = The opening screen of QuickBasic
|released = {{Start date and age|1985}}
|developer = Microsoft
|latest release version = 7
|latest release date = {{Start date and age|1990}}
|operating_system = MS-DOS and Classic Mac OS
|license = Proprietary commercial software
|status = Abandoned
}}

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 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.

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 version 1.0 for MS-DOS, 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 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    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$)

Sample of a 'bubble sort':

REM sample of bubble sort

N = 10

DIM A(N) AS INTEGER

FOR L = 1 TO N

NEXT

FOR X = 1 TO N

    FOR Y = 1 TO N - 1        IF A(X) < A(Y) THEN SWAP A(X), A(Y)    NEXT

NEXT

FOR L = 1 TO N

NEXT

END

Current uses

QuickBASIC continues to be used in some schools, usually as part of an introduction to programming{{Citation needed|date=August 2011}}, 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] Alternatives to this include FreeBASIC and QB64, but they 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

  • QBasic
  • Turbo Basic
  • QB64

References

1. ^Early Microsoft documentation rendered the name exclusively as "QuickBASIC", although later references on Microsoft's Web site also use "QuickBasic".
2. ^Microsoft Knowledge Base 45850: Memory Management in QuickBasic & Basic Compiler
3. ^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.
4. ^Microsoft Knowledge Base article 65291
5. ^QuickBASIC for Macintosh system requirements
6. ^{{cite web|url=http://www.qbasic.com/games/|title=QBASIC Games Directory|date=2008-11-29|accessdate=2008-12-28|author=|publisher=|archiveurl=https://web.archive.org/web/20140904181932/http://www.qbasic.com/games/|archivedate=4 September 2014}}
7. ^{{cite web|url=http://qbasicgui.datacomponents.net/|title=GUI Reviews|date=2008-12-19|accessdate=2008-12-28|author=|publisher=}}
8. ^{{cite web|url=http://theguiblog.com/|title=The (BASIC) GUI Blog|date=2011-02-06|accessdate=2011-02-06|author=|publisher=}}
9. ^{{cite web|url=http://qbasicnews.com/|title=Qbasic/Quickbasic News|date=2008-12-26|accessdate=2008-12-28}}
10. ^{{cite web|url=http://www.petesqbsite.com/sections/express/express.shtml|title=QB Express|year=2008|accessdate=2008-12-28|publisher=Pete's QBASIC/QuickBasic Site}}
11. ^{{cite web|url=http://penguinpetes.com/b2evo/index.php?title=howto_play_with_your_old_qbasic_programs&more=1&c=1&tb=1&pb=1|title=HOWTO Play With Your Old QBasic Programs on Linux |date=2007-03-31|accessdate=2008-12-28|author=Pete Trbovich|publisher=}}
12. ^{{cite web|url=http://www.petesqbsite.com/sections/express/issue28/index.html#kiyotewolf|title=Kiyote Wolf on a Variety of Subjects|date= 2008-05-10|accessdate= 2008-12-28|author= Kiyote Wolf|publisher= QB Express}}
13. ^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.
14. ^{{cite web|url=http://www.rubbermallet.org/index.html|title= rubbermallet.org: Where QuickBASIC gets much more powerful|date= 2008-07-12|accessdate= 2008-12-28|author=Mike Chambers}}
15. ^{{cite web|url=http://basicprogramming.org/pcopy/issue70 |title=Interview With Galleon |date=2008-05-26 |accessdate=2008-07-14 |author=E.K.Virtanen |publisher= |deadurl=unfit |archiveurl=https://web.archive.org/web/20160306225525/http://basicprogramming.org/pcopy/issue70 |archivedate=March 6, 2016 }}

External links

  • [https://support.microsoft.com/en-us/kb/39730 Version History of Microsoft QuickBasic for MS-DOS]
{{BASIC}}{{DEFAULTSORT:Quickbasic}}

6 : Discontinued Microsoft BASICs|Microsoft development tools|BASIC compilers|DOS software|1985 software|Classic Mac OS programming tools

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/13 18:35:37