hnfeng 发表于 2014-1-22 13:13:22

[已解决]怎样把数据写入指定或新建的文件中?

本帖最后由 hnfeng 于 2014-1-22 15:06 编辑

知道从文件读数据是
$InFile = FileOpenDialog("选择文件", @ScriptDir, "(*.txt)", 3)
然后   Local $File = FileOpen($InFile)
再   Local $chars = FileRead($File, -1)就可以。

但是怎样把数据 $chars 写入一个新文件(出现对话框,以便指定文件名)或已经存在的文件中(覆盖/附加)?
帮助中找好久没找到.
谢谢

afan 发表于 2014-1-22 13:35:45

Local $sAdd = FileRead(FileOpenDialog('选择读取文件', @ScriptDir, '(*.txt)', 3))
If @error Then Exit
Local $OutFile = FileOpenDialog('选择写入文件', @ScriptDir, '(*.txt)', 3)
If @error Then Exit
Local $sMsg = MsgBox(32 + 3, '写入文件', '是=覆盖' & @LF & '否=附加' & @LF & '还是取消写入?' & @LF)
If $sMsg = 2 Then Exit
Local $iFlag = 1
If $sMsg = 6 Then $iFlag = 2
Local $hFO = FileOpen($OutFile, $iFlag)
If FileWrite($hFO, @CRLF & $sAdd) Then MsgBox(64, '完成', '写入文件新数据完成 ')
FileClose($hFO)

hnfeng 发表于 2014-1-22 13:52:29

本帖最后由 hnfeng 于 2014-1-22 14:06 编辑

回复 2# afan


    多谢版主

但是代码只能写入已经存在的文件中。如果要写入不存在的文件(在对话框中指定新建的文件名)要怎样做?

如果在 FileOpenDialog 中输入文件名,会显示“找不到文件”,而不会自动创建文件。

afan 发表于 2014-1-22 14:49:52

回复 3# hnfeng


    新建是 FileSaveDialog("标题", "起始目录", "文件类型" [, 选项 [, "默认文件名" [, 窗口句柄]]])
和打开不是一种。

hnfeng 发表于 2014-1-22 15:04:42

回复 4# afan


    多谢多谢,我脑子浆糊了
终于找到帮助里面的FileSaveDialog
页: [1]
查看完整版本: [已解决]怎样把数据写入指定或新建的文件中?