请进-一个如何用delphi读取*.TXT文件的内容的小问题!(50分)

  • 主题发起人 主题发起人 Sdelphi_fu
  • 开始时间 开始时间
S

Sdelphi_fu

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,你们好:
现在,小弟想请教一个如何用delphi读取*.TXT文件的内容,
将结果放到数据的相应字段中,
-----------------
*.TXT 的内容如下:
123456789,10
353535543,20
-----------------
talbe fields: fields1,field2.
-----------------
*.txt => talbe :
fields1 field2.
123456789 10
353535543 20 ...
 
采用文本文件,很简单的
var
F:TextFile;
Str,Str1,Str2:string;
i:integer;
begin
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('insert into tabname(fields1,fields2)');
Query1.Sql.Add('values(:fields1,:fields2)');
AssignFile(F,'filename.txt');
Reset(F);
Readln(F,Str);
while not eof(F) do
begin
if str='' then continue;
i:=Pos(',',Str);
Str1:=Copy(Str,1,i-1);
Str2:=Copy(Str,i+1,Length(Str)-i);
Query1.FieldByName('fields1').AsString:=Str1;
Query1.FieldByName('fields2').AsString:=Str2;
Readln(F,Str);
end;
CloseFile(F);
end;
 
直接用ODBC,什么代码都不用写
 
我刚作过一个类似的程序。觉的用thbin的很好!
 
使用MS JET ENGINE,可以读写TXT或者CSV格式的文本文件的。
ADO连接字符串是
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[文件名];Extended Properties='text'
 
这样做好不好!
Memo1,Memo2分别代表两个字段
代码:
procedure TForm1.Button1Click(Sender: TObject);
var
    StrList:TStringList;
    i:Integer;
begin
    try
        StrList:= TStringList.Create;
        StrList.LoadFromFile('d:/000.txt');
        for i:=0 to StrList.Count-1 do
        begin
            Memo1.Lines.Add(copy(StrList.Strings[i],1,pos(',',StrList.Strings[i])-1));
            Memo2.Lines.Add(copy(StrList.Strings[i],pos(',',StrList.Strings[i])+1,Length(StrList.Strings[i])));
        end;
    except
         StrList.Free
    end;
end;
 
To thbin:
你好,非常感谢你的指点,你的想法我已经采用了,今后还请多多指点。
To HANFI,Adnil:
你们好,你们的想法都不错,今后还请多多指点。
这个问题结束了。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部