找回密码
 加入
搜索
查看: 4258|回复: 9

[AU3基础] 如何让程序在使用fileopendialog后记住打开过的目录[已解决]

  [复制链接]
发表于 2012-10-21 03:55:13 | 显示全部楼层 |阅读模式
本帖最后由 whoistop 于 2012-10-21 16:09 编辑

RT
不要使用配置文件的解决方法,这个已经想到了。
发表于 2012-10-21 09:26:45 | 显示全部楼层
回复 1# whoistop

变量赋值不就成了?
$FILE=fileopendialog(...)
发表于 2012-10-21 09:41:06 | 显示全部楼层
或许你想像word那样文件菜单里有 最近打开过的文件历史  

读写注册表吧.........
发表于 2012-10-21 13:24:13 | 显示全部楼层
问题表述存在疑义: 是程序关闭后下次启动时还能记住还是只是当次记住所有打开过的路径?
发表于 2012-10-21 13:24:36 | 显示全部楼层
本帖最后由 user3000 于 2012-10-21 13:33 编辑

(网络卡,发了两次....我也能有今天?)
如果是前者为什么不用配置文件?反正总得把信息写到硬盘上的.
如果是后者,最好是用个数组.
 楼主| 发表于 2012-10-21 13:37:26 | 显示全部楼层
回复 2# 楼上风云


    变量赋值不行,因为再次运行时变量会被置空。
 楼主| 发表于 2012-10-21 13:40:38 | 显示全部楼层
回复 4# user3000


    再解释一下:是这样的,因为需要连续操作多个文件,所以希望打开过上个文件后程序能记住这个目录,这样在浏览文件时程序能自动打开这个文件夹,就不需要从起始目录一步步切换了。不知道这样清不清楚。
 楼主| 发表于 2012-10-21 13:42:55 | 显示全部楼层
回复 5# user3000


    不用做得下次打开程序,在程序未退出的情况下能做到就好了。用ini文件当然能做到,但是还是希望单文件程序,这样比较绿色。
 楼主| 发表于 2012-10-21 16:07:36 | 显示全部楼层
已经解决,感谢二楼
发表于 2012-10-21 16:18:32 | 显示全部楼层
回复 9# whoistop


    确实用二楼所说的方法就可以了. 实现如下:

Local $dir = @DesktopDir & '\', $file_name = '新建文本文件'
Local $count = 0
While $count < 5
$var = FileOpenDialog('Selcet a Folder?', $dir, '文本文件 (*.txt)', 1+2+8, $file_name)
If @error Then Exit
$dir = StringRegExpReplace($var, '[^\\]+$', '')
$file_name = StringRegExpReplace($var, '.+\\|\.\w+$', '')
MsgBox(0, '本次选择', '路径: ' & $dir & @CRLF & '文件名: ' & $file_name)
$count += 1
WEnd


好久没敲代码,练习下.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-18 13:52 , Processed in 0.079616 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表