DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: shz0000
今日帖子: 0
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/7/23 7:52:23
标题:
Myreader.readlistbegin出错(我的说的清楚些) 浏览:2461
加入我的收藏
楼主: Myreader.readlistbegin出错(我的说的清楚些)

用Twrite写文件(第一段)程序通过没问题,然而当程序执行到Myreader.readlistbegin;(第二段)发生运行时错误,不知道是怎么回事
看图片:http://www.bwkj.net/ztreader1.jpg

先用TWriter.writestring写数据到文件
procedure TForm1.Button1Click(Sender: TObject);
Var
FileStream:TFilestream;
Mywriter:TWriter;
i: integer ;
Begin
FileStream:=TFilestream.create('c:\a.txt',fmcreate);//创建文件流对象
Mywriter:=TWriter.create(FileStream,1024);//把Mywriter和FileStream联系起来
Mywriter.writelistbegin; //写入列表开始标志
For i:=0 to Memo1.lines.count-1 do
Mywriter.writestring(memo1.lines[i]);//保存Memo组件中文本信息到文件中
Mywriter.writelistend;//写入列表结束标志
FileStream.seek(0,sofrombeginning);//文件流对象指针移到流起始位置
Mywriter.free;//释放Mywriter对象
FileStream.free;//释放FileStream对象
Memo1.lines.Clear ;
End;

然后用TReader.readstring来读文件 
procedure TForm1.Button2Click(Sender: TObject);
Var
FileStream:TFilestream;
Myreader:TReader;
Begin
FileStream:=TFilestream.create('c:\a.txt',fmopenread);
Myreader:=TReader.create(FileStream,1024); //把Myreader和FileStream联系起来
Myreader.readlistbegin;//把写入的列表开始标志读出来
Memo1.lines.clear; //清除Memo1组件的文本内容
While not myreader.endoflist do//注意TReader的一个方法:endoflist
Begin
Memo1.lines.add(myreader.readstring); //把读出的字符串加到Memo1组件中
End;
Myreader.readlistend;//把写入的列表结束标志读出来
Myreader.free;//释放Myreader对象
FileStream.free;//释放FileStream对象
End;



----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/7/23 11:03:17
1楼: 没人理睬吗?
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行31.98242毫秒 RSS