参考:ENVI API

参考:ENVI Classic Display

序号 类名称  

功能说明

  语法 & 举例
01 ENVI 函数  

====<<<< Description >>>>====

启动 ENVI 程序并返回此程序的对象引用。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = ENVI([, Keywords=value] [, Properties=value])
----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

ENVI 程序的对象引用。
----------------------------------------------------------------------------------

====<<<<  Methods >>>>====

AddCustomReader
AddExtension
Close
CreateView
GetBroadcastChannel
GetTemporaryFilename
GetView
HideExtensionFiles
LogMessage
OpenPointCloud
OpenRaster
OpenROI
OpenVector
QueryPointCloud
Refresh
ReportError
RestoreSession
SaveSession
Show

   
 02  ENVI 过程  

====<<<< Description >>>>====

使用这个过程来恢复基本的环境保存文件(.sav)。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI, /RESTORE_BASE_SAVE_FILES
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  RESTORE_BASE_SAVE_FILES:使用这个关键字来恢复基本的环境保存文件(.sav)批处理模式。

 

ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
ENVI_REPORT_INIT, ['line1', 'line2', 'line3'], $
title='Title', base = base, /interrupt
ENVI_REPORT_INC, base, 100
ENVI_REPORT_STAT, base, 50, 100, CANCEL=cancel

效果如下所示:

添加 Cancel 按钮判断:

ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
ENVI_REPORT_INIT, ['line1', 'line2', 'line3'], $
title='Title', base = base, /interrupt
ENVI_REPORT_INC, base, 100 FOR i = 0, 100-1 DO BEGIN
ENVI_REPORT_STAT, base, i+1, 100, CANCEL=cancelvar
;用来判断是否点击了 Cancel 按钮
IF cancelvar EQ 1 THEN BEGIN
tmp = DIALOG_MESSAGE('是否停止处理?', /cancel)
;用来判断点击了“确定”还是“取消”
IF tmp eq 'OK' THEN BEGIN
ENVI_REPORT_INIT, base = base, /finish
BREAK
ENDIF
ENDIF
WAIT,0.1
ENDFOR ENVI_REPORT_INIT, base = base, /finish
ENVI_BATCH_EXIT

点击 Cancel 按钮效果如下所示:

参考:【转】进度条终止判断(IDL+ENVI)

03 ENVI_BATCH_INIT  

====<<<< Description >>>>====

这个过程已经被 ENVI 函数替换,代码如下:
e = ENVI(/HEADLESS)
代替如下代码:
ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT, /NO_STATUS_WINDOW。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_BATCH_INIT [, BATCH_LUN=variable] [, LOG_FILE=string] [, /NO_STATUS_WINDOW]
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  NO_STATUS_WINDOW:使用这个关键字不显示经典状态窗体。

 
 04 ENVI_REPORT_INIT  

====<<<< Description >>>>====

这个过程显示一个典型的进度条。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_INIT, Rstr, BASE=variable, /FINISH, /INTERRUPT, TITLE=string

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Rstr:显示在状态窗体上的一组字符串,每一个元素显示一行。
◈  BASE:设置此关键字用于显示状态窗体。
◈  FINISH:设置此关键字,当处理结束后移除状态窗体。必须是相同的 Base 值。
◈  INTERRUPT:设置此关键字允许使用 Cancel 中断处理。
◈  TITLE:显示在状态窗体的标题栏上。

 
 05 ENVI_REPORT_INC  

====<<<< Description >>>>====

用于增量处理。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_INC, Base, Num_tiles

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Base:状态窗体的 ID 值。
◈  Num_tiles:处理循环的总数。

 
 06 ENVI_REPORT_STAT  

====<<<< Description >>>>====

更新百分比。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_REPORT_STAT, Base, Num, Den, CANCEL=variable
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Base:状态窗体的 ID 值。
◈  Num:处理的数值,百分比取决于此值与总数的比值。
◈  Den:总数。
◈  CANCEL:用此关键字获取 cancel 按钮的返回值。 此关键字仅当设置了 ENVI_REPORT_INIT 的 INTERRUPT 关键字才管用。如果返回值为 1 表示按钮被按了,否则返回值为 0.

 
 07 ENVI_BATCH_EXIT  

====<<<< Description >>>>====

此过程已经被 ENVI 函数的 Close 方法所代替。

使用此过程用来终止 ENVI。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

