[求助]文件处理,up有分

sanoul 2005-04-13 10:24:52
MyFileName := MyDialog.SelectedPath+'\'+'xxxx.xxx';
If not FileExists(MyFileName) then FileCreate(MyFileName);
AssignFile(MyFile ,MyFileName);
Rewrite(MyFile); //或者 Reset(MyFile);

上诉代码每次执行到Rewrite或者Reset总是报I/O Error 32错误,百思不得其解,忘哪位大虾告知一、二


——————————————————————————
up有分,谢谢!
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinqingbucuo 2005-04-13
  • 打赏
  • 举报
回复
AssignFile(PWFile,SelectedPath);
Rewrite(PWFile);//过程创建并打开文件,对于一个已存在的软件,此操作将使文件备覆盖
shirleyttt 2005-04-13
  • 打赏
  • 举报
回复
还有一个问题,如果刚好此目录下有一个同名的文件夹‘xxxx.xxx'’,也会出错
sanoul 2005-04-13
  • 打赏
  • 举报
回复
哈哈,搞定,谢谢两位
shirleyttt 2005-04-13
  • 打赏
  • 举报
回复
rewrite的用法是:文件不存在时创建文件,文件存在则打开文件,覆盖文件
longchaohui 2005-04-13
  • 打赏
  • 举报
回复
报错的原因是你的文件是正在打开的,
如果没有执行FileCreate的话应该是不会报错的。
你创建后如果要用你的那种方式写文件的话,
要先关闭文件,在你写完文件后也应该关闭。
例如:

procedure TForm1.Button2Click(Sender: TObject);
var MyFileName:string;
MyFile:TextFile;
hfile:integer;
begin
MyFileName := 'd:\xxxx.xxx';
If not FileExists(MyFileName) then
begin
hfile:=FileCreate(MyFileName);
FileClose(hfile);
end;
AssignFile(MyFile ,MyFileName);
Rewrite(MyFile); //或者 Reset(MyFile);
CloseFile(MyFile);
end;
sanoul 2005-04-13
  • 打赏
  • 举报
回复
关键是 xxxx.xxx是需要创建的,不是存在的,所以需要先创建文件再打开
pengxuan 2005-04-13
  • 打赏
  • 举报
回复
MyFileName := MyDialog.SelectedPath+'\'+'xxxx.xxx';
AssignFile(MyFile ,MyFileName);
Rewrite(MyFile); //或者 Reset(MyFile);
这样试试

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