Quick BASIC入门

Author: 李刚荣 高级工程师 Date: 1995-08-18

        BASIC语言有多种,在我们的函授教材中,重点讲述高级BASIC。在本报7月24日第27期“潘正伯教授有关BASIC的问与答”中,力推Quick BASIC。因此不少学员来信希望了解Qucik BASIC。为此特请长期从事Qucik BASIC教学和研究的李刚荣高级工程师为我们作五小节的Qucik BASIC入门讲座,与学员已学知识融汇贯通。
        BASIC语言以它的易学易用、适用范围广等特点深受用户的欢迎。为了满足程序开发和高级语言模块化发展的需要,BASIC在向前发展的过程中孕育出Quick BASIC(以下简称QB)这样一种全新语言产品,它支持鼠标器操作,既可以在集成环境下完成BASIC语言程序的开发,也可以采用命令行方式;它使用下拉式菜单,对话方式操作,解释与编译并行,提高了速度;它将一整套编程环境和最有效的BASIC语言结合起来,为用户提供了编制和调试程序所需的一切手段,从而使程序的研制开发变得更快、更容易;它能够十分有效地组织程序,具有很强的库管理功能,利用QB库不仅可以实现模块化程序设计,而且能把其它语言的例行程序放到库中,从而可以在QB中方便地调用这些程序;它吸取了C、PASCAL等语言的优点,克服了原来BASIC结构化程度差和运算速度慢的缺点,在数据类型、流程控制、绘图、模块化结构及文件输入/输出等方面都提供了令人满意的功能,使用起来十分方便,非常适合用来开发各种应用软件。其特点主要体现在编程环境和语言功能两个方面。
        1.在编程环境方面,QB主要有以下特点:
        (1)程序在写出的同时可立即得到执行
        输入一个程序行后,巴上就对其进行语法检查,若没有错误,就立即将该程序行翻译成可执行代码,没有单独的编译步骤,不管程序写到了哪一步,随时都可以运行程序。
        (2)立即求助和语法检查
        联机帮助Help为每个语句提供语法检查,同时也为菜单命令、快速键和ASCII码提供语法检查。QB的Smart编辑器自动检查每行语句的语法,还能自动将关键字转换为大写,校正遗漏和错误。
        (3)立即调试
        QB把编辑、运行和调试有机地结合起来,没有单独的调试步骤。只要在一个运行着的程序的任何一处暂停,分析运行情况,修改程序,然后从停止处继续运行即可。
        (4)多个模块同驻内存
        将大程序在逻辑上分解成多个部分,可使程序的编写和调试简化。QB易于生成多模块程序。因为它能同时将所有模块保存在内存中,如果将内存中的全部模块编译、连接成一个可执行文件,则只用一步操作即可实现。
        (5)多编辑窗口
        QB的多编辑窗口包括观察窗口、直接窗口和监视窗口,利用这些窗口可以同时观察程序的各个部分。在调试程序时,使用多窗口跟踪各个过程能使执行逻辑变得更加清晰。
        (6)快速生成可执行文件
        当程序调试完毕、运行满意后,如果需要生成可执行文件,则只要进行很简单的操作,就可很快生成在DOS状态下能直接执行的文件(.EXE文件)。
        (7)自动生成Quick库
        QB可将用户编写的过程和例行程序变为QB的虚拟扩充部分。只要在Run菜单中选取“Make Library”命令,即可构造一个Quick库;并且每当建立或修改一个Quick库时,QB将自动地建立或更新与之相应的独立库。
        (8)完全的图形支持
        QB具有较强的图形支持能力,它支持VGA、MCGA、CGA、EGA及PS/2的图形方式和单色方式,同时支持增强图形卡。
        2.在语言功能方面,QB扩充了BASIC语言,包含如下的功能:
        (1)支持二进制文件,因而程序能以任何格式来生成和处理文件。
        (2)用户定义的数据类型简化了随机存取文件的输入/输出,并有助于用数值变量和字符串建立更为复杂的数据结构。
        (3)子程序和函数可以是递归的(可以自我调用),允许写出更紧凑更有效的代码。
        (4)程序由模块组成,每个模块可以独立存储。因此可把一个程序分解成若干个逻辑上不同的部分,从而实现结构化程序设计。
        (5)长(32位)整数和8087/80287协处理(功能)有助于作更快、更准确的数学运算。
        (6)高级的控制流程语句,如SELECT CASE和IF…THE…ELSE及DO…LOOP等,将改进程序的流程。
        (7)数组下标甚至可以为负整数。
        QB是美国Microsoft公司1987年11月推出的最新BASIC版本,由于它具有如此多的优点,因而深受用户青睐,得到了广泛的应用和推广。
        Quick BASIC的安装、启动与退出
        一、Quick BASIC的安装
        不同版本的Quick BASIC所包含的文件不同,安装方法也不一样。现以目前较为流行的Quick BASIC 4.0为例来介绍其安装方法。
        Quick BASIC 4.0在IBM-PC及其兼容机上的运行,要求DOS 2.1以上版本,320KB以上内存,至少一个软盘驱动器,最好有硬盘。
        由于在软盘上安装既麻烦又费时,且现在的微机一般都配有硬盘,所以我们主要介绍安装在硬盘上的两种方法。
        1.安装在硬盘一个目录下
        由于源盘上的文件既没有压缩,也没有加密,所以只要在硬盘上建立一个子目录(例如QB),并把所有文件拷贝到这个目录下即完成安装。这是一种最简单也是最常用的一种安装方法,建议用户采用。
        2.安装在硬盘的不同目录下
        如要把Quick BASIC系统文件安装在硬盘的不同目录下,可使用源盘上配备的安装程序SETUP.BAT,并根据提示来完成安装。
        当把Quick BASIC安装在硬盘的不同目录下时,必须使用DOS中的的PATH或SET命令来设置环境变量。比如:
        PATH=C: \BIN; C; \LIB
        二、Quick BASIC的启动
        当使用上述方法安装了Quick BASIC并设置好路径后,用户就可以在指定的工作目录下来启动Quick BASIC。最简单的命令格式如下:
        QB
        即可出现一个多窗口的显示屏幕和下拉式菜单的工作环境,在这个环境中,可以使用File命令操作文件,用Edit命令进入观察窗口输入源程序,用Run命令来完成运行、调试、建库等工作。程序调试完成后,既可以将源程序(.BAS)存盘,也可以将源程序生成可执行文件后存盘。
        QB命令还可以有若干个选择项,其一般格式为:
        QB[/RUN  源文件][源文件][/B][/G][/H][C:缓冲区大小][/L[库名字]][/MBF][/AH][CMD  字符串]
        上述格式中各选择项的含义请详见有关书籍,此处从略。
        三、Quick BASIC退出
        退出Quick BASIC可分为两种情况:一是暂时返回DOS,在完成所需要的操作(执行其它程序或DOS命令)后再回到Quick BASIC;二是真正从Quick BASIC返回到DOS。前者用File菜单中的DOS Shell命令来实现,后者用Exit命令来实现。具体方法如下:
        1.选择DOS Shell命令后,系统回到DOS命令级,此时Quick BASIC仍保存在内存中。执行完DOS命令后,键入:
        EXIT
        即可返回到Quick BASIC程序的原来位置。
        2.选择Exit命令后,将从内存中清除Quick BASIC并立即返回DOS。当从一个未存盘的新文件退出时,Quick BASIC将询问是否存盘。
        任何时候按下ALT+F+X三键,即可退出Quick BASIC,返回DOS
        Quick BASIC的菜单选择与窗口操作
        一、菜单及命令选择
        当使用QB命令启动Quick BASIC后,屏幕上即出现四个区域;顶部为主菜单区,中部为编辑区,下部为信息提示区,底部为系统提示及热键区。为了能在Quick BASIC环境下顺利地完成程序设计,首先必须掌握菜单及其命令的使用方法。
        Quick BASIC的主菜单包括文件(File)、编辑(Edit)、观察(View)、查找(Search)、运行(Run)、调试(Debug)和调用(Calls)。当用户选择某一菜单后,将在屏幕上显示该菜单所含有的操作,这些操作叫做“菜单命令”,利用这些命令可实现各种不同的功能。
        用户可使用下列任何一种方法来打开菜单:
        (1)用键盘或鼠标器(如果有的话)来打开菜单和选择命令。
        (2)直接使用快速键来执行命令。
        下面分别作一简要介绍
        1.使用键盘选择
        (1)打开菜单
        按下ALT键再松开,然后按下所需要的菜单名的第一个字母,即可打开相应的菜单。例如,按F键打开File菜单,按D键打开Debug菜单等。如果打开的是一个不需要的菜单,则按下ESC键即关闭该菜单,也可用左右方向键移向另一个菜单。
        (2)选择命令
        菜单打开以后,可用下述两种方法中的一种来选择该命令:
        ①按下高亮(或带下划线)字母相对应的键。
        ②用上下方向键将亮标移到所需要的命令上,然后按回车键。
        2.使用鼠标器(Mouse)选择
        若使用Mouse选择命令,可按下列步骤进行:
        (1)指向所需菜单名,然后轻按一下Mouse的左边按钮。
        (2)指到所需命令上,然后轻按一下Mouse的左边按钮。
        若要用Mouse来消除一条命令,则移动Mouse指针,使其离开菜单,然后轻按一下Mouse的左边按钮。
        3.使用快速键选择
        相应命令的快速键总列在菜单命令的右边。用这种方式选择菜单命令,可心不必打开菜单,就能直接执行菜单命令。例如,为了运行一个程序,可以从Run菜单选择Start命令,也可以绕过菜单而直接使用快速键Shift+F5,两者的作用相同。
        二、窗口操作。
        Quick BASIC的大多数操作都是通过“窗口”来完成的,其主要窗口有三个:观察窗口(View
        )、直接窗口(Immediate)和监视窗口(Watch)。在程序的编辑、运行、调试等工作中均要用到这些窗口。
        1.观察窗口
        启动Quick BASIC时,该窗口在屏幕的上部,装入的程序将显示在此窗口中。有时候要同时观察或编辑程序的两个部分,或要完成某种操作(如合并程序等),需要把观察窗口划分为两个。用下面的步骤可以满足此要求:
        (1)按Alt+V键,打开View菜单
        (2)按P键(高亮字母)
        上述操作是单观察窗口和双观察窗口的开关,用同样的操作就可清除下部的观察窗口,恢复屏幕。
        2.直接窗口
        直接窗口是Quick BASIC编辑屏幕上的一个窗口。此窗口与BASIC的直接方式(direct mode)相似,利用这个窗口,可以直接执行BASIC语句,这样不必把语句编入程序就能执行。
        编写程序时,可用F6键进入直接窗口,此时该窗口的标题栏以高亮方式显示。该窗口一旦被激活,就可以象在观察窗口里一样输入和修改语句,然后立即执行。直接窗口为用户在组成程序之前检查编程思路正确与否提供了很好的方法。
        在直接窗口中能进行的主要操作有:计算、测试屏幕输出、调用过程、改变运行程序中的变量值、模拟运行时错误。
        在直接窗口中编写的程序不能存盘,必须送到观察窗口才能作为文件保存。使用Edit菜单中的Cut或Copy命令就可把它们送到观察窗口。
        3.监视窗口
        监视窗口位于屏幕的顶部,让用户在程序执行过程中跟踪监视点的条件和变量的值。任何时候从Debug菜单中选择Add watch命令或Watchpoint命令,都能打开监视窗口。Add watch命令用来设置一个监视点,而Watchpoint命令则用来显示监视窗口中变量或表达式的值。监视窗口中通常有下列信息:
        (1)表达式上下文内容;
        (2)需要跟踪的表达式。
        在程序执行的整个过程中,表达式的值或状态(真或假)也包含在表达式的上下文内容中
        建立和执行Quick BASIC程序
        1.程序的建立
        Quick BASIC在许多方面与其它BASIC语言不同,除了语言本身的扩展外,最根本的不同就是Quick BASIC极大地改进了编程环境。这种环境是高度集成的,用程序执行的各种操作构成了一个完备的整体,即不必退出一种操作去执行另外的操作,比如可以在同一环境下编写程序,调试程序,以及编辑、连接生成可执行文件。
        (1)建立一个主模块
        在单一模块的程序中,程序本身就是主模块。因此,一旦键入第一个语句并加以存贮后就产生一个主模块。在一个多模块程序中,主模块包括程序运行时的第一个可执行语句。
        若未指定文件名就开始编辑,则观察窗口的标题栏就显示“Unitled”。当要存储观察窗口中的内容时(尽管它可能是空的),则保存它所用的名字就作为程序的主模块名。一旦命名了主模块后,该名字就显示在观察窗的标题栏上,同时也显示在状态带左部Main的右边。
        (2)输入程序语句
        启动Quick BASIC或选择了File菜单中的New Program命令后,就可以输入程序语句了。每输入一行,Quick BASIC就对该行进行语法检查。若没有语法错,Quick BASIC就将它转换为可执行代码;若有错,就会在对话框中显示出错信息。
        (3)在内存中翻译并运行
        如果想运行输入的程序,可从Run菜单中选择Start命令(或按Shift+F5键)。由于Quick BASIC在输入程序的每一行时,即将它翻译为可执行代码,所以它能很快地翻译各行的剩余部分。同时因为程序是在内存中执行的,所以不需要访问磁盘文件。
        2.建立过程
        Quick BASIC支持两种类型的过程,即SUB过程和FUNCTION过程。前者在SUB...END SUB语句中定义,后者在FUNCTION...END FUNCTION语句中定义。建立SUB或FUNCTION过程的步骤如下:
        (1)从Edit菜单中选择New SUB或New FUNCTION命令。
        (2)在文本框中键入过程名
        (3)按下回车键
        这时,Quick BASIC打开一个窗口,并用SUB...END SUB或FUNCTION...END FUNCTION再加上文本框中键入的过程名来开始该过程。
        建立过程也可以使用键盘缩写键,简单地键入SUB或FUNCTION关键字,后面跟上过程名,然后按回车键,Quick BASIC将自动地完成上述的所有步骤。
        3.建立多模块程序
        一个模块是一个包括BASIC语句的磁盘文件。模块可以是一个完整的程序,也可以是包含一个或多个由其它模块调用的SUB或FUNCTION过程。
        在传统的编译/连接程序开发系统中,产生多模块程序的唯一办法是把每一个文件编译成单独的目标文件(.OBJ),然后连接这些目标文件以生成一个可执行文件。但在Quick BASIC中,可以在内存中建立多模块程序,并象运行单模块程序那样运行它们。
        4.建立可执行文件
        用户程序一旦在Quick BASIC下运行,就可以建立一个不需要Quick BASIC支持而可在DOS下直接运行的程序副本。这种程序称为可执行文件,真扩展名为.EXE。在DOS提示符下,键入可执行文件的文件名即可运行它。
        在建立可执行文件时,必须为Quick BASIC准备好下列文件:BC.EXE,LINK.EXE,BCOM40.EXE。
        为装入的Quick BASIC程序建立可执行文件的具体步骤为:
        (1)从Run菜单中选择Make EXE File命令,将出现Make EXE File对话框。
        (2)在EXE File Name的文本框中显示出可执行文件的名字,若不想使用这个名字,可以键入另外的文件名(不带扩展名)。否则进行下一步。
        (3)选择EXE Requiring BRUN40.EXE选择项或Stand-Alone EXE File选择项:
        ①EXE Requiring BRUN40.EXE选择项产生一个小的可执行文件,但它必须和BRUN40.EXE联合起来才能运行。
        ②Stand-Alone EXE File选择项产生一个可以在没有BRUN40.EXE条件下运行的文件。
        (4)如果希望可执行文件在运行时能产生出错处理信息并报告错误位置的代码,或希望可执行文件能响应Ctrl+Break,则需选择Produce Debug Code检查框。尽管选择Produce Debug Code会使可执行文件增大,降低运行速度,但为了减少错误,提高程序的可靠性,在必要时还是要使用该选择项。
        (5)选择Make EXE或Make EXE and Exit命令开关:
        ①Make EXE命令产生可执行文件后返回到Quick BASIC。
        ②Make EXE and Exit命令建立可执行文件后返回到DOS提示符