一个读取文本文件的简单问题!(100分)

  • 主题发起人 主题发起人 天崖无爱
  • 开始时间 开始时间

天崖无爱

Unregistered / Unconfirmed
GUEST, unregistred user!
211451005930 04518698240 013943066908 OUT 193 B 2002-12-5 09:26:42 109 6 1.14
211451013434 04512539692 165 OUT 165 B 2002-12-5 10:14:02 446 12 0.24
211451008722 04516613144 057182778077 OUT 193 B 2002-12-5 10:20:43 86 6 0.9
211451008722 04516613144 057182778077 OUT 193 B 2002-12-5 11:13:12 29 6 0.3
这样的一个文本文件我怎么样才能得到每个字段的值,其中每个字段是以tab为分隔的!
 
取出一行
用pos判断是否是空格拉,如果国不是就度入
 
能不能给个详细的说明,举个例子就可以了,我没做个这个,谢谢
 
var
strl: TStringList;
str: string;
begin
strl := TStringList.Create;
//strl.LoadFromFile('文本文件');//实际中使用的语句,暂用下面语句代替
strl.Text := '211451005930 04518698240 013943066908 OUT 193 B 2002-12-5 09:26:42 109 6 1.14';
str := StringReplace(strl.Text,Char(VK_TAB),#13#10,[rfReplaceAll]);//替换Tab
memo1.Lines.Text := str;//用memo1显示,可以直接使用strl,字段内容是memo1.lines.strings[10*i+j],i,j大于0,j<10
strl.Free;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
s1,s2:TStrings;
i:integer;
begin
s1:=TStringList.Create ;
s2:=TStringList.Create ;
s1.loadfromFile('d:/temp.txt');
for i:=0 to s1.count- 1 do
begin
s2.CommaText:=s1;
showmessage(format('第%d行有%d个数据,如下:'#10'%s',[i+1,s2.count,s2.Text]));
///用 s2[j] 来取各个数据
end;
s1.free;
s2.free;

end;
 
后退
顶部