ENVI_BATCH_EXIT [, /EXIT_IDL] [, /NO_CONFIRM

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  EXIT_IDL:设置此关键字将会强制退出 IDL。
◈  NO_CONFIRM:不显示窗体退出的确认按钮。

 
           

【300】◀▶ IDL - ENVI API的更多相关文章

  1. 【译】Android NDK API 规范

    [译]Android NDK API 规范 译者按: 修改R代码遇到Lint tool的报错,搜到了这篇文档,aosp仓库地址:Android NDK API Guidelines. 975a589 ...

  2. 【167】IDL 中相关技巧

    IDL 中相关技巧 1. 注释:分号“;”表示注释内容的开始. 2. 续行:最后一个字符是“$”,那么本行将紧接着下一行,续行标志.(换行符,$+回车) 3. 中文编码:窗口>首选项>常规 ...

  3. 【算法】实现字典API:有序数组和无序链表

    参考资料 <算法(java)>                           — — Robert Sedgewick, Kevin Wayne <数据结构>       ...

  4. 【221】◀▶ IDL GUI 函数说明

    参考:GUI - Dialogs Routines参考:GUI - Widgets Routines参考:GUI - Compound Widgets Routines 01   DIALOG_MES ...

  5. 【180】IDL 读写 HDF 文件

    HDF(Hierarchical Data Formats)数据格式由 NCSA 开发.HDF 提供了大量的数据模式,包括多维数组.表格.图像.注解和调色板.在下面的章节中,将描述 HDF 科学数据系 ...

  6. 【179】IDL 读写 NetCDF 文件

    NetCDF(network Common Data Form)由位于科罗拉多州波尔市的 Unidata 程序中心开发,主要应用于大气科学的研究.NetCDF 的数据模式具有简单性和灵活性的特点.Ne ...

  7. 【170】◀▶ IDL 学习初体验-全

    IDL Reference 操作符号 数组 字符及字符串 结构体 指针 链表 & 哈希表 程序控制(循环.条件.跳转语句) 过程 & 函数 输入与输出 系统变量 文件系统操作 直接图形 ...

  8. 【NFC】Android NFC API Reference中英文

    0 Near Field Communication Near Field Communication (NFC) is a set of   short-range wireless technol ...

  9. 【转载】常用精品API接口汇总

    原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...

随机推荐

  1. BZOJ1087 SCOI2005 互不侵犯King 【状压DP】

    BZOJ1087 SCOI2005 互不侵犯King Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附 ...

  2. Byte.parseByte(String s,int radix)的解释

    1. 由 基本数据型态转换成 String String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 有下 ...

  3. 实现一个 WPF 版本的 ConnectedAnimation

    Windows 10 的创造者更新为开发者们带来了 Connected Animation 连接动画,这也是 Fluent Design System 的一部分.它的视觉引导性很强,用户能够在它的帮助 ...

  4. win7如何安装maven、安装protoc

    问题导读1.protoc安装需要安装哪些软件?2.如何验证maven是否安装成功?3.如何验证protoc是否安装成功 ? 一.安装mvaven包 1.首先我们下载maven包 apache-mave ...

  5. web 优化原则

    1. 减少http 请求   2. 使用CDN   3. 添加expires 头   4. gzip 压缩   5. 样式表放在头部   6. 脚本放底部   7. 避免css 表达式   8. 使用 ...

  6. vertica从其它表迁移数据到新表(insert into 语句使用方法实例)

    版权声明:本文为博主原创文章.博主同意自由转载. https://blog.csdn.net/tx18/article/details/26585649 #例:迁移微博用户数据. 因为源表weiboF ...

  7. 使用Apache Archiva管理Maven仓库

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  8. 【转】ubuntu 12.04 /sbin/ldconfig.real: /usr/local/lib/*.so.8 不是符号连接 解决办法

    原文网址:http://blog.csdn.net/shulianghe/article/details/21176059 最近在ubuntu12.04下使用sudo apt-get install安 ...

  9. 浅谈ecmall插件机制

    插件是独立于原系统的程序模块,目的是在不修改原程序的情况下对系统进行扩展,便于修改和管理.目前web开发中大多是使用钩子形式来定义插件, 比较典型的有 wordpress, drupal系统 ecma ...

  10. LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突:请使用 /NODEFAULTLIB:library 转自:http://blog.csdn.net/pgms ...