以文本方式查看主题 - Fortran中文网 (http://fortran.cn/bbs/index.asp) -- Fortran语言开发经验交流 (http://fortran.cn/bbs/list.asp?boardid=3) ---- [求助]WIN的API在F90中使用...... (http://fortran.cn/bbs/dispbbs.asp?boardid=3&id=1060) |
-- 作者:WHGF -- 发布时间:2007/9/27 9:01:07 -- [求助]WIN的API在F90中使用...... 以下内容需要帖子数达到1才可以浏览 |
-- 作者:lm_lxt -- 发布时间:2007/9/27 9:46:08 -- 下面是一段代码,你再完善一下吧,然后能否共享?呵呵 !程序的目的是查找文件是否存在 program file use dfwin CHARACTER*100 file_name integer hFind type(t_WIN32_FIND_DATA) FindFileData hFind=INVALID_HANDLE_VALUE do while(hFind==INVALID_HANDLE_VALUE) write(*,*) write(*,*) "请输入您要查询的文件名(包括路径),如 d:\\\\matlab7\\\\license.txt :" read(*,*) file_name hFind=FindFirstFile(file_name,FindFileData) if(hFind==INVALID_HANDLE_VALUE)then write(*,*)"没有找到您想要的文件!" else write(*,*)"文件已找到,恭喜您!" endif enddo end program file [此贴子已经被作者于2007-9-27 10:01:25编辑过]
|
-- 作者:WHGF -- 发布时间:2007/9/27 10:14:07 -- To lm_lxt 可以,我先试试,如果没有问题明天有结果,到时我帖出来。 谢谢!!! |
-- 作者:WHGF -- 发布时间:2007/9/27 10:17:12 -- 再问一下,你用的是CVF吗?为什么FindFirstFile没有接口说明? |
-- 作者:lm_lxt -- 发布时间:2007/9/27 10:20:23 -- 是CVF,你查帮助,里面有FindFirstFile的说明 |
-- 作者:lm_lxt -- 发布时间:2007/9/27 10:20:41 -- 发错了 [此贴子已经被作者于2007-9-27 10:23:26编辑过]
|
-- 作者:WHGF -- 发布时间:2007/9/27 10:31:20 -- 我查了帮助, 可能是这行最关键 use dfwin |
-- 作者:lm_lxt -- 发布时间:2007/9/27 10:37:18 -- 是的!那个库是对函数的封装 |
-- 作者:WHGF -- 发布时间:2007/9/27 10:58:53 -- 受教了!谢谢 |
-- 作者:WHGF -- 发布时间:2007/9/28 9:53:48 -- 这是我根据版主的代码修改后的内容。 用于处理找到符合条件的所有文件。 FUNCTION FindName( FileExt ) Result( hFind ) Use DFWIN CHARACTER*(*) FileExt Integer(4) hFind Type(t_WIN32_FIND_DATA) FindFileData Character*(64) Cname !----------------------- ! hFind = INVALID_HANDLE_VALUE ! = -1 hFind = FindFirstFile(FileExt , FindFileData) If(hFind == INVALID_HANDLE_VALUE) Return ! 没有找到匹配文件,返回结果=-1 ! 通过无限循环搜索所有指定类型的文件并进行处理 ! FileExt 是搜索文件的类型(后缀名或通配符) 100 Cname = FindFileData%CFileName : : ! 这里对搜索到的文件进行处理 : : If(FindNextFile(hFind , FindFileData) > 0) Goto 100 hFind = 1 !正常结束 !----------------------- End |