欢迎来到天天文库
浏览记录
ID:57379243
大小:1.26 MB
页数:18页
时间:2020-08-14
《ResForm高级应用宏编辑.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ResForm-高级应用-宏编辑————————————————————————————————作者:————————————————————————————————日期:ResForm高级应用——宏编辑ResForm脚本语言是专门为基于ResForm构架下的地质研究、油藏工程、油藏描述等系列软件产品配置的编程语言。利用该脚本语言,可以轻松实现现有功能的特定扩展,提高工作的质量和效率。本文以一些常用的例子为主线介绍如何使用ResForm脚本语言。旨在通过短小精炼的内容编排以及浅显的实例,抛砖引玉,将复杂难懂的计算机语言变成用一门可以快速掌握的工具。用一个下午,或者临睡
2、前时间,甚至在飞机上、上下班途中,您就有可能一口气把它读完。是不是有点兴趣了呢?下面就让我们一起来开始吧!1三个术语在这里,我们先简单介绍一下这样3个术语:1.ResForm脚本语言:一种计算机语言;2.宏:用于实现特定功能的代码段;3.宏脚本语言编辑器:编写或编辑宏的工具(或工作界面)。2宏脚本语言编辑针对不同工作需求,软件提供了标准宏、裸体宏两种宏语言编辑、应用模式。标准宏是完整的宏代码,它拥有main主函数,在不同的单井图文档中都可使用已有的标准宏代码处理数据。裸体宏仅对某个单井图中的某个图道进行处理,比较简单、灵活。2.1标准宏编辑器图1打开单井图后,在不选择
3、任何图道的情况下,单击主窗口工具条上的【编辑并执行宏】按钮,即可打开标准宏编辑器,见图1:1.单击按钮新建一个宏;2.单击打开一个已有的宏;3.单击保存当前编辑的宏;4.单击执行宏。2.2裸体宏编辑器选中单井图上一个图道后,点击工具条中的工具按钮,或者单击右键,选择【编辑/执行宏】命令即可将其打开,见图2;:123图2在图2所示的对话框中,上方可以设置循环范围以及是否为“自动循环”,中间代码编辑区域直接输入代码即可,不需要写main主函数。3第一个宏首先,我们需要打开宏脚本语言编辑器:打开任意一张单井图,单击【编辑并执行宏】功能按钮,在代码编辑区域内键入代码(图3):
4、voidmain(){代码编辑区域图3}宏脚本编辑器非常聪明,在输入过程中,它将自动提示您要输入的内容。按上↑下↓键选择,回车Enter键确认,或者直接键入即将输入的下一个符号,如空格、点号“.”等即可。main()表示程序执行的主入口函数,你可以将其简单理解为程序的开始标记。代码段需要用一对大括号括起。图4ShowMsg表示显示一个消息框,内容文本两侧需要用引号括起,语句结束时输入分号。宏脚本语言中的符号一律使用英文符号。单击【执行】按钮,可以看到运行结果(图4)。到这里,我们的第一个宏就完成了,接下来的内容里,我们将通过实际工作中的例子来进行介绍,期间也会穿插一些
5、编程中涉及的知识点。4实例Ⅰ计算孔隙度4.1算法描述如果某口井岩心分析孔隙度与补偿密度相关性较好,存在下述关系式:——计算孔隙度,代码中用POR表示;DEN——补偿密度;——岩石骨架密度,隐含值取2.65,代码中用DG表示;——流体密度,隐含值取1,代码中用DF表示。4.2代码实现在这里,我们需要编写一段代码,它完成的工作是:根据已有公式计算得到计算孔隙度数值,并将其加载至对应的图道里。首先,单击按钮打开宏脚本编辑器,粘贴或键入下述语句(双斜杠//后面的文字为代码注释,可以不加),见图5://----------------------计算孔隙度-----------
6、-----------voidmain(){floatDG=2.65;//定义岩石骨架密度值floatDF=1;//定义流体密度值//新建曲线道,命名为PORSCurveTracepor=this.Channels.AddTrace(WellTraceTypes.Curve,"POR");por.Title="计算孔隙度";//定义道头显示内容this.SetLoopRange(900,960);//设置循环的起止深度范围//循环,根据公式计算并将值赋给图道do{por.Value=(this.DEN.Value-DG)/(DF-DG);}while(this.Nex
7、tRow());}//--------------------------------图5在详细讲解这段代码之前,我们先看看它的执行效果:单击宏脚本语言编辑器对话框下方的【执行】按钮,可以看到单井图上新建了一条“计算孔隙度”图道。我们手动将数值范围设置为0~1之间,见图6:图64.3代码详解第4.2小结所示的代码中:1.float:是一种数据类型,用于浮点型数据。2.SCurveTrace:曲线类图道的公共类。其它同类型的类还有:SDiscreteTrace离散型数据道、SLayerTraceBase层对象型数据道等。por为SCurveTrace实
此文档下载收益归作者所有