IDL支持中文路径吗?

IDL支持中文路径吗?,第1张

有时候我们在进行编程的时候,需要知道程序所在的目录,这对于程序移植(在别人的机器上使用)非常有用。

比如我们要将程序和文件都放到同一个目录下,对所有符逗山合条件的数据进行批处理。

当进行编程的时候,我们不能每改换一个文件夹就对程序中的路径改变一次。因此我们需要通过编程,让程序自动的寻找程序所在的路径,这样,无论程序位置怎么改变,这个路径我们都能找到。将这个路径赋予一个变量,那么这个变量值会随着程序的位置改变而变化。

在idl中寻找程序目录的函数是routine_filepath

1.Result = ROUTINE_FILEPATH( Routine [, /EITHER] [, /IS_FUNCTION] )

如果程序不是过程二是一个函数,需要输入IS_FUNCTION关键字,EITHER关键字设置以后,程序和函数的路径都可以返回

例子:一个程序process.pro

pro process

path=routine_filepath(‘process’)

print ,path

end

那么这个程序返回的path即为process.pro所在的目录

如果process.pro的全路径为d:\test\process.pro,那么path的值就是d:\test\process.pro

尽管routine_filepath可以返回程序的全路径,但是这个并不是必要的,我们更需要的可能是他的上一级目录,这时我们可以用file_dirname函数

2.Result = FILE_DIRNAME(Path [, /MARK_DIRECTORY])

path=routine_filepath(‘process’)

dir=file_dirname(path)

这时dir便为d:\test\

3.ROUTINE_INFO

该函数提供银御当前程序的信息

Result = ROUTINE_INFO( [Routine] [, /PARAMETERS] [, /SOURCE ] [, /UNRESOLVED] [, /VARIABLES] [, /SYSTEM] [, /DISABLED] [, /ENABLED] [, /FUNCTIONS] )

如添加source关键字,返回值为结构体,包含程序名称及完整路径

4.PATH_SEP

该函数是用来获取‘\’符号

Result = PATH_SEP( [, /锋指岩PARENT_DIRECTORY] [, /SEARCH_PATH] )

这是一个具衡拍体的例子

DIR_IN 是文件夹咐祥羡路径,比如 'D:\IDL\Default'

FILES = FILE_SEARCH(DIR_IN + '*'+'.FLT',/FOLD_CASE)

希望能有宴梁帮助

你没有保野兆存这个文件,或者这个文敬脊拿件没有放在相应的目录下吧。如果是这样的话,一般在编译前先编译一下你用到的自己的程序,.r或.run空格程序名(带.pro)就可以了。如果不想每次都.r,你可以把你的程序都拷贝亮搭到idl安装目录下的lib文件夹(可以新建子文件夹)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8218425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存