我用Delphi7写了一段新建txt与写入txt的代码,但是出现了I/O 32错误

procedureTForm2.Button1Click(Sender:TObject);vartxt:Textfile;Filename:string;path:str... procedure TForm2.Button1Click(Sender: TObject);
var
txt : Textfile;
Filename: string;
path : string;
begin
Filename := ExtractFilePath(Application.ExeName)+Edit1.Text+'.usnf'; //Set a User Name File(.usnf)
path := ExtractFilePath(Application.ExeName); //Set a User Name File adress to Load
FileCreate(Filename);
if Trim(Edit2.Text) = '' then
showmessage('You inputed the space!!')
Else
AssignFile(txt, path+'\'+Trim(Edit1.Text)+'.usnf');
Rewrite(txt);
Write(txt, Trim(Edit2.Text));
CloseFile(txt);
end;

这样创建一个(Edit1.Text).usnf文件之后,文件始终处于被程序打开的状态,不能被编辑和删除。
如果我想要在创建一个文件之后,马上在里面WriteLn一个Edit2.Text,该怎么实现?
展开
 我来答
球霸踩单车
2013-09-29 · 超过13用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:37.2万
展开全部
那是因为你创建文件后,没有关闭文件,所以造成这个现象。定义一个变量hFile: THANDLE,然后在创建文件的时候这样处理:
.......
hFile := FileCreate(Filename);
CloseHandle(hfile);
.......
mit1208
2013-09-27 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1855万
展开全部
var
F:TextFile;
begin
if Trim(Edit2.Text) = '' then
showmessage('You inputed the space!!')
else
begin
AssignFile(F,'文件.txt');
if not FileExists('文件.txt') then
Rewrite(F)
else
Append(F);
Writeln(F,Edit2.Text);
CloseFile(F);
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式