- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TclTK语言在Advantage综合录井系统上应用
TclTK语言在Advantage综合录井系统上应用
摘 要:本文探讨了如何利用Advantage综合录井系统集成的 Tcl/Tk 脚本语言编写0.2m钻时计算程序。重点介绍了Tcl/TK中窗口的创建、组件的添加与布局、与Advantage软件系统的通讯以及数据的存盘等。
关键词:Tcl/TK 组件 脚本程序 综合录井 Advantage系统 钻时
Tcl是Tool Command Language的缩写,是一种用于控制和扩展应用程序的脚本语言。TK是Tcl的最有用的扩展之一,是一个用于开发图形用户界面的应用程序工具集,可为Tcl构建图形用户界面。Advantage综合录井软件系统中集成有Tcl/TK语言,本文就探讨如何利用Tcl/TK语言编写Advantage系统中缺少的、但是对于现场录井又非常实用的微钻时计算程序。
一、建立用户界面
Tcl脚本程序在运行时,显示为一个简单、类似DOS应用程序的黑色窗口。而TK提供了众多的组件,简单的例如,listbox创建列表框、checkbutton创建复选框、button创建命令按钮等,可为Tcl脚本程序建立如普通Windows程序一样的应用程序界面。
1.建立程序运行窗口
在TK中,每一个应用程序都有自己的组件层级,名称“.”指的是应用程序的主窗口,或称为根窗口,对于窗口中任何组件的引用,必须“.”打头。
wm title . ROP__List_0.2m
#设定主窗口的标题为“ROP__List_0.2m”
listbox .list -setgrid 2 -height 10
#定义一个名为“list”的列表框组件
frame .frame1 -borderwidth .1c -relief flat -bg {dark grey}
#定义一个名为“frame1”的框架组件,用以盛放其他组件
checkbutton $w.frame1.chk -text Save to file -variable save
#框架组件frame1内定义一个复选框chk,并指定一个变量save
注意,“#”是Tcl中的注释标志,必须是一行的第一个字符(空格除外),在它后面的语句都不会被执行。
在TK中,每个组件都有很多的属性,可以定义其外观,如上面创建的frame组件frame1时,指定了它的边框宽度、外观效果及背景颜色。
2.组件的添加及窗口布局
在TK中,对创建的组件使用几何管理器命令,它才会在屏幕上显示出来,比较常用的一个是pack命令。
pack .msg .list -side top -expand yes -fill y
pack .frame1 -side top -expand yes -fill both
#指定列表框组件list、框架frame1在窗口中显示的方式
将脚本中创建的各个组件布局好后,窗口如下图所示。
二、编写脚本程序
1.与Advantage软件系统通讯
在Advantage软件系统,要使Tcl脚本程序能够访问Advantage系统的变量,必须加载由Advantage系统提供的供Tcl脚本使用的中的一个Tcl包——interp,它提供cdaget和cdaput命令,用以读取和设置Advantage系统中的CDA变量。
set bittime1 [cdaget ONBOTTOM_TIME]
#读取参数ONBOTTOM_TIME参数
cdaput CHINAROP $crop
#设置CHINAROP参数
2.数据计算
在Advantage系统中,提供了一个CHINAROP脚本程序,用以计算“整米钻时”。在实际应用中,发现CHINAROP在计算整米钻时的时间点与Advantage系统软件的深度数据库存盘的时间点上不协调,造成了数据库中“整米钻时”的重复和错位。为了避免这种现象,需要提前计算出“整米钻时”。实践证明,只需在钻达整米深度前的3cm这个时点上计算出整米钻时,就能保证存盘准确。本文的0.2m钻时计算,就采取了这种“提前的”计算方式。
set bittime1 [cdaget ONBOTTOM_TIME]
#读取ONBOTTOM_TIME参数
set thisdepth [expr ceil([cdaget DEPTH])]
#设置起始计算井深
while {1==1} {
set currentdepth [expr ([cdaget DEPTH] + 0.03)]
#设置为提前0.03m进行计算
set bittime
您可能关注的文档
最近下载
- 横河涡街流量计第10版DY中文说明书.pdf VIP
- 混凝土挡土墙施工方案..doc VIP
- 六年级梦想之星英语初赛试卷含答案.doc VIP
- 智慧养老机构运营与管理:智慧养老机构健康服务管理PPT教学课件.pptx VIP
- 语文练习部分六年级第一学期(答案).pdf VIP
- 新22G02 钢筋混凝土结构构造 .docx VIP
- 《应急管理》ppt课件.pptx VIP
- 智慧养老机构运营与管理:智慧养老机构生活和快乐服务PPT教学课件.pptx VIP
- 商务部对外贸易司-汽车行业:2022中国二手车出口国别指南.docx VIP
- 智慧养老机构运营与管理:智慧养老机构出入院管理PPT教学课件.pptx VIP
文档评论(0)