qb64

所属分类:Windows编程
开发工具:WINDOWS
文件大小:12951KB
下载次数:4
上传日期:2017-08-13 10:57:48
上 传 者lzpgfy
说明:  qbasic语言,在高中课程必修3算法中要使用,在WIN8,WIN10系统上唯一可以使用的basic语言。
(QBASIC language, in the high school curriculum required 3 algorithm to use, in WIN8, WIN10 system, the only basic language can be used.)

文件列表:
qb64 (0, 2017-07-26)
qb64\audio.txt (8969, 2009-05-03)
qb64\data (0, 2011-04-09)
qb64\data\charset8.raw (16384, 2007-07-21)
qb64\data\chrset16.raw (32768, 2007-08-09)
qb64\data\qb64.pal (1024, 2007-07-21)
qb64\data\qb64ega.pal (256, 2007-08-11)
qb64\data\qb64icon.bmp (2102, 2007-08-26)
qb64\internal (0, 2011-04-09)
qb64\internal\c (0, 2011-04-09)
qb64\internal\c\as.exe (968704, 2009-02-04)
qb64\internal\c\bin (0, 2011-04-09)
qb64\internal\c\bin\ar.exe (562688, 2009-02-04)
qb64\internal\c\bin\g.exe (90624, 2004-09-21)
qb64\internal\c\bit.cpp (1472, 2009-08-20)
qb64\internal\c\cc1plus.exe (8081920, 2009-05-02)
qb64\internal\c\common.cpp (5579, 2009-09-01)
qb64\internal\c\doc (0, 2011-04-09)
qb64\internal\c\doc\mingw32-make (0, 2013-06-18)
qb64\internal\c\doc\runtime (0, 2013-06-18)
qb64\internal\c\downloaded (0, 2013-06-18)
qb64\internal\c\i (0, 2011-04-09)
qb64\internal\c\include (0, 2011-04-09)
qb64\internal\c\include\basetsd.h (3875, 2008-12-06)
qb64\internal\c\include\c++ (0, 2011-04-09)
qb64\internal\c\include\c++\3.4.2 (0, 2011-04-09)
qb64\internal\c\include\c++\3.4.2\backward (0, 2013-06-18)
qb64\internal\c\include\c++\3.4.2\bits (0, 2013-06-18)
qb64\internal\c\include\c++\3.4.2\debug (0, 2013-06-18)
qb64\internal\c\include\c++\3.4.2\ext (0, 2013-06-18)
qb64\internal\c\include\c++\3.4.2\mingw32 (0, 2011-04-09)
qb64\internal\c\include\c++\3.4.2\mingw32\bits (0, 2013-06-18)
qb64\internal\c\include\ctype.h (10512, 2009-01-11)
qb64\internal\c\include\ddk (0, 2013-06-18)
qb64\internal\c\include\direct.h (1944, 2009-01-11)
qb64\internal\c\include\errno.h (3320, 2009-01-11)
qb64\internal\c\include\GL (0, 2013-06-18)
qb64\internal\c\include\inttypes.h (5637, 2009-01-11)
qb64\internal\c\include\io.h (11897, 2009-01-11)
qb64\internal\c\include\locale.h (2102, 2009-01-11)
... ...

