5、IDL培训应用程序构造篇.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 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选项即可。 编程篇 -应用程序结构 XManger Widget Creation Routine (TLB) call xmanager Event Handler Calling Routine Event structure 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 编程篇 -TLB TLB的三种基本形式 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。 可用于命令

文档评论(0)

血玲珑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档