关于delphi 中读取txt文档的问题

例如,我有一个名为aaa.txt的文档,里面有二行数据,第一行:123456,第二行:789012现在我需要:edit1里读取第一行,也就是123456edit2里读取第... 例如,我有一个名为 aaa.txt 的文档,里面有二行数据,第一行:123456,第二行:789012

现在我需要: edit1里读取第一行,也就是123456
edit2里读取第二行,也就是789012

请问这样要怎么操作,不胜感激。。。
展开
 我来答
遒劲且威武的小白桦s
2012-02-17 · TA获得超过115个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:192万
展开全部
var
strlist: tstringlist; //声明一个tstringlist变量
begin
strlist := tstringlist.Create; //创建
strlist.LoadFromFile('aaa.txt'); //读取文档 路径自定义
edit1.text := strlist.Strings[0]; //读取第一行 赋值给edit1
edit2.text := strlist.Strings[1]; //读取第二行 赋值给edit2
strlist.Free; //释放
end;
追问
你好,还有个问题,就是 我在下面再添加一句, Form1.edit3.text := strlist.Strings[2]; 就报错了。
好像是超出范围了,list index out of bounds(2)

这个只能读取2行,还是?
追答
报错是因为你载入的文本文档里面没有第三行了吧  你可以先看下你文本内容有多少,因为我是根据你问题中的需求表述来写的

我写了一个动态分配的方法,如果你界面上有很多个edit控件,且都是以edit1,edit2,edit3.....这种命名的,那么可以根据我下面提供的方法动态分配,这样就会根据文本文档里面内容的具体行数进行相应的赋值了,需要注意一点,form里面的edit控件必须要保证比文档内容的行数多。

procedure TForm1.LoadTxtToEdits;
var
strlist: tstringlist; //声明一个tstringlist变量
EdtComponent: TComponent;
i: integer;
begin
strlist := tstringlist.Create; //创建
strlist.LoadFromFile('aaa.txt'); //读取文档 路径自定义
i := strlist.Count; //把strlist的行数记录下来
for i := 1 to strlist.Count do
begin
EdtComponent := Form1.FindComponent('Edit' + inttostr(i)); //查询整个form里面 名为Editi的控件 i为数字
(EdtComponent as TEdit).Text := strlist.Strings[i-1]; //把第i行复制给Editi
end;
strlist.Free; //释放
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式