QB*** COMPILER V0.85 =================== V0.85 Specific ============== Major stages in the exciting transition to IDE autoformatting and autolayout are complete. Code will auto-indent. The spacing of some statements will be done by autolayout. The capitalization of some names will be maintained by autolayout. This release has no option to disable the above yet. Every effort has been made to make sure autolayout/autoformat do not damage your code. If you encounter a problem related to autolayout/autoformatting please report it immediately. * NOTE: The QB*** IDE now uses the Windows clipboard for copy/paste operations (this is very useful) * CHAIN implemented (maintains COMMON data but doesn't maintain open files or the screen state yet) * _CLIPBOARD$ string added to use/access the Windows clipboard PRINT _CLIPBOARD$ 'prints the contents of the clipboard _CLIPBOARD$="This is line 1"+CHR$(13)+CHR$(10)+"This is line 2" 'sets 2 lines of text in the clipboard * _EXIT function implemented to let a program know if the user has used the close button or CTRL+BREAK After the first time this function is called, the programmer can no longer manually exit the program. _EXIT returns 0 - no exit request made 1 - exit via X box 2 - exit via CTRL+BREAK 3 - both CTRL+BREAK and the X box have been used since last call * Some sample programs (eg. samples\original\qb***\ripples.bas) stopped working (across several releases) and the various causes have been fixed * Many reported (and unreported) bugs have been fixed V0.841b Specific ================ Implemented TCP/IP support. Refer to the following QB*** forum thread for details/documentation: http://www.qb***.net/forum/index.php?topic=397.0 Further TCP/IP documentation can be found on the QB*** Wiki: http://qb***.net/wiki/index.php?title=Keyword_Reference_-_By_usage#TCP.2FIP V0.841 Specific =============== Again, QBASIC compatibility has been improved. New commands supported: DRAW, $INCLUDE, KEY OFF(does nothing), ENVIRON, LEN(of variables/types/arrays) Many minor bugs/incompatibilities have been addressed. V0.84 Specific ============== Stability & QBASIC compatibility have been significantly improved. Many problems not listed here have also been addressed. New commands specific to QB***: _ICON imagehandle 'changes the program's icon _TITLE string$ 'changes the text in the title bar _DELAY x 'waits for x seconds (accurate to nearest millisecond), relinquishing cpu cycles to other applications _LIMIT x 'limits the fps/rate of a program to x loops/frames/etc per second, relinquishing any spare cpu cycles to other applications t=TIMER(0.001) 'returns TIMER value rounded to nearest 0.001 of a second (highest accuracy possible is to the nearest millisecond) _DISPLAY (no parameters) 'This command manually updates the monitor using the data of the currently selected display page. The command also disables the autodisplay of display page data to the monitor (the default) if it is on. _AUTODISPLAY (no parameters) 'This command enables autodisplay so the display page data will automatically be updated to the monitor. x=_ERRORLINE 'Returns the source code line number that caused the most recent runtime error Added support for QBASIC commands: CALL INTERRUPT CLEAR COMMON (when used in programs without multiple modules) RUN Other improvements: -Severe memory leaks fixed -can PEEK timer bytes at &H46C-E (46c+46d*256+46e*65536) -division error fixed [(tx<2)/2.0 VS print (tx<2)/2] -INP(&H3C9) for palette reading -power-of [^] bug (related to order of operations) -Reading "" in DATA statements -Many fixes/improvements to referencing/allocating variables (including user defined types) in conventional memory -SUBs/FUNCTIONs requiring variables in comventional-memory now supported -Problems calling CALL ABSOLUTE addressed IDE improvements: -Severe memory leak which affected the IDE fixed -Uses 50% less memory (RAM) -Minimal CPU usage -Many freeze/crash related problems addressed A repository of QBASIC programs which run without modifications has been started in the \qb***\samples\ folder. See \qb***\samples\info.txt for more details. V0.83 Specific ============== Primarily improves cross-platform support. 1) Windows ***/ME support restored (broken since late 2008!) 2) Linux support improved: -_INTEGER*** data type now supported (C++ compilation failed before) -READing numbers from DATA statements fixed -EOF() not being detected problem fixed -\ automatically changed to / in OPEN,BLOAD,KILL,CHDIR,etc. (Many sample programs now run correctly as a result of these changes) 3) Many bug fixes to compiler & IDE; Of note: -Incorrect errors were reported when editing programs conatining user defined types in the IDE -GET from file treats # as optional V0.82 Specific ============== Primarily implements: 1) PRINT USING [#] command 2) STATIC command (all usages) 3) Major bug fixes to the QB*** IDE 4) Major bug fixes and improvements to the QB*** compiler This is a Windows only release of V0.82, a Linux version will become available in 1-2 weeks time. V0.81x Specific =============== V0.81x implements 2 major changes: 1) Provides an IDE remarkably similar (in look and interface) to the QBASIC IDE called qb***.exe notes: -qb***.exe can perform command line compilation (similar to previous versions of QB***) using the -c switch, for example: qb*** -c mycode.bas -many bugs/issues remain to be fixed, report them in the forum (gripes are ok too!) -many more features are planned, at present the IDE is essentially a text editor that checks your code as you type it -code may have "OK" status but fail C++ compilation (on F5) due to the underlying QB*** compiler not checking code thouroughly enough -programs using the underscore (_) symbol for line don't work in the IDE yet -the IDE features an autosave feature which silently saves your code after every 10 changes, you will be automatically prompted to restore this upon restart if you didn't exit normally (via the file menu's "exit" command) -C++ compilation failure and some preprocessing errors are reported with incorrect line numbers, which can be misleading 2) Linux support notes: -you must have downloaded the Linux version of QB*** from the qb***.net forums and followed necessary installation steps -*** bit Linux systems are not supported yet (it may be possible to edit ./internal/c/makeline.txt to force compilation for a 32-bit system) -EOF() doesn't work correctly -Type _UNSIGNED INTEGER*** (only the unsigned version) cannot be used due to an incompatibility -check forward slashes and backslashes are correct for the Linux filesystem (QB*** will address this automatically in later versions) -check case of referenced filenames carefully (QB*** will address this automatically in later versions) -unhandled (ie. not handled by ON ERROR GOTO ...) errors when your code is running currently result in immediate program termination without warning -lots of other compatibility problems exist and will be fixed in later versions, report them in the forum general notes about V0.81x: -compile.exe is not in V0.81x but will be provided alongside qb***.exe in subsequent versions -temporarily removed support for SETTING the time/date V0.81 Specific ============== V0.81 primarily implements support for constants (refer to the CONST keyword) Handling of numbers written in the code has been improved to support all type symbol extensions (even the newer QB*** types), this also applies to &H..., &O... and the newly implemented binary prefix &B... (note that &B... only currently works when used with numbers directly in your code, further support for &B... will be added later). This provides better compatibility with QBASIC's handling of numbers. Several bugs causing compilation to fail on valid code have been corrected, but always check that the program to be compiled doesn't include any as yet unimplemented features listed later in this document. No new sample programs have been added in this release. V0.8 Specific ============= V0.8 primarily implements the QB*** 2D prototype 1.0, a fully integrated 2D graphics interface which encapsulates and extends upon QBASIC's standard graphics capabilities. It incorporates .TGA .BMP .PNM .XPM .XCF .PCX .GIF .JPG .TIF .LBM .PNG graphics formats, .TTF (true type) fonts, 32-bit RGBA, alpha blended drawing, color-key'd palette indexed images, RGB to palette matching, stretching, flipping, mirroring, and other functionality. Multiple graphics surfaces can be used of differing dimensions and formats simultaneously, and operations can be performed any these surfaces interchangeably. The 2D prototype is fully implemented but still in the process of being documented in detail. Please refer to the following webpage for the latest documentation: http://www.qb***.net/2d Feel free to enquire about the 2D prototype & its usage at: http://www.network54.com/Forum/585676/ No official example programs are available which demonstrate the 2D prototype yet, however they will be released soon. Thanks for trying QB***! The goal of QB*** is to create programs from BASIC source for Windows, Mac OSX and Linux whilst being 100% compatible with Microsoft QBASIC/QB4.5 Make sure original .BAS files from QB4.5 are saved in text format not the compressed file format. Read \qb***\samples\info.txt for information about included .BAS example programs. UNIMPLEMENTED FEATURES ====================== The majority of QBASIC commands are implemented. Only the following are NOT IMPLEMENTED yet: -ON ... GOTO/GOSUB EVENTS (however, ON ERROR GOTO is implemented) -Devices (COM...,SCRN:,LPT...,KYBD:,CONS:) in an OPEN statement -CALL INTERRUPT (limited support for INT 33h only) -CALL ABSOLUTE (limited support for PUSH/POP/MOV/INT 33h only) -Port access (limited support, including OUT &H3C8/&H3C9 and INP &H3DA/&H60) -Multimodular support -Other commands: TRON/TROFF, CHAIN, FILES, FILEATTR, LPRINT, LPOS, FIELD, LOCK, UNLOCK, IOCTL, IOCTL$, PEN, STICK, STRIG, SETMEM, FRE, FIELD, KEY ON QB*** SPECIFIC FEATURES (FEATURES THAT QBASIC DOES NOT HAVE) =========================================================== INPUT Protection ---------------- "Intelligently" restricts keyboard input. Avoids "redo from start" messages. Limits screen space used by input for fixed length strings and numbers (eg. INTEGER cannot use more than 6 spaces) New Data Types -------------- _BIT name` or name`1 _UNSIGNED _BIT name~` or name~`1 _BIT*4 name`4 _UNSIGNED _BIT*4 name~`4 _BYTE name%% _UNSIGNED _BYTE name~%% INTEGER name% _UNSIGNED INTEGER name~% LONG name& _UNSIGNED LONG name~& _INTEGER*** name&& _UNSIGNED _INTEGER*** name~&& SINGLE name! DOUBLE name# _FLOAT name## STRING name$ STRING*100 name$100 _DEFINE Command --------------- Instead of having DEFBIT,DEFUBT,DEFBYT,DEFUBY etc. for all the new data types there is a simple command which can be used like DEFINT for new types (or old types if you want to) as follows: _DEFINE A-C,Z AS DOUBLE 'the same as DEFDBL A-C,Z Larger Maximum RANDOM File Access Field Sizes --------------------------------------------- For RANDOM access files, record lengths can now be greater than 32767 bytes. Variable length string headers allow for larger strings whilst still being 100% QBASIC compatible with smaller strings. BLOAD/BSAVE Limit ----------------- Can save/load 65536 bytes, not just 65535. _MK$(variable-type,value) ------------------------- Like MKI$/MKS$/etc., this converts numbers into a binary string. The advantage of _MK$() is it allows conversion into the newer QB*** data types as apose to just the QBASIC types. Example usage: a$=_MK$(_UNSIGNED _INTEGER***,100) Note: _CV(variable-type,string) can also be used. _ROUND ------ This can be used to round values to integers (CINT & CLNG imposed limitations on the output) Graphics GET/PUT ---------------- GET supports a new optional argument. If used the area to store can be partially/all off-screen and off-screen pixels are set to the value specified: GET (-10,-10)-(10,10),a,3 PUT format has been extended to PUT[{STEP}](?,?),?[,[{_CLIP}][{PSET|PRESET|AND|OR|XOR}][,?]] where _CLIP allows drawing partially/all off-screen and the final optional argument can specify a mask color to skip when drawing. Better Sound/Audio Support -------------------------- Support for playing .MID, .WAV, .MP3 and many other formats. Commands include: _SNDPLAYFILE Simple command to play a sound file (with limited options) _SNDOPEN Returns a handle to a sound file _SNDCLOSE Unloads a sound file (waits until after it has finished playing) _SNDPLAY Plays a sound _SNDSTOP Stops a playing (or paused) sound _SNDPLAYING Returns whether a sound is being played _SNDLOOP Like _SNDPLAY but sound is looped _SNDLIMIT Stops playing a sound after it has been playing for a set number of seconds _SNDGETPOS Returns to current playing position in seconds _SNDCOPY Copies a sound (so two or more of the same sound can be played at once) _SNDPLAYCOPY Copies a sound, plays it and automatically closes the copy _SNDPAUSE Pauses a sound _SNDPAUSED Checks if a sound is paused _SNDLEN Returns the length of a sound in seconds _SNDVOL Sets the volume of a sound _SNDBAL Sets the balance/3D position of a sound _SNDSETPOS Changes the current/starting playing position of a sound in seconds For more information, read "AUDIO.TXT" in your "QB***" folder. Also check out "AUDIO.BAS" in the samples folder, you'll need some audio files to test this with! Mouse Support ------------- _MOUSESHOW Displays the mouse cursor (sub) _MOUSEHIDE Hides the mouse cursor (sub) _MOUSEINPUT MUST BE CALLED UNTIL IT RETURNS 0, it reads the next mouse message and returns -1 if new information was available otherwise 0 (func) _MOUSEX (func) _MOUSEY (func) _MOUSEBUTTON(n) -1 if button n (a value of 1 or more) is down Improved 2D Graphics Support ---------------------------- Although not fully documented, these new 2D commands are fully implemented. Refer to http://www.qb***.net/2d for usage/details.

近期下载者

相关文件


收藏者