问个关于读取txt文件的问题
现在又一个txt文档,内容都是数字,比如有一行:1,2,3,4,5,想问如何能一次取出1 ,2 ,3 ,4 ,5 这几个数字来
[解决办法]
- Delphi(Pascal) code
var Str:TStrings;begin Str:=TStringList.Create; try Str.LoadFromFile('c:\Test.txt'); Showmessage(Str[0]);//0行 finally Str.Free; end;end;
[解决办法]
- Delphi(Pascal) code
var F:TextFile; s: string;begin AssignFile(F,'c:\Test.txt'); Reset(F); //只读打开 Readln(F, s); //读取 ShowMessage(s); //显示: 第一行 CloseFile(F);end;
[解决办法]
读到s中以后
- Delphi(Pascal) code
a:array of integer;i:=1;j:=i;k:=1;while i<=length(str) do begin while str[j]in['0'..'9','-','.'] do inc(j); if j<>i then begin a[k]:=strtointdef(copy(str,i,j-1),maxint); //a[k]=maxint 为错误 inc(k); end; i:=j+1; j:=i; end;
[解决办法]
- Delphi(Pascal) code
var List: TStrings; i, iPos: Integer; S, OnePart{一个部分}: String;begin List := TStringList.Create; try List.LoadFromFile('文本文件名称'); for i := 0 to List.Count - 1 do begin S := List[i];//1,2,3,4 while S <> '' do begin iPos := Pos(',', S);//查找","的位置 if iPos > 0 then begin OnePart := Trim(Copy(S, 1, iPos - 1)); //","的位置前的部分 Delete(S, 1, iPos); end else begin OnePart := Trim(S); S := '';//已经取完所有的数据 end; ShowMessage(OnePart);//显示出结果,StrToInt(OnePart)就是数字了 end; end; finally List.Free; end;end;