DELPHI读取文本文件内容,因为文本文件随时会有别的程序往里写东西,所以DELPHI在读取的时候就会报错。

 我来答
百度网友0951d78
2012-11-30 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1265万
展开全部
要别的程序改打开模式,可以共享访问
更多追问追答
追问
别的程序无法改呢?
追答
循环读,读成功就退出循环
太平洋来的风
2012-11-30 · TA获得超过190个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:252万
展开全部
问题是你在打开文件的时候,为什么是别人向文件写数据的时候.

所以你要修改你的方式.
追问
修改成什么方式?谢谢指教。
追答
修改成共享打开就可以.

换换别的打开文件的方式.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RedBaronVIP
2012-11-30 · TA获得超过1147个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:240万
展开全部
To 楼主:
1、Reset并不是表示只读打开,它只是表示打开已有文件,如果文件不存在会失败;
2、Rewrite表示新建一个文件,如果原来有同名文件它会先删除再创建;
3、读写和共享模式需要用到一个System、SysUtils单元中的全局变量FileMode:
fmCreate、fmOpenRead、fmOpenWrite、fmOpenReadWrite控制你自己程序的权限;
fmShareCompat、fmShareExclusive、fmShareDenyWrite、fmShareDenyRead、fmShareDenyNone控制别的程序的访问权限;
4、你的程序应该这么写:
AssignFile(f, 'aaa.txt');
FileMode := fmOpenRead or fmShareDenyNone;{只读+共享读写}
Reset(f);
Readln(f, str);
追问
FileMode := fmOpenRead or fmShareDenyNone;{只读+共享读写}

这句加上了,还是报I/O error 32.
追答
1、我估计另外一个写数据的程序设成了独占访问模式(FileMode = fmShareExclusive或CreateFile的dwShareMode = 0)。这个比较麻烦,就是另外一个程序运行后,排斥你的读权限、写权限,你什么都做不了。
2、一般的程序至少会允许别的程序进行读取。哪个编的写数据程序,不是故意就是水平烂的可以。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式