第四部分 高级应用Word下载.docx
- 文档编号:16235359
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:163
- 大小:945.94KB
第四部分 高级应用Word下载.docx
《第四部分 高级应用Word下载.docx》由会员分享,可在线阅读,更多相关《第四部分 高级应用Word下载.docx(163页珍藏版)》请在冰豆网上搜索。
voidmain()
{
objectv;
v=NewTrace(1,"
CvrTrace"
"
POR_AC"
);
v.Left=0;
v.Right=100;
v.LineColor=RGB(0,127,127);
v.LineWidth=5;
v.LineStyle=0;
v.style|=1<
<
19;
v.FillIndex=1;
floatvp("
for(depth=500;
depth<
1500;
depth+=0.125){
vp=0.1743*ac-30.568;
//ac为声波时差曲线道
}
Play();
13.2方法(宏)存入数据库
将名为“孔隙度计算-AC”的方法加入数据库的步骤如下:
1.打开数据库(或新建数据库),在“数据库视图”窗口中选“方法”项,然后出现方法的各项分类。
2.单击鼠标选中“分析解释方法”,击鼠标右键弹出菜单,选“增加新方法”项命令,图13-1。
3.产生对话框,输入方法名称,加入方法的程序文本(按“打开”按钮选择文件或将从其他软件拷贝然后粘贴到编辑区),然后,选“确定”,图13-2。
4.查看数据库,已有新加入的方法,图13-3。
13.3制作自己的方法(宏)工具条
以“孔隙度计算-AC”方法为例,制作自己的方法工具条,步骤如下:
第一步:
选择方法的图标
A.在“数据库视图”“方法”项窗口中,单击鼠标选中“孔隙度计算-AC”方法;
B.击鼠标右键弹出菜单,选“编辑方法”项命令,图13-4。
C.产生名为“编辑方法”的对话框,在对话框中图标按钮上单击鼠标;
出现对话框,选择方法对应的图标,最后按“确定”按钮,图13-5。
第二步:
编辑用户菜单
A.单击“查看“菜单。
B.选择其中的“编辑用户菜单“命令。
C.产生名为“编辑工具条”的对话框,对话框中列出所有方法的图标,在方法图标上双击鼠标,则该方法选中,最后按“确定”按钮。
图13-6是图示的操作过程。
第三步:
打开自己的方法工具条:
B.选择“工具栏”的“测录井计算“项。
C.在工具栏上形成自己的方法工具按钮。
图13-7是图示的操作过程。
13.4执行方法(宏)
执行方法(宏)很简单,在工具栏上单击自己定义的方法工具按钮便执行了自己的方法。
图13-8是“孔隙度计算-AC”方法执行后的结果,该方法新建了名为“POR_AC”的曲线道,并计算出孔隙度曲线。
第14章使用全局变量
14.1基本概念
全局变量是在分析图中执行宏时不需定义就能引用的变量。
通常定义这口井的一些参数,如泥浆密度、泥浆粘度、泥浆电阻率、井深和测录井情况等,编写对这口井进行处理和计算宏时会经常用到全局变量。
14.2添加全局变量
添加全局变量的方法是:
1.在图形外任一处单击鼠标右键,弹出菜单,选择“编辑全局变量”的命令。
2.产生名为“全局变量”的对话框,在对话框中单击鼠标右键,弹出菜单选择“添加变量”,图14-1。
3.然后,又产生名为“设置变量”的对话框,在对话框中设置变量名称、变量类型、变量值和变量读写标志,按“确定”按钮,图14-2。
14.3编辑全局变量
编辑全局变量的方法是:
1.在图形外任一处单击鼠标右键,弹出菜单,选择“编辑全局变量”的命令,产生名为“全局变量”的对话框。
2.在对话框中单击鼠标选中要编辑的全局变量,然后击鼠标右键弹出菜单,选择“编辑变量”命令,图14-3。
3.产生名为“设置变量”的对话框,在对话框中设置有关参数,按“确定”按钮。
14.4删除全局变量
删除全局变量的方法是:
1.在图形外任一处单击鼠标右键,弹出菜单,选择“编辑全局变量”的命令,产生“全局变量”对话框。
2.在对话框中选中要删除的全局变量,然后击鼠标右键弹出菜单,选择“删除变量”命令。
14.5使用全局变量
编写宏或在图头、图尾表格中录入数据时使用全局变量,使用全局变量的格式是:
"
Global."
+全局变量名。
例如:
全局变量名Mud_density的引用方法是:
Global.Mud_density。
下面是是引用全局变量的程序例子:
if(Global.Mud_density>
1.5){
…….
}else{
图14-4是在表格中单元格录入数据时引用全局变量的例子。
第15章使用系统内部对象
15.1基本概念
系统内部对象包括“File”文件对象、“Table”二维表对象、“Equation”方程组和回归运算对象、“Database”数据库对象、“Dialog”对话框对象和“UsrHistogram”直方图对象6个常用对象。
另外,系统内部对象还包括分析图对象、列对象(CLogColumn)和道对象(CLogTrace)。
CarbonScript语言提供“Object”型变量,用于系统内部对象的定义,结合系统内部对象的属性和功能函数可完成对系统内部对象的使用,系统内部对象的属性和功能函数详见《附录》的“对象”节。
15.2使用“File”文件对象
“File”文件对象用于在磁盘上创建文件并对文件操作,下面是在D盘根目录创建名为“testzzz.txt”文本文件,并将数据写入磁盘的一个例子,写入磁盘的文件内容见图15-1。
Objectv=newFile;
if(v.Create("
d:
\\testzzz.txt"
)){
for(inti=0;
i<
20;
i++){
v.textline=i+"
\tV["
+i+"
]"
;
15.3使用“Table”二维表对象
“Table”二维表对象用于对二维表进行操作,下面是将2行3列数据放入二维表,并将二维表写入磁盘的一个例子,写入磁盘的文件内容见图15-2。
Objectv=newTable;
v.Rows=2;
v.Cols=3;
v.Put(0,0,10);
v.Put(0,1,11.0);
v.Put(0,2,"
Tablestring1"
v.Put(1,0,12);
v.Put(1,1,13.0);
v.Put(1,2,"
Tablestring2"
v.SaveText("
\\Data.txt"
15.4使用“Equation”方程组和回归运算对象
“Equation”对象用于进行回归分析和对方程组求解,下面是回归分析和方程组求解的两个例子。
例1:
Objectv=newEquation;
v.Row=2;
v.SetParam(0,0,3);
v.SetParam(0,1,4);
v.SetParam(0,2,-3);
v.SetParam(1,0,3);
v.SetParam(1,1,1);
v.SetParam(1,2,-3);
BOOLb=v.Calc();
doubler1=v.GetResult(0);
doubler2=v.GetResult
(1);
//方程组:
3x+4y-3=0
//3x+1y-3=0
//求解结果:
r1=1,r2=0;
即x=1,y=0。
例2:
Objecte=newEquation;
e.Quintic=1;
e.SetXY(20,40);
e.SetXY(23,60);
e.SetXY(42,93);
if(e.Calc()){
MsgBox("
CalcOK!
MB_OK);
floata,b;
a=e.GetResult(0);
b=e.GetResult
(1);
y="
+a+"
x+"
+b,MB_OK);
MsgBox("
CalcError"
//回归分析关系式:
y=2.1698x+2.856
15.5使用“Database”数据库对象
“Database”数据库对象用于对Access形成的数据库进行操作,下面是一个在C盘跟目录打开名为“dbf1.mdb”的例子。
Objectv=newDatabase;
if(v.Open("
c:
\\db1.mdb"
Objects=v.OpenRecordset("
select*fromTWU5whereDepth>
600"
s.MoveFirst();
10;
doubledp=s.GetFieldValue("
Depth"
doubleva=s.GetFieldValue("
Value"
MsgBox(i+"
:
Dep="
+dp+"
Val="
+va,MB_OK);
s.MoveNext();
15.6使用“Dialog”对话框对象
“Dialog”对话框对象用于产生对话框,并对对话框进行操作,下面是对话框对象的3个例子。
Objectv=newDialog;
v.Title="
TestDialog"
v.Xspace=10;
v.Xunit=15;
v.Label(NULL,3333,0,0,11,2,SS_ETCHEDFRAME);
v.AdjBorder(3333,4,4,4,4);
v.Label("
sadfasdf"
0,0,0,3,1,0);
doublex=100.123;
v.EditBox(12,3,0,8,1,x);
Stringo[]=newString[2];
o[0]="
ssdfsdf"
o[1]="
trtyrty"
v.ComboBox(13,0,1,11,1,o);
v.RadioBox("
Radio1"
33,0,3,3,1,"
Radio2"
34,4,3,3,1,"
Radio3"
39,8,3,3,1,"
v.SetExtStyle(34,WS_EX_DLGMODALFRAME);
v.Group("
111,0,3,7,1);
v.AdjBorder(111,4,6,4,2);
v.DoModal();
例1程序执行结果产生图15-3所示对话框。
Objectv=newDialog;
v.BindResource(182);
v.BindFunc(IDOK,0,"
vvv"
v.BindFunc(1100,0,"
xxx"
v.DoModal();
voidvvv()
Objectv=GetCurWnd();
Objectx=v.GetCtrl(208);
MsgBox(x.CurColor,MB_OK);
voidxxx()
xxx="
+v.GetValue(1100),MB_OK);
}
例2程序执行结果产生图15-4所示对话框。
例3:
v.Title="
v.InitFunc="
v.FinalFunc="
yyy"
v.Label(NULL,3333,0,0,11,2,SS_ETCHEDFRAME);
v.AdjBorder(3333,4,4,4,4);
v.Label("
input:
doublex=100.123;
v.EditBox(12,3,0,8,1,x);
Stringo[]=newString[2];
o[0]="
o[1]="
v.ComboBox(13,0,1,11,1,o);
v.Ocx("
SEALBOX.CustomSealCtrl.1"
33,0,3,4,1);
v.Button("
OK"
IDOK,8,3,3,1,"
Objectv=GetCurWnd();
Objectc=v.GetCtrl(33);
Strings=c.Symbol;
MsgBox(s,MB_OK);
InitDialog"
voidyyy()
FinalDialog"
例3程序执行结果产生图15-5所示对话框。
15.7使用“UsrHistogram”直方图对象
“UsrHistogram”直方图对象用于进行数据统计作出直方图。
下面默任做AC直方图的例子。
Objectmt=newUsrHistogram;
floatdep1,dep2;
dep1=Input("
输入开始深度:
500);
dep2=Input("
输入结束深度:
1400);
Objectdlg=GetSelDlg();
dlg.Premp="
选择做直方图的曲线名称"
dlg.Var1="
AC"
if(dlg.Sel()){
floatV1(dlg.Var1);
for(depth=dep1;
depth<
dep2;
depth+=0.125){
mt.SetData(V1);
}
mt.Name=dlg.Var1+"
直方图"
mt.HistStartValue=210;
mt.HistNum=10;
mt.HistDlt=30;
mt.HistLog=False;
mt.StatisticData(FALSE);
mt.SetHistSpace(100,100);
mt.SetHistSize(600,600);
mt.SetFontTitle(60,RGB(0,127,0));
mt.SetHistNote(TRUE);
mt.Draw();
Objectwnd=newUsrWnd;
wnd.name="
wnd.AddMeta(mt);
wnd.AppendMenu("
保存为图形文件..."
拷贝..."
Copy"
wnd.AppendSeparator();
打印..."
vvx"
设置打印机..."
vvz"
wnd.SetScale(2,1);
wnd.SetBk(RGB(255,255,220));
wnd.Track();
}
Objectwnd=GetCurWnd();
wnd.SaveMeta("
voidvvx()
wnd.Print();
voidvvz()
wnd.SetPrinter();
voidCopy()
wnd.Copy();
程序执行结果产生图15-6所示直方图。
15.8使用图对象
分析图对象包括图形名称、比例尺、顶界和底界深度、上下左右的边界、主要和次要刻度等内容,直接引用其属性,不用Object类型定义。
将图形标题设置为“y4测录井图”,比例尺设置为1:
500,主深度刻度设置为10m,次深度刻度设置为2m,左右空白设置为20mm,上下空白设置为15mm的例子:
Title="
y4测录井图"
Scale=500;
MainGrad=10;
SubGrad=2;
LRMargin=200;
TBMargin=150;
15.9使用列对象(CLogColumn)
列对象(CLogColumn)是图对象的组成单元,图是由多个列组成的,列又由若干个道组成;
列对象内容包括列的宽度、风格和相应的操作函数等。
下面是将测录井图中第1列宽度设置为30m,第2列宽度设置为8m的例子:
GetColumn(0).Width=300;
GetColumn
(1).Width=80;
15.10使用道对象(CLogTrace)
道对象(ClogTrace)是图对象的基本组成单元,若干个道组成列;
道对象内容包括道的名称、风格、刻度和相应的操作函数等等;
它又可分为以下几种类型:
1)CvrTrace("
测井曲线"
):
曲线道,放置各类曲线;
2)DepthTrace("
深度"
深度道,显示井深;
3)CLithoTrace("
岩性柱"
岩型道,显示各类岩性和它的含油性;
4)CDiscreteTrace("
离散数据"
离散数据道,放置录井数据、分析化验数据和其它离散数据等;
5)CTextTrace("
文本"
文本道,放置层段文本内容;
6)CPropLayTrace("
分层"
分层道,放置层的分层解释结果;
7)CPictureTrace("
图片"
图片道,放置位图(*.bmp文件)、Windows图元文件(*.wmf文件)、Windows增强图元文件(*.emf文件)等图形内容。
8)CSymbolTrace("
符号"
符号道,用于放置各种符号。
9)CSampleTrace("
样品"
样品道,用于放置各种样品数据。
10)CCoreTrace("
取心"
取心道,用于放置取心数据。
1.例1——综合录井图格式:
Objectv;
v=NewTrace(0,"
CDiscreteTrace"
ROP"
钻时"
v.Right=150;
v.LineColor=RGB(128,0,0);
v.LineWidth=4;
v=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四部分 高级应用 第四 部分 高级 应用