delphi txt文本读取内容到不同edit

一个txt文件内容是1,ABC,DEF,GHI2,JKL,MNO,PQR3,ST,UV,WX,YZ4,。。。。。希望获得效果:1.combobox中显示3个项目:1,2,... 一个txt文件内容是
1,ABC,DEF,GHI
2,JKL,MNO,PQR
3,ST,UV,WX,YZ
4,。。。。。
希望获得效果:1.combobox中显示3个项目:1,2,3;
2.combobox选中1时,edit1内容为ABC,edit2内容为DEF,edit3内容为GHI

3.combobox选中2时,edit1内容为JKL,edit2内容为MNO,edit3内容为PQR
4.选中3时也依此类推。。。。。

请大神帮助。。
展开
 我来答
sirouszlh
2014-02-18 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:646万
展开全部
这个也不难吧

先给一个分割函数
TUserArray = array of string;
function Split(s: string; dot: char): TUserArray; //按分隔符分割字符串
var
str: Tuserarray;
i, j: integer;
begin
i := 1;
j := 0;
SetLength(str, 255);
while Pos(dot, s) > 0 do //Pos返回子串在父串中第一次出现的位置.
begin
str[j] := copy(s, i, pos(dot, s) - i);
i := pos(dot, s) + 1;
s[i - 1] := chr(ord(dot) + 1);
j := j + 1;
end;
str[j] := copy(s, i, strlen(pchar(s)) - i + 1);
result := str;
setLength(str, 0);
end;

设置一个Tstringlist
var
t1:Tstringlist
t1:=Tstringlist.Create;
t1.LoadFromFile('C:\aaaa.txt');

这样的话 TXT的每行数据 都在T1里 第一行t1[0] 就是1,ABC,DEF,GHI

假如你选中的数字是X
var
ua:Tuserarray;

for i:=0 to Length(t1)-1 do //遍历每一行数据
begin
us:=Split(t1[i],',');// 根据分隔符分割
if strtoint(us[0])=X then //假如第一位的数字是X 那就是这行数据了
begin
edit1.text:=us[1];
edit2.text:=us[2];
edit3.text:=us[3];
break;
end;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式