找回密码
 加入
搜索
查看: 2058|回复: 1

[系统综合] [已解决]关于FileSaveDialog 覆盖文件提示 返回值获取的问题

[复制链接]
发表于 2010-7-7 07:36:04 | 显示全部楼层 |阅读模式
本帖最后由 南一 于 2010-7-14 14:34 编辑

在 使用  FileSaveDialog 的时候遇到了点问题,求解。

在 FileSaveDialog 函数的选项中有个[可选参数]   16 = 提示覆盖文件

http://www.autoitx.com/forum.php ... ;highlight=filesave
这个帖子中,顽固不化 已经解答了,用在平常的一些文件上,是可以的。
在在创建数据这样的文件时,覆盖就会出错。

当然这边的参数不加,用FileExists来检测同名文件是否存在,然后弹出MsgBox加个选择判断也是行的。

就是想了解下如何去获取这个FileSaveDialog 覆盖文件的返回值,求解。

;文本文档测试
$Filepath=FileSaveDialog("保存",@ScriptDir,"文本文档(*.txt)",16,"Test.txt")
$Textfile=FileOpen($Filepath,8+2)
FileClose($Textfile)
;数据库文件创建测试
$MDBFilePath=FileSaveDialog("保存",@ScriptDir,"Microsoft Access 97-03 数据库(*.mdb)",16,"Test.mdb")
$NewMDB = ObjCreate("ADOX.Catalog")
$NewMDB.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $MDBFilePath)
$NewMDB.ActiveConnection.Close
 楼主| 发表于 2010-7-14 14:29:55 | 显示全部楼层
本帖最后由 南一 于 2010-7-14 14:32 编辑

大家都一直路过,只好自己解决了,方法比较另类。
就是用增加一个临时文件来判断,刚才的文件覆盖的返回值是否是 “是”。
如有更简单的方法,请各位不惜赐教。
$FileName = "Test"
$MDBFilePath = FileSaveDialog("保存", @ScriptDir, "Microsoft Access 97-03 数据库(*.mdb)", 16, $FileName & ".mdb")
If $MDBFilePath <> "" Then
        If FileExists($MDBFilePath) Then
                $MDBFilePath_Len = StringLen($MDBFilePath)
                $MDBFilePath_Seat = StringInStr($MDBFilePath, "", 0, -1)
                $MDBFilePath_Dir = StringTrimRight($MDBFilePath, $MDBFilePath_Len + 1)
                $MDB_Temp = FileOpen($MDBFilePath_Dir & "" & $FileName & ".mdb.Temp", 2 + 8)
                FileClose($MDB_Temp)
                FileDelete($MDBFilePath)
                FileDelete($MDBFilePath_Dir & "" & $FileName & ".mdb.Temp")
        EndIf
        $NewMDB = ObjCreate("ADOX.Catalog")
        $NewMDB.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $MDBFilePath)
        $NewMDB.ActiveConnection.Close

        $MDB_AddTable = ObjCreate("ADODB.Connection")
        $MDB_AddTable.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $MDBFilePath)
        $MDB_AddTable.Execute("CREATE TABLE Autoit(a text,b char)")
        $MDB_AddTable.Close
EndIf

评分

参与人数 1贡献 +3 收起 理由
lynfr8 + 3

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-3 01:21 , Processed in 0.077681 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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