首页 百科知识 建立和运行应用程序

建立和运行应用程序

时间:2022-06-19 百科知识 版权反馈
【摘要】:三、建立和运行MapBasic应用程序1.MapBasic的开发过程安装好了MapBasic,就可以着手创建MapBasic的应用程序,具体步骤如下:①运行MapBasic开发环境。程序执行后会在一个对话框中显示一条信息“Welcome to MapBasic”。为快速找到产生错误的程序行,用鼠标左键双击错误信息,MapBasic会立刻定位到程序的错误行。工程文件会告诉MapBasic连接器如何把那些独立的模块组合成一个可执行的应用程序。工程文件是MapBasic程序设计中的可选部分。

三、建立和运行MapBasic应用程序

1.MapBasic的开发过程

安装好了MapBasic,就可以着手创建MapBasic的应用程序,具体步骤如下:

①运行MapBasic开发环境。

②选择[File]>[New]打开一个编辑窗口。

③在编辑窗口中输入一个MapBasic程序。例如,可以输入下面只有一行的一个MapBasic程序:

Note"Welcome to MapBasic"

④选择[File]>[Save],将这个程序存储为一个磁盘文件,并为该文件输入一个文件名,例如Welcome.mb。

⑤选择[Project]>[Compile Current File],MapBasic将编译程序(Welcome.mb),并自动生成一个相应的可执行文件(Welcome.mbx)。

⑥启动MapInfo系统。

⑦选择Maplnfo主菜单中的[文件]>[运行MapBasic程序],MapInfo提示你选择一个你想运行的程序。例如,若选择了Welcome.mbx,MapInfo将运行该程序。程序执行后会在一个对话框中显示一条信息“Welcome to MapBasic”。

或者在MapBasic的开发集成环境中选择Project菜单中的Run命令,系统将自动启动MapInfo系统,并执行刚才生成的可执行文件Welcome.mbx。

2.MapBasic程序编辑

运行MapBasic,然后从[File]菜单中选择[Open]或[New]开始编辑一个MapBasic程序,选[Open]是打开一个已经存在的程序文件,可以对它进行浏览及修改,选[New]是打开一个新的编辑窗口,创建一个新的MapBasic程序。利用MapBasic文本编辑器的功能实现对MapBasic程序的编辑修改,编辑结束后,选择[File]>[Save]进行保存,MapBasic自动为程序文件追加一个文件扩展名(mb)。由于MapBasic是以标准的文本格式来保存程序文件的,用户也可以根据自己的喜好使用其他文本编辑软件来编辑MapBasic程序,注意必须以纯文本格式保存文件。

在MapBasic编辑窗口中可以使用一些快捷键,以提高你编辑程序的效率。表5-1列出了一些主要的快捷键及其对应的功能。

表5-1 MapBasic文本编辑器的常用快捷键及功能描述

MapBasic的文本编辑窗口所能编辑文件的大小是有限制的。对于Windows操作系统,MapBasic的文本编辑器的文件大小限制为64KB。当应用程序比较大时,可能会超过64KB,那么可以用以下三种方法中的一种来解决64KB的限制问题:

①用其他的文本编辑器编辑程序文件,再用MapBasic的[File]>[Compile From File]编译该程序。

②把一个大的程序文件(mb文件)分成多个较小的文件,然后用MapBasic的Include语句把多个文件组合成一个应用程序。

③将一个大的程序文件(mb文件)分成两个或多个较小的文件,然后通过一个项目文件(Project File)把这些小文件连接成一个应用程序。

方法③与方法②有些相似,不同之处在于方法③可以单独编译每个模块,因而它使用起来更有效。

3.MapBasic程序编译

利用文本编辑器打开MapBasic程序文件或新编MapBasic程序,从[Project]菜单中选择[Compile Current File]菜单项,即可对当前活动窗口的程序代码进行编译。如果同时有多个编辑窗口打开,那么MapBasic只编译最前面那个窗口里面的程序。因此,如果有多个编辑窗口打开,在编译之前应先把合适的窗口作为活动窗口。如果MapBasic编辑器中没有打开MapBasic程序文件,运行[Project]菜单中的[Compile Current File]命令,则先弹出一个Compile Program对话框,要求用户选择一个文件,并对该程序文件进行编译。

