ResForm脚本语言基础及应用初步要点(共128页).doc
《ResForm脚本语言基础及应用初步要点(共128页).doc》由会员分享,可在线阅读,更多相关《ResForm脚本语言基础及应用初步要点(共128页).doc(128页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上ResForm技术资料汇编ResForm脚本语言基础及其应用(一)西安海卓石油信息技术有限公司前 言ResForm脚本语言是由西安海卓石油信息技术有限公司研制开发,专门为该公司所发布的基于ResForm构架的地质工作室软件产品(以下简称GeoOffice)配置的编程语言。利用ResForm脚本语言,可以通过编程方式实现对GeoOffice软件产品常规功能的高度自动化操作,包括各种格式的地质成果图模板的自动生成、各种地质参数的获取和分析、GeoOffice软件产品与其他流行办公软件的交互操作等等。 ResForm脚本语言面向该公司GeoOffice软件产品的中高级用户,
2、为他们提供了一个通过编程方式实现对GeoOffice软件产品功能扩展的有效手段。 GeoOffice软件产品具有灵活实用、功能丰富、易于掌握的特点,更为重要的是该软件产品充分考虑了地质人员的工作习惯。实际上,该软件产品的作者本身就是石油地质方面的专家,所以研制开发出的产品符合地质人员的工作习惯是非常自然的。因为有了上述的特点,GeoOffice软件产品一经推出,就在全国各大油田的相关行业中产生了较大的影响。目前,该软件的用户群正在不断扩大,并由此带来了相关领域油田工作效率的明显提高。与此同时在这个用户群中还涌现出不少这样的用户,他们对计算机的了解比较深入,大都有过用某种计算机语言编程的经验,同
3、时这些用户对于GeoOffice软件产品功能的掌握比一般用户更为全面和深入,因此在他们希望能够更多更好地掌握ResForm脚本语言,以解决地质研究工作中更多更繁杂的问题。鉴于这种情况,公司决定除了在GeoOffice软件产品的说明书中向用户提供有关ResForm脚本语言基础知识外,再面向GeoOffice软件产品的中高级用户提供一套更为详尽的ResForm脚本语言应用方面的教材。ResForm脚本语言可用应用的领域很多,从单井资料的处理分析、油藏剖面相关数据的计算、一直到GeoOffice软件产品针对的整个油田区块相关地质参数的提取,以这些参数的空间分布规律的研究等等,都可以是ResForm脚
4、本语言的用武之地。本书主要是关于ResForm脚本语言基础方面的介绍,以及ResForm脚本语言在单井数据资料的处理和分析方面的部分应用示例。有关更多应用方面的介绍将在后续发布的有关专辑中进行。书中列出的绝大部分实例来源于公司技术支持部门对于全国各油田用户所提问题的实际解决方案,因而这些实例的针对性和实用性是显而易见的。除此之外,其中有几个解决方案具有行业内通用的性质,关于这一点当您在仔细阅读每个示例时,当会有切身的体验。本书的内容分两部分,第一部分是ResForm脚本语言基础知识的介绍;第二部分是ResForm脚本语言在油田中应用的初步介绍。本书假定读者具有至少一种计算机编程语言的应用经验并
5、且已经熟悉西安海卓石油信息技术有限公司发布的GeoOffice软件产品的基本操作方法。在本书的编写过程中,得到了全国各油田新老用户的大力支持。其中特别要提到的是长庆油田的姜英昆、大庆油田的郑建东、大港油田的陈长伟、青海油田的谢丽、中石油总院廊坊分院的张凤敏、南阳油田的田云和华北油田的朱昌灵这几位专家,由于他们的悉心指导,使得参与该书写作的人员得以对油田的地质研究工作有了更加准确地了解,这使得该书在实用性上有了很大的改进。对此,西安海卓石油信息技术有限公司全体员工深表谢意!由于编者技术经历和专业水平所限,加之时间仓促,书中肯定有不少错漏之处,敬请各位专家和读者不吝指教。 西安海卓石油信息技术有限
6、公司 2009年5月4日目 录第一篇 ResForm脚本语言基础知识.4第一章 ResForm脚本语言入门.5第二章 ResForm用户界面编程. 18第二篇 ResForm脚本语言应用范例.86第一章 自动生成综合录井图模板.87第二章 地层泥质含量计算.95第三章 地层孔隙度计算.98第四章 地层渗透率计算.102第五章 地层含水饱和度计算.103第六章 地层岩性分析.108附录. .125第一篇 ResForm脚本语言基础这一部分介绍ResForm脚本语言的基础知识,通过这部分的介绍您将能够从了解ResForm脚本语言是什么开始,直到掌握利用ResForm脚本语言解决一些相对复杂的地质问
7、题。这部分给出的所有样例代码,都是经过认真地斟酌后选定的,具有很强的针对性,对于理解书中介绍的知识是很有帮助的,请仔细阅读。所有书中列出的样例代码都在GeoOffice软件产品中调试通过,您也可以将书中列出的代码录入您的GeoOffice软件产品的ResForm 脚本编辑器进行练习,这也对于加快学习的进度也是很有好处的。第一章 ResForm脚本语言入门我们的讨论从一个最简单的例子开始。就个人的体验来讲,通过几个恰当选择的例子来理解一门编程语言是一种非常有效的途径。当然,为了开始顺利地进入角色,您得做些必要的准备工作,第一要使GeoOffice软件本身运行起来。ResForm脚本置身于GeoO
8、ffice软件中,是个寄生的家伙,没有GeoOffice软件的首先运行它自己什么也做不了。GeoOffice软件开始运行的初始界面(图 01)就象下面这个样子。现在,您该打开某个工作区,有时您可能还得做些配置服务器或数据准备等等诸如此类的工作。有关这一部分操作的详细介绍,请参考随每个GeoOffice产品发布的相关说明书。因为我们现在主要关注的是ResForm脚本语言基础知识。而在后面的示例中主要是针对单井数据处理方面的,所以在上面的准备工作做完之后,您得打开您想要用ResForm脚本语言进行处理的某口井的测井或录井的成果图。至于ResForm脚本语言在GeoOffice软件其它类别的项目,如
9、剖面图对象或某种类型平面图对象上的数据处理,其做法是大致相同的。有关这些方面的详细讨论将在以后其他的相关资料中介绍。(图 01)准备工作进行到现阶段应该在屏幕上可以见到类似下面这样的画面了(图 02)。请注意,在打开一个单井成果图文件后,工具栏会出现“编辑/执行宏”这样一个命令按钮。现在好了吗?如果没有问题了,我们就继续往下进行。编辑/执行宏(图 02)现在单击“编辑/执行宏”按钮,类似(图03)这个样子的界面显示出来,我们所有的 ResForm脚本的编码、调试和运行都将在这里完成。中间那块黑色的区域就是我们可以编辑代码的地方。后面我们就叫它ResForm脚本语言编辑区吧,名不正则言不顺,为了
10、叙述起来方便,总得有个头衔才好。执行(图03)现在开始我们的第一个ResForm 脚本程序,请将下面用两条虚线围起来的所有内容,敲入代码编辑区,点击上面的(图03)中标出的“执行”命令按钮,感觉怎样? /-/我们的第一个ResForm脚本程序void main()/-当然感觉不是很好是吗?这个程序啥也没做,您应该是没有什么感觉的。但这确实是一个完整的ResForm脚本程序,可以正确地通过编译和并可以正确地运行。而且,这个程序包含了几个重要的概念,这些概念对于我们从总体上掌握ResForm脚本语言是很有帮助的。现在我们就来逐行地看一下上面的程序。第一行,是两个注释行,ResForm脚本语言规定用
11、“/”标记一个注释行的开始,程序在执行时,注释行被忽略,我们经常用注释行来对程序做一些注解,如说明程序的主要功能是什么,采用了哪些什么关键的算法,有些什么需要特别注意的问题等等,总之,注释行里你可以写上任何你想写的东西,而且,一个注释行可放在程序的任何地方,只要觉得有道理。第二行是ResForm 脚本程序的入口点,是脚本真正开始做事的地方,也称主函数头。第三和第四行这个“”和“”符号对标记的是一个称作函数体的东西,通常我们所写的我们用ResForm脚本语言写的所有语句就放在这个函数体里。实际上,刚才所叙述的差不多就是整个ResForm脚本程序的样子了,任何一个ResForm语言的脚本程序由ma
12、in()主函数开始,后面紧跟一对花括号,所有可执行的语句都放在这对花括号界定的函数体里面。利用这个结构差不多可以解决我们遇到的绝大多数的问题了。任何别的更加复杂的问题无非也就是对这样一个结构的不断扩充而已。/-void main()/干点什么事/-ResForm脚本语言编程差不多就是这样了,如果记住了,就可以大胆地往前走了。 当然,这摆活了半天啥也没见着,确实有点说不过去。下面就举个例子,干点什么事,至于怎么把这段代码写到ResForm代码编辑区,怎样运行这段代码就不用再说了吧。/第二个例子,介绍一个常用行数MessageBox(.)/-void main()MessageBox.Show(H
13、ello, World !);/-运行程序,现在,可以看见点东西了,是否多少有点成就感了呢?当然,如果您想说的其实是这个老掉牙的例子,使您一下子想起了万恶的旧社会的话,就保持沉默好了,“做人要厚道”。(图04)这段小程序的真正的目的是想向您介绍一个在ResForm脚本程序中使用频率极高的MessageBox函数的,这在以后您也会会经常要用到。比如说,我们在调试一个程序时,会经常想知道,这个程序现在运行到什么地方了?这对于我们在调试一个代码较长又相对费时的程序来说,尤其是这样。做到这一点很容易,在您想停下来观察的位置插入一个MessageBox.Show() 函数就好。在上面给出的是Messag
14、eBox.Show() 函数最简单的用法。MessageBox.Show()函数有好几个不同的变体,以用于不同的场合,我不知道您将怎样使用它,所以下面我根据自己的经验选择几个可能对会更加常用的做个介绍,也好容您有个选择余地。常用MessageBox.Show()函数的几中不同形式:1. MessageBox.Show( string text );功能 显示具有指定文本的消息框。这种形式最简单,也是前面我们用过的。参数说明text: 要在消息框中显示的文本, 类型 string。 返回值:: 值之一,类型:。默认情况下,消息框显示一个“确定”按钮。2. MessageBox.Show(stri
15、ng text, string caption);功能 显示具有指定文本和标题的消息框。参数说明text: 要在消息框中显示的文本, 类型 string。 caption 要在消息框的标题栏中显示的文本,类型:string返回值:: 值之一,类型:。默认情况下,消息框显示一个“确定”按钮。3. MessageBox.Show( string text, string caption, buttons);功能显示具有指定文本、标题和按钮的消息框。参数说明text: 要在消息框中显示的文本, 类型 string。 caption 要在消息框的标题栏中显示的文本,类型:stringbuttons 值
16、之一,可指定在消息框中显示哪些按钮, 类型:返回值:: 值之一,类型:。、和 string 数据类型:DialogResult 是一个枚举,其实就是ResForm内部定义好的一些整数,对外是用字符表示的,这便于阅读和记忆,ResForm用这些整数标识在对话框的操作中,用户动了对话框的哪个按钮或别的什么东西,然后根据用户的操作返回一个相应的值。至于这些整数等于3或是7就不管了吧,有道是多一事不如少一事,知道怎么用就好。下面就具体给出DialogResult可能的取值:None 从对话框返回了 DialogResult.Nothing。这表明有模式对话框继续运行。OK 对话框的返回值是 Dialo
17、gResult.OK(通常从标签为“确定”的按钮发送, 即指示用户按下了“确定”按钮。Cancel 对话框的返回值是 DialogResult.Cancel(通常从标签为“取消”的按钮发送, 即指示用户按下了“取消”按钮)。Abort 对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。Retry 对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。Ignore 对话框的返回值是 Ignore(通常从标签为“忽略”的按钮发送)。Yes 对话框的返回值是 Yes(通常从标签为“是”的按钮发送)。No 对话框的返回值是 No(通常从标签为“否”的按钮发送)。是一个枚举,其实
18、就是ResForm内部定义好的一些整数,用以定义 上将显示哪些按钮。OK消息框包含“确定”按钮。OKCancel消息框包含“确定”和“取消”按钮。AbortRetryIgnore消息框包含“中止”、“重试”和“忽略”按钮。YesNoCancel消息框包含“是”、“否”和“取消”按钮。YesNo消息框包含“是”和“否”按钮。RetryCancel 消息框包含“重试”和“取消”按钮。string ResForm脚本语言中的关键字之一,表示数据类型。string数据类型表示零个或更多Unicode字符组成的序列。为了后面的讨论更加方便,下面介绍在使用ResForm脚本语言编写程序时,将会频繁使用的几
19、个最基本的数据类型和在我们讨论有关单井数据处理分析时将用的几个关键函数。要说明的是,这里列出的数据类型是不全面的,主要是为了满足我们在本书所讨论问题的需要。有关ResForm脚本语言中数据类型的全面介绍请参考相关的其他资料。其实,如果您掌握了本书介绍的这几个基本数据类型的相关知识,那么对与其它数据类型的用法也就掌握了。整型 int 关键字表示一种有符号 32 位整型数。可表示-2,147,483,648 到 2,147,483,647范围内的任意整数。可以声明并初始化 int 类型的变量,例如:int i = 123;浮点型 float 关键字表示32 位浮点类型数。可表示 1.510-45
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ResForm 脚本语言 基础 应用 初步 要点 128
限制150内