读文件的问题

sink 2002-12-30 11:10:30
假设一个txt文件内容如下:
xx.xxx.xxxxxxx xxxxxxxxx xxxxxx
aaaaaa a aaaaaaaaaaa
sssss sssssssss ssssss

.....



也就是说每行分成3个子字符串(去除空格),每行的子字符串的长度是不一样的,子字符串之间的空格数也是不一样的,我想从一行中分别将这3个子字符串取出,并分别保存到3个数组里面,该怎么作那?
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sink 2003-01-05
  • 打赏
  • 举报
回复
多谢!
xiufengy 2002-12-31
  • 打赏
  • 举报
回复
先将空格对整齐,然后参考以下
procedure TForm1.Button1Click(Sender: TObject);
Var
Infile:TextFile;
fname,instring:STRING;
begin
fname:='检测的整车指标数据信息Targets2.txt';
ii:=0;
IDNUM:=0;
Assignfile(Infile,fname);
reset(Infile);
ADOTable1.Last;
while not eof(Infile) do
begin
Readln(infile,instring);
instringA:=copy(instring,1,31);
instringA:=trim(instringA);
instringB:=copy(instring,31,16);
instringB:=trim(instringB);
instringC:=copy(instring,47,11);
instringC:=trim(instringC);
instringD:=copy(instring,58,50);
instringD:=trim(instringD);
if Pos('char',instringB)>0 then
begin
if Pos('varchar',instringB)>0 then
Begin
instringE:=copy(instringB,9,2);
if copy(instringE,2,1)=')' then instringE:=copy(instringE,1,1);
inintegere:=strtoint(instringE);
instringB:=copy(instringB,1,7);
End
else
Begin
instringE:=copy(instringB,6,2);
if copy(instringE,2,1)=')' then instringE:=copy(instringE,1,1);
inintegere:=strtoint(instringE);
instringB:=copy(instringB,1,4);
End;
End
else inintegere:=0;
SaveToExcel;
SaveResult;
end;
edit1.text:=instringA;
edit2.text:=instringB;
edit3.text:=instringC;
edit4.text:=instringD;
edit5.text:=inttostr(inintegere);

closefile(infile);
end;
DunDao 2002-12-30
  • 打赏
  • 举报
回复
我想你得自己循环判断,

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