0.引言
使用RSD桌面系统进行地学空间数据处理时是交互方式的,用户对打开的数据进行逐个处理。但有时需要对批量的数据进行后台处理,或者需要设计自己定制的地学空间数据处理系统。这就需要设计控制程序来实现这些功能。早期设计了RSD的二次开发包,封装了大量的RSD开发的C/C++类供用户使用,已经基本能够满足定制应用地学空间数据的需求。但是对于非C/C++用户来说,RSD开发包使用起来仍然比较复杂。因此,应用户要求设计了一个暂时命名为GeoGeo的独立脚本。
GeoGeo有自己的解释程序,用户将自己书写的脚本语句交由GeoGeo解释程序解释执行,以实现批量处理地学空间数据以及自行设计数据处理系统等复杂功能。
0.1基本情况
脚本代码的大多数元素参照了C语言的设计思想。基本语句看起来和C语句类似,大部分功能主体由函数完成。
GeoGeo代码也是由一个个的文件组成的。文件的扩展名暂时也用“.c”。使用C/C++的用户请注意,虽然GeoGeo代码文件扩展名为c,但是使用c编译程序可能无法编译GeoGeo代码。
GeoGeo脚本也像C/C++语言一样由一个个的函数组成,开始执行程序的入口函数也定义为main()函数。与C/C++显著不同的是GeoGeo脚本是解释的而不是编译的。GeoGeo脚本代码由GeoGeo脚本解释程序解释执行。
GeoGeo提供了自己的脚本编辑器用于书写和调试脚本程序。也可以使用C/C++IDE编辑器,或者使用任何其他文本编辑软件书写。使用其它文本编辑软件编写的脚本程序需要保存为扩展名为“.c”的文本文件,然后在GeoGeo的脚本编辑器中打开并调试。
0.2注释
GeoGeo脚本的注释也像C/C++语言一样单行的注释由“//”开始,也可以由“/*”和“*/”将之间的代码全部标记为注释内容。
0.3函数和代码块
除一些声明类的代码外,GeoGeo脚本代码的执行部分由一个个的函数组成,每个函数都有一个由大括号括起来的代码块。代码块里面还可以嵌套代码块。
0.4语句
GeoGeo脚本也是由一行一行的语句组成,每行语句的最后也像C/C++一样以“;”号结束。脚本可以定义结构,但是不可以使用指针。
0.5 GeoGeo脚本解释程序
GeoGeo脚本解释程序提供一个命名为.exe的应用程序和应用程序扩展等文档。用户运行这个应用程序可启动脚本解释程序。运行结果见图0.1。
图0.1 GeoGeo脚本解释器界面
GeoGeo解释程序的窗口为工作区,是一个多文档编辑窗口,可以在这个窗口中创建、打开以及编辑GeoGeo脚本。同时打开编辑多个脚本文档时在工作区上方显示多文档标签(图0.2)
图0.2 GeoGeo脚本解释器多文档标签
点击任何一个标签,就切换到对应的脚本代码文本,并在窗口显示。这些显示在窗口的脚本代码既是当前代码,也就是点击“运行”时所执行的代码。
GeoGeo代码窗口左侧的数字是代码行号,点击行号在行号右侧会出现一个小方块,表示为该行设置了断点。再点击一次小方块消失,表示断点被撤销。解释程序运行到断点位置程序挂起,以便用户调试和观察运行的中间结果。
GeoGeo脚本编辑窗口中的代码文字用不同颜色表示。比如程序在断点中断时,发生中断一行的代码可以用图0.3的颜色表示
图0.3 GeoGeo脚本程序中断时的颜色设置
GeoGeo脚本编辑还可以将关键字、内部函数、串等字符设置成特定的颜色。
GeoGeo解释程序还有一些其它窗口,包括输出窗口(图0.4)、监视窗口(图0.5)等。这些窗口都是浮动窗口,可以由用户拖放至自己喜欢的位置。
图0.4 GeoGeo的输出窗口
图0.5 GeoGeo的监视窗口
0.6编辑和运行GeoGeo脚本
在图0.1中的脚本编辑窗口可以直接输入程序语句。也可以将预先编辑好的脚本语句文件通过打开脚本命令,导入到脚本编辑窗口。然后点击运行脚本按钮即可运行脚本解释语句。
0.7第1个程序
启动GeoGeo脚本解释程序,在脚本编辑窗口输入如下代码:
程序清单 0.1
/
// GeoGeo示例代码 —— 0-1-Hello.c 第1个程序
//
// 李国春 2014年 8月 16日
/
main(){
Print("Hello World!");
}
点击运行按钮,此时在输出窗口出现“Hello World!”的输出结果。
0.8本章小结
1. GeoGeo是一个主要面向地学空间数据处理的脚本。
2. GeoGeo脚本解释程序是一个名为GeoGeo.exe的应用程序,运行这个程序就可以编辑和执行脚本代码。
3. GeoGeo脚本代码和C语言类似,但是不可以使用指针。
加企鹅758461012,原来的满了。