From: cos@chaos.cs.brandeis.edu (Ofer Inbar) Subject: FAQ for alt.lang.basic, 8 October 1992 (2.1) Message-ID: <1992Oct8.043619.295@news.cs.brandeis.edu> Followup-To: alt.lang.basic Summary: Frequently Asked Questions about BASIC Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Computer Science Date: Thu, 8 Oct 1992 04:36:19 GMT Approved: news-answers-request@mit.edu Expires: Tue, 1 Dec 1992 23:00:00 GMT Lines: 636 Archive-name: basic-faq Version: 02.10 FAQ for alt.lang.basic, fifth revision, 8 October 1992 [0.1] Is this the only BASIC newgroup? [0.2] Why an alt.* group, rather than comp.lang.basic? Microsoft Products [1.1] What is the difference between QuickBASIC and QBASIC? [1.2] Is there any version of QuickBASIC later than 4.5? [1.3] Visual BASIC for DOS press release. [1.4] How do I program the mouse in QuickBASIC? [1.5] What are the differences between PDS 7.1, VB/DOS, and VB/DOS Pro? PC General Questions [2.1] Whatever happened to Turbo BASIC? [2.2] How can I write TSRs in BASIC? Other Platforms [3.1] What is available for the Macintosh? [3.2] TrueBASIC [3.3] Is there BASIC on Unix platforms? [3.4] Business BASIC Appendixes [A] Addresses & Phone Numbers - TrueBASIC - Crescent Software (QB libraries) - MicroHelp (QB Libraries) - Spectra (Turbo BASIC) - ZEDCOR (ZBASIC / FutureBASIC) - Staz Software (?) - Ariel Publishing (BASIC on the Mac...) [B] Periodicals - Basic Magazine - BasicPro - Windows Tech Journal [C] Notes from the FAQ author ---------- [0.1] Is this the only BASIC newsgroup? Yes, alt.lang.basic is currently the only netnews group devoted primarily to BASIC. There exist other newsgroups where it is possible to discuss BASIC, such as comp.lang.misc, but none of those are primarily BASIC groups. There also exists on FidoNet an active BASIC echo conference. [0.2] Why an alt.* group, rather than comp.lang.basic? The comp.* hierarchy is part of Usenet, and follows Usenet's lengthy group creation guidelines. AltNet, on the other hands, has no such rules. People are expected, for the sake of courtesy, to propose new groups before they create them to see if anyone has any objections. But basically, anyone may create any group they want. It is possible in the future to convert alt.lang.basic to comp.lang.basic through a Usenet vote. However, now is probably not yet the time. In order to pass a vote, the group should be able to demonstrate sufficient volume of postings to justify its own group. If alt.lang.basic continues as is for a while, it will have a stronger case to join Usenet later on. To have a group created on Usenet, one must: - Post a Request For Discussion to news.groups, news.announce.newgroups, and all other groups related to the topic. - Allow a period of discussion in news.groups about the merits of the proposed group. Issues will be brought up that include "Is there interest in this group?", "Is this the right name?", "Will there be enough traffic to justify it?", and so on. - Post a Call For Votes at the end of the discussion period. Someone must the collect all votes for the duration of the voting period, check for duplicates, keep a count of yes and no votes, and post periodic mass acknowledgements of who has voted. - At the end of the voting period, if the results indicate at least 100 more yes votes than no votes, and if yes votes account for at least 2/3 of the total, the group will be created. A few days are allowed after the results are made public, for people to make any final objections. - If there was controversy during the discussion, or any allegations of an unfair vote or a biased vote taker or whatever, then some systems may choose not to carry the new group even if it does get created. ---------- Microsoft Products [1.1] What is the difference between QuickBASIC and QBASIC? Microsoft QuickBASIC is a standalone product that has been available since 1987 (?). It includes an integrated debugger/editor/compiler working environment, can create standalone .EXE files, and can create .OBJ files for linking with other modules created in other languages. When MS-DOS 5.0 came out, Microsoft included a replacement for the GWBASIC interpreter of past versions of DOS, called QBASIC. QBASIC is a stripped down version of QuickBASIC 4.5. It includes most of the capabilities of QuickBASIC, including the integrated environment, but it is not a compiler. Consequently, it cannot create .EXE or .OBJ files. It also does not support call interrupts, and is limited to only one 64Kb module per program. QuickBASIC is still on sale as a standalone product. Any program written in QBASIC should work under QuickBASIC, but the opposite is not necessarily true. If you're not sure which of the two you're using, check the Run menu to see if it allows you to create an executable file. Also, QBASIC.EXE is QBASIC, while QB.EXE is QuickBASIC, unless you've renamed it on your machine. [1.2] Is there any version of QuickBASIC later than 4.5? With the release of Visual BASIC for DOS, QuickBASIC 4.5 has been discontinued. Version 4.5 was the last release. However, Microsoft also sells the Microsoft Basic Professional Development System, or BASIC PDS, which is currently in version 7.1. BASIC PDS is an optimizing compiler that is upward compatible with QuickBASIC in the same way that QuickBASIC is with QBASIC. In addition to optimized compilation, the PDS has several extra features, including a character mode windowing system, built-in database library, and mouse support. VB/DOS is apparently the 'upgrade' for QuickBASIC. It's actually a new product with significant new features. VB/DOS retails at $199, but student discounts are available, as well as upgrade prices for owners of QuickBASIC or the PDS. Microsoft's press release introduction VB/DOS is reproduced here on a temporary basis. From: oconnell@bandelier.cs.unm.edu (Pat O'Connell) > >The offer to upgrade QBasic 4.5 to 7.1 is certainly worthwhile, if for >no other reason than the manuals that come with the compiler, which >are much better than QB 4.5's. (Is this offer still around now that VB/DOS is out?) [1.3] Visual BASIC for DOS press release. Microsoft Introduces Microsoft Visual Basic for MS-DOS REDMOND, Wash. -- Sept. 1, 1992 -- Microsoft Corporation today announced the Microsoft* Visual Basic* programming system for MS-DOS*, Standard and Professional Editions. Visual Basic for MS-DOS is based on the same easy-to- use, visual programming model pioneered in Visual Basic for the Windows* operating system. Combining the ease of graphical design with the power and versatility of traditional programming, developers simply draw the user interface and attach code that responds to events. Designed to offer developers the fastest and easiest way to create portable applications, Visual Basic for MS-DOS provides the same collection of objects available in its counterpart for Windows. Forms, menus, 15 standard controls and a compatible programming language allow developers to simultaneously develop applications for MS-DOS and Windows. Finished applications can be compiled into native 80X86 standalone executable files. No runtime library is required. "This extension of the Visual Basic product line addresses many issues for organizations in transition between MS-DOS and Windows," said Tom Button, group product manager for the applications programmability product unit at Microsoft. "Applications written in Visual Basic for MS-DOS will smooth the path to Windows for developers, PC managers and their users. Developers can leverage their code, PC managers can preserve their investment in older PCs, and users can benefit from similar applications on both platforms. Corporations, VARs and independent software vendors can now focus their resources on developing a consistent set of applications, targeted to the two most popular PC platforms," he continued. In addition to compatibility with Visual Basic for Windows, Visual Basic for MS-DOS runs the existing Microsoft QuickBasic* development system, Basic professional development system, and MS-DOS QBasic* Interpreter code unchanged, preserving the investments of more than a million users worldwide. New features can be incrementally added to Microsoft QuickBasic-based applications without restructuring existing code. Microsoft Visual Basic for MS-DOS, Standard Edition The Standard Edition is designed for hobbyists, engineers, students and other casual programmers who need an easy, productive means for creating compiled MS-DOS-based applications that are portable to and from Windows. Features such as a form designer for drawing user interfaces, a multi-window, syntax checking code editor, rich debugging tools, and a Toolkit of commonly used dialog boxes give developers the ability to become productive quickly. Learning to use Visual Basic for MS-DOS is made easy with sample applications, context-sensitive Help with extensive on- line sample code, and an on-line tutorial. Microsoft Visual Basic for MS-DOS, Professional Edition Microsoft Visual Basic for MS-DOS, Professional Edition, adds the speed, capacity and database access required by professional developers. VARs, ISVs and software consultants working in both Windows and MS-DOS operating systems will find the additional power they need to quickly develop a wide range of full-featured, high-performance applications for MS-DOS. In addition to all of the features in the Standard Edition, the Professional Edition includes the following tools and features: * 386/486 Code Optimization. Compiler option generates code tuned for 386/486 microprocessors to yield significant performance gains. * Integrated High-speed ISAM (Indexed Sequential Access Method) database engine. Provides fast and easy access up to 128MB of data facilitating the development of data-centric applications. * Microsoft Overlay Environment (MOVE) technology. Enables developers to write overlaid MS- DOS-based applications that use up to 16MB of overlaid code. MOVE automatically takes advantage of EMS/XMS memory if available or swaps to a disk if not. * Alternate Math Library. Accelerates floating-point math operations up to 300 percent when running on a computer without a math co-processor. * Charting, On-line Help, Setup and Financial Function Toolkits. Provides tools and source code for creating applications with charts, hypertext help and custom setup programs. * Custom Control Development Kit. Allows the developer using Visual Basic for MS-DOS to build new custom controls. Contains complete documentation and sample code for creating custom controls in C, Assembly or Visual Basic itself. * Source Code Profiler. Assists in performance tuning by displaying program statistics such as length of time to execute procedures and identifying the number of times each procedure was called. Extensibility Offers Programmers Wide Variety of Choices Microsoft Visual Basic for Windows created a large third party market for add-on tools. The unique extensibility mechanism in the Visual Basic programming system enables third-party developers to extend the Toolbox with additional pre-built components called custom controls. Microsoft Visual Basic for MS-DOS offers similar extensibility through custom controls, database add-ons, utilities and libraries. In addition, more than a dozen third party books have been announced supporting Visual Basic for MS-DOS. A complete 48-page catalog of third party add-ons is included. System Requirements, Pricing and Availability The Standard Edition of Microsoft Visual Basic for MS- DOS requires a PC/XT or above with 640K memory and takes advantage of EMS/XMS memory if present. The suggested retail price is $199. Microsoft QuickBasic, Basic PDS, Visual Basic for Windows and Borland* language users may acquire it at a special price of $99. Students and educators can get the single-user packages for $49.95 and 10 packs for $199. The Professional Edition requires a PC/XT or above with 640K memory, with an additional 1MB of EMS/XMS memory recommended. The suggested retail price is $495. Microsoft QuickBasic, Basic PDS, Visual Basic for Windows and Borland language users may purchase at a special price of $199. Microsoft Visual Basic for MS-DOS, Standard and Professional Editions are scheduled to be available in early September. In addition, French and German versions will be available simultaneously, with Italian and Japanese versions available later this year. Microsoft Corporation (NASDAQ MSFT) is the worldwide leader in software for personal computers. The company offers a wide range of product and services for business and personal use, each designed with the mission of making it easier and more enjoyable for people to take advantage of the full power of personal computing every day. ######### Microsoft and MS-DOS are registered trademarks and Microsoft Quick Basic, QBasic, Visual Basic and Windows are trademarks of Microsoft Corporation. Borland is a registered trademark of Borland International, Inc. All prices are U.S. suggested retail prices. Reseller prices may vary. [1.4] How do I program the mouse in QuickBASIC? Mouse support comes standard with the Microsoft BASIC PDS (see [4]). For $25, Microsoft sells a Microsoft Mouse developer's kit than includes documentation and a library for QuickBASIC to write mouse-aware programs. Contact Microsoft for details. I don't know about other companies' mouses, but chances are if you contact the vendor's tech support line, they will be able to tell you. From: boutell@isis.cshl.org (Tom Boutell) > >- Those wishing to program the mouse without giving Microsoft $$$ will >probably want to check out the exhaustive list of DOS interrupt >routines available on the net (from simtel among other places), which >includes information on accessing the mouse interrupts, which really >aren't that complicated. (Since QuickBASIC has interrupt call functions >this interface is adequate.) [1.5] What are the differences between PDS 7.1, VB/DOS, and VB/DOS Pro? (Note: the following is my summary of extracts from several of Steve Podradchik's postings in this group. I would appreciate any corrections if I have made mistakes. Please consider this portion to be in 'first draft' state, and don't trust it blindly...) VB/DOS is mostly a superset of PDS 7.1, with everything PDS has, plus: - VB/DOS is the first Microsoft compiler with 386 code generation. - OPTION EXPLICIT tells VB/DOS not to allow undeclared variables, so every variable must be DIMed before use. You can mix OPTION EXPLICIT and old style modules in the same program. - VB/DOS uses far strings only, which helps alleviate the 64Kb DGROUP limitation on string size. String literals in the code are also stored in far space. According to Microsoft's testing, there is little or no performance penalty. - The forms, events, controls, etc. from VB/Win are available in VB/DOS. You can write programs that mix VB/Win style event code an QB/PDS style procedural code. VB/DOS Pro has the following advantages over VB/DOS standard: - Code optimization for 286 and 386/486 processors, and much faster floating point emulation code for machines without a coprocessor. In general, VB/DOS compiled executables are faster than those produced by the standard version. - VB/DOS Pro uses Microsoft's MOVE dynamic overlay system, the same as that used in MS C/C++ 7.0. MOVE can keep multiple overlay segments in memory simultaneously, for better capacity. - The Integrated ISAM database engine is in PDS and VB/DOS Pro, but not in VB/DOS standard. VB/DOS Pro also comes with a variety of other toolkits, libraries, and utilities: CodeView debugger, and MS Source Code Profiler Charting toolkit based on MS Excel Font toolkit with Bitstream fonts Help toolkit and Setup toolkit Matrix math more? Finally, VB/DOS is lacking one thing PDS had: OS/2 support. ---------- PC General Questions [2.1] Whatever happened to Turbo BASIC? From: corbier@weird.miami.fl.us (Daniel Corbier) > >Borland discontinued their Turbo Basic, and returned the copyright >back to the author, who in turn added all the features BASIC >programmers always wanted, then named it PowerBASIC. The first >thing you'll notice when switching from Turbo Basic is the >dramatic increase in spead (they use a special procedural method >for floating point). > >Among many other things, here are features that I find usefull: > >- COM 1-4 support w/ baud rates up to 115200 >- ASCII function, similar to ASC, but accepts null strings >- Errorlevels can be returned to DOS with: END number >- No annoying "Redo from start error" for the INPUT command >- DIR$(mask$,[attribute]) to retrieve filenames >- CHR$ accepts multiple values. Like CHR$(125,132,15,29) >- PEEK$/POKE$ up to 32K of data. Works instantly, extremely useful >- Built in ARRAY operations: sort, scan, insert, delete w/ > optional tagging & collating >- Additional string commands like: VERIFY, USING$, TALLY, > RPELACE, REPEAT$, REMOVE$, EXTRACT$, MAX$, MIN$, HEX$, OCT$, ... >- Library striping for making .EXE as small as possible >- INSTR is extended to allow search of sets of characters >- Additional math functions like: LOG2, LOG10, MIN/MAX, EXP2, ... >- INCR & DECR for speedy incrementation. INCR x, instead of x=x+1 >- You can specify a complete 20-bit address for BLOAD/BSAVE >- Support for 64-bit integers and binary coded decimals >- A very good debugger is built-in to the IDE (something TB didn't have) >- Unlimited string space >- Link .OBJ files >- You can compile for 286/80x87 and many other compiler options From: leonard@qiclab.scn.rain.com (Leonard Erickson) > >Oh yeah, Spectra *still* offers cheap upgrades for Turbo Basic owners! >I'm about to do it myself, as I already have TB, and PB is supposed >to be QuickBasic compatible. [2.2] How can I write TSRs in BASIC? PowerBASIC allegedly has support for TSRs built-in, so check that out. I've never used PowerBASIC so I don't know how it works. If you want to stick to QuickBASIC, there are third party libraries that will let you write TSRs: PDQ from Crescent Software, and Stay-Res Plus from MicroHelp. From: george@beta.ee.ufl.edu (George L) >Not to undermine PowerBasic, but I noticed that Programmers Paradise sells >a program called Stay-Res Plus from MicroHelp Inc. that claims to work on: > >"Any stanalone BASIC programs that doesn't require the /D, /V, or /W >compiler sitches can be made memory resident in as little as 4K of DOS memory. >The balance is swapped to a disk file or EMS memory." and so on ... > >Don't know anything about it, just passing information along. From: Paul.Leonard@p111.f48.n105.z1.therose.fidonet.org (Paul Leonard) Subject: TSRs in QB45 > >This question comes up pretty regularly on the Fidonet QUIK_BAS echo - the >usual reply is that there is no direct support for such an application, but >there are a few add-on libraries from third-party vendors that add these >functions. The only one i can remember is PDQ from Crescent Software. > >From a message dated Jan. '92: > >====== >[stuff deleted] > >3) Call Crescent software and order PDQ, which is a replacement >library for QuickBASIC's runtime library... it makes smaller EXE's, adds >some new keywords that work better/faster than QB's, and also adds TSR >capability to your programming. It costs $149 from Crescent, or $115 >from Programmer's paradise > >CRESCENT:(203) 438-5300 >PROGRAMMER'S PARADISE: (800) 445-7899 > >When ordering from somebody besides CRESCENT, make sure you verify which >version is being shipped. Current PDQ version is 3.0 > >[stuff deleted] >====== > >I've never seen or used this library, so i can't recommend it, but its name >comes up so often in reply to TSR questions that it must doing what it >advertises. :) ---------- Other Platforms [3.1] What is available for the Macintosh? The most well known is Microsoft QuickBASIC for the Mac, which is very different from the PC product, and makes no claims of compatibility. For example, identical keywords may have completely different meanings. In addition to QB for the Mac, you might also look into ZBASIC / Future BASIC from ZEDCOR. Ariel Publishing puts out a Mac oriented periodical called Inside BASIC. For more information go to the "Addresses & Phone Numbers" section below. [3.2] TrueBASIC True BASIC is platform independent with Mac, PC, Amiga, Atari (and maybe more) versions. They now sell a $15 student version with a limitation on program size (plenty for classroom use). See appendix A for contact information. [3.3] Is there BASIC on Unix platforms? There is a QuickBASIC compiler for Unix by a company called Basmark. They should send you their blurb if you phone or fax them: Tel : (216) 621-7650 Fax : (216) 621-7652 According to Alex Matulich , HP offers a BASIC for for HP-UX, its version of Unix. I work on HP-UX machines and have never heard of this, so apparently we don't have it here. Can anyone confirm the existence of this BASIC and give any details? In addition, Business Basic eXtended (bbx) will run on Unix. See below. [3.4] Business BASIC Business BASIC is a variant of BASIC that actually preceeds the microcomputer BASICs, and hasn't borrowed much from then. This allows software to be written in a manner that is compatible across hardware platforms and operating systems. Versions of Business Basic run on a variety of Unix, DOS, VMS, and perhaps other platforms. (Somebody want to supply me with a complete list?) Business Basic is put out by Basis International, which is on the net. Russ Kepler has identified himself as VP of Engineering, and given us his email address: He also included a phone number, but I'm not sure if it's his home number, so I'm not including it (yet). The entire company, including technical support, can be reached by email. ---------- [A] Addresses and Phone Numbers: From: kmorriso@nike.calpoly.edu (Kent E Morrison) > >True BASIC, Inc. >12 Commerce Avenue >West Lebanon, NH 03784 USA > >1-800-TR-BASIC Sales and orders >1-603-298-7015 Fax >1-603-298-8517 Customer support From: Daryl Clarke > >Crescent Software >11 Bailey Avenue >Ridgefield, CT 06877 > >(800) 35 BASIC orders >(203) 438 5300 tech From: Paul.Leonard@p111.f48.n105.z1.therose.fidonet.org (Paul Leonard) > >CRESCENT:(203) 438-5300 > > CRESCENT SOFTWARE > 32 SEVENTY ACRES > WEST REDDING CT 06896 From: growe@ctp.com (Geoffrey Rowell) > >CRESCENT SOFTWARE, INC. >11 Bailey Avenue >Ridgefield, CT 06877 >Phone: (203)438-5300 >Orders Only: 800-35-BASIC >FAX: (203)431-4626 >Support BBS: (203)426-5958 >Compuserve: 72657,3070 > >MICROHELP, INC. >4636 Huntridge Drive >Roswell, GA 30075 >Phone & Orders: 800-922-3383 >(In Georgia: (404)594-1185) >FAX: (404)594-9629 From: corbier@weird.miami.fl.us (Daniel Corbier) > >PowerBASIC BBS: 813-625-1721 >Tech Support: 813-625-1172 >CIS: 71530,2640 (Internet 71530.2640@compuserve.com talk to Lloyd Smith) > >You can ask them to send you the free demo PBLITE. You can get your >copy from Dustin Discount: 1-800-274-6611 or 1-818-710-9174 > >Be sure to tell them that you heard about it on Internet. From: edwards@andy.bgsu.edu (Bruce Edwards) > >ZEDCOR >ZBasic / FutureBasic >602-795-3996 (tech support) > >Staz Software PG:PRO >443 Yacht Club Drive / Suite 1008 >Bay St. Louis, MS 39520 >601-255-7805 > >McZ Ariel Publishing >P.O. Box 398 >Pateros, WA 98846 >(509) 923-2249 >Tamara Lambert >Subscription Services ---------- [B] Periodicals From: hlr@aber.ac.uk (Hazel Marie Davey) > >In the UK there is a publication called "BASIC MAGAZINE". > >It is available by mail-order subscription only and costs 35 pounds >a year or 50 pounds for two years. > >Basic Magazine, >FREEPOST, >PO Box 388, >Tring, >Herts., >HP23 4EB >ENGLAND > >Tel. 0442 824501 > >Issue 1 came out in April this year and it is published bi-monthly. From: keithp@halcyon.com (Keith Pleas) > > BasicPro > Fawcette Technical Publications > 299 California Avenue, Suite 120 > Palo Alto, CA 94306-1912 > (800)685-2405 > (415)688-1808 > MCI: JFawcette > CompuServe: 73030,3334 >This is *the* magazine for Microsoft Basics. The contributing editors >include Ethan Winer (Crescent) and Mark Novisoff (MicroHelp). > > Windows Tech Journal > Oakley Publishing Co. > 150 N. Fourth St. > Springfield, OR 97477 > (800)234-0386 > (503)747-0800 > CompuServe: 76701,32 >This is a new (this year) magazine that focuses on Windows programming >(obviously), but specializes on the higher level stuff (particularly VB). >I'm a little biased (I've had two articles this year: DDE, which included >a VB string prototyping applet, and Excel), but you should probably >check it out. Also, the big VB contest that MS is sponsoring for >Fall Comdex is being handled (and judged) by WTJ. ---------- [C] Notes from the FAQ author This one took me a lot longer to compile than I had expected, with all the new questions and answers about VB/DOS. I'm still somewhat confused myself. The Microsoft section [1.x] needs a total rewrite and reorganization, but I'm going to wait until things settle down. In the meantime, I'm doubling the Expires: time on my FAQ postings to two months to compensate for the fact that I always seem to be a few days late in posting. I still intend to post at the beginning of each month, and Supersedes: headers will take care of the old FAQ. On another note, I asked Steve Podradchik if he was representing Microsoft officially, and this is the email I got in response. >From: stevepo@microsoft.com >To: cos@chaos.cs.brandeis.edu >Date: Wed, 30 Sep 92 11:15:46 PDT > >I was speaking in an official capacity for VB/DOS. I do not represent >Microsoft as a whole but I speak to the press and other groups frequently >in regard to VB/DOS. > >Thanks, Steve Podradchik, Product Manager, Microsoft VB for MS-DOS -- Cos (Ofer Inbar) -- cos@chaos.cs.brandeis.edu -- WBRS (BRiS) -- WBRS@binah.cc.brandeis.edu WBRS@brandeis.bitnet FidoNet: Ofer Inbar on 1:101/310 -- Ofer.Inbar@f310.n101.z1.fidonet.org The Boston Computer Society IBM PC User Group TBBS, (617) 332-5584