网站大量收购闲置独家精品文档,联系QQ:2885784924

IDL高级培训IDL高级培训.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IDL高级培训IDL高级培训

高级培训应用程序构造篇编程篇-建立、管理应用程序IDL有两种应用程序管理方法:主程序和工程主程序:建立与程序名同名的 .pro文件,编译执行。 pro test … end 在这种方式下,根据IDL的自动编译规则,所有被调用的子程序或者与主程序写入同一个文件并放臵在主程序的上部;或者写成与子程序同名的 .pro文件,存储在可搜索的路径下。(子程序指过程或函数)工程:建立若干个 .pro文件,每个文件不必与任何子程序同名。指定其中一个过程为主程序,该过程的名字作为工程执行时首先调用的过程(即run command)。 在这种方式下,由于程序编写未必遵守IDL的自动编译规则,因此在运行前必须编 译工程中所有的文件。分发:将源程序编译为.sav文件。主程序方式,需手工编译、存储为.sav文件 .compile app_pro resolve_all save, /routines, app_pro ,app_sav ? 工程方式,设臵工程属性为形成 .sav文件,使用工程菜单项下的build选项即可 。编程篇 -应用程序结构主程序 Calling Routine Event structureWidget Creation Routine (TLB) call xmanagerEvent HandlerXManger 调用相关子程序 Only if TLB is destoryed编程篇 -主程序结构主程序的一般结构: pro app_pro compile_opt idl2 create top layout base(TLB) create gui base on TLB (initial application) realize TLB collect user information call xmanager [,/NO_BLOCK] end initial application 该过程可以在主程序里进行。但更好的办法是编写单独的过程,用TLB的 notify_realize关键字指定过程名,当realize TLB时执行。 /NO_BLOCK 使用该关键字,主程序运行后,命令行仍然可以使用,主程序自身仍可修改编译, 有利于调试。 compile_opt idl2 改变默认编译选项,idl2表示defint32和strictarr编程篇 -TLBTLB的三种基本形式 standard TLB: tlb_id = widget_base( group_leader = group $ , uname = ’tlb‘ , title= ’idl app‘ ) 适用于一般的应用程序,可以单独运行或被调用。group可以不存在。modal TLB: tlb_id = widget_base( group_leader = group , /modal , uname=’tlb‘ , title=’modal app‘ ) 适用于对话框类的应用程序,通常不可以单独运行,只能被调用。group必须合法 。调用该类程序后,调用者暂时挂起,直至该程序返回。 floating TLB: tlb_id=widget_base( group_leader=group ,/floating ,uname=’tlb‘ ,title=’floating app‘ ) 适用于任务优先类的应用程序,通常不可以单独运行,只能被调用。group必须合法。调用该类程序后,调用者可以继续运行。该程序总在最前面。编程篇 -GUI基本组件容器组件: widget_base:任何GUI组件必须在某BASE组件上实现。一个BASE组件可以包含其 它的BASE。 GUI 组件: widget_draw:图形窗口,所有的图形、图像显示均在此实现 widget_label:标签,不可编辑的文本,可用于提示、说明 widget_button:按钮,分为push button、radio button和checkbox。 可用于命令、单选以及多选 widget_text:文本框,可编辑的文本,可用于用户输入 widget_slider:滑动条,分为水平和垂直,可用于调整预设值 widget_listbox:列表框,用于项目选择 widget_droplist:下拉列表框 widget_table:表格,可编辑的二维数据 组件标识: 每一个组件创建时都会产生一个id,并且可以指定一个uname。这些都是以后检索 、操作这个组件的标识。 TrueType字体设臵: draw:使用device ,set_font=fnt_str ,/tt_font,输出时使用font=1。通常在与用户交 互时使用。 其它:使用font=fnt_str。通常在创建时使用编程篇 -GUI其他组件Comp

文档评论(0)

yxutcangfp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档