MapBasic编译器会检查程序的语法。如果程序中包含语法错误,MapBaic会显示一个对话框窗口,告诉用户发现了语法错误。然后在编辑窗口下面的信息窗口显示错误的详细列表,每个错误信息由一个行号开始,它指出了该错误在程序中是第几行,以及该语句的错误说明,错误信息同时会存储到一个扩展名为err的文本文件中。只有更正程序中的全部错误,MapBasic才能正确编译程序。为快速找到产生错误的程序行,用鼠标左键双击错误信息,MapBasic会立刻定位到程序的错误行。更正错误后,重新选择编译命令,如果编译成功,MapBasic显示一成功编译的对话框,同时创建一个mbx文件。

MapBasic编译成功并不代表程序代码没有错误。有些类型的拼写错误,MapBasic编译器是检测不到的。例如,MapBasic会编译通过如下程序,尽管程序的第二行包含一个拼写错误(roads错拼成raods)。

Open Table"roads"

Map From raods

MapBasic编译器不能识别第二行中的拼写错误,这并不是编译器的缺陷,因为一些变量和表只有到运行程序时才被计算。当用户运行前面的程序时,MapInfo试图去执行“Map From raods”语句,此时,MapInfo会显示一个错误信息“Table raods is not open”,它说明表raods没有被打开。

4.创建工程文件

工程文件(Project File)是一个文本文件,为了便于管理、编辑程序以及避免MapBasic文本编辑器的限制,它可以把多个相互独立的程序文件连接成一个单一的应用程序。工程文件会告诉MapBasic连接器如何把那些独立的模块组合成一个可执行的应用程序。

工程文件是MapBasic程序设计中的可选部分。当然完全可以不使用工程文件也能完成应用程序的建立、编译和运行工作,但是,如果计划开发一个大型的应用程序,那么工程文件会体现出它的优越性:①工程文件可以使程序结构模块化,便于程序的维护;②工程文件可以使多个程序员协同工作;③工程文件可以减少重新编译应用程序的时间。

下面是一个获取应用程序信息的工程文件(appinfo.mbp)的例子:

[Link]

Application=appinfo.mbx

Module=appinfo.mbo

Module=..\Lib\auto_lib.mbo

其中,“Application=appinfo.mbx”为建立的应用程序的文件名,后两行为应用程序调用模块的目标文件。

创建工程文件可以按照下面的步骤进行:

①选择[File]>[New]打开一个编辑窗口。

②在编辑窗口中输入[Link]命令,作为独立的一行。

③接着输入一行语句:Application=appfilename(appfilename指建立的可执行文件的文件名)。例如:

Application=c:\mb\sample\appinfo.mbx

④然后输入模块调用语句:Module=modulename(modulename是指MapBasic的目标文件名),例如:

Module=c:\mb\sample\appinfo.mbo

语句中,mbo为MapBasic的目标文件的扩展名。当多模块项目中的一个单独的模块被编译时,MapBasic就会为它建立一个目标文件。

任何时候,当选择[project]>[Compile Current File]时,MapBasic就会试图把当前文件编译成一个可执行文件(扩展名为mbx)。但是如果该程序文件调用了不在此文件中的函数或过程,MapBasic则不能建立一个mbx文件。在这种情况下,MapBasic假设它只是一个大项目的一个部分,而把它编译成一个目标文件(mbo)。另外,当一个程序没有主过程时,MapBasic在编译时也把它编译成一个目标文件。

⑤重复第④步,将该应用程序所要用到的全部文件添加到工程文件中。

⑥选择[File]>[Save As]保存工程文件,在Save As对话框中选择文件类型中的“Project File”,以便使保存的项目文件有扩展名mbp。

⑦关闭编辑窗口。

这样就创建了一个工程文件。如果还想把更多的模块加入到你的工程中,只需在工程文件中加入相应的“Module=”行。

工程建好后,需要对它进行编译和链接,可以按照下面的步骤编译和链接工程文件:

①编译在工程文件中用到的每一个模块。为了编译这些模块,可以先选择[File]>[Open],然后选择[Project]>[Compile Current File]。或者直接用[File]>[Compile From File]对选择的文件进行编译。

②选择[Project]>[Select Project File],在[Select Project File]对话框中,选择待链接的工程文件(mbp)后单击[OK]按钮。被选择的工程文件将出现在编辑窗口,直到退出MapBasic、关闭编辑窗口或打开另外一个工程文件。任何时候只有一个工程文件可以被选择。

③选择[Project]>[Link Current File]链接应用程序。MapBasic依次读入在工程文件中列出的目标文件(mbo)。如果没有链接错误,MapBasic生成一个可执行文件(mbx),否则将显示错误信息,也可以用[File]>[Link From File]对工程进行链接,而不需要先把工程文件显示在编辑窗口,但要链接的各模块必须先编译成目标文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