如何输入一个目录里面的所有文本文件(50分)

  • 主题发起人 主题发起人 ljzboy
  • 开始时间 开始时间
L

ljzboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在可以输入一个制定的文件,但是现在有大概20-30个格式一样的文本文件在一个目录里面,
怎样可以在delphi用程序选择这个目录,然后输入到sql server里面对应名字的表中。比如说
a.txt-->a表, b.txt-->b表,请各位大虾指教。谢谢。
 
可能要做一些处理吧。先是读取文件(用findfirst和findnext),然后根据文件名处理。
 
能讲得具体些吗?
 
文件的读取请查看delphi的findfirst、findnext和findclose的帮助,其它的处理要根据
自己的要求去做。如果你还是不懂那我也没办法了:)
 
用openDialog控件可以选取多个文件啊。

然后逐个调用文件列表内的文件名,之后就跟你操作单个文件一样啊。
 
procedure TForm1.GetTableName(strPath);
var
srLinkFile:TSearchRec; //搜索的变量
iFound:integer; //查找到文件
strTable:AnsiString; //从文件名中提取表名
begin
iFound:=FindFirst(strPath+'*.*',faDirectory,srLinkFile); //查找目录
while iFound=0 do
begin
if ((srLinkFile.Attr and faDirectory)<>srLinkFile.Attr) then
begin
strTable:=Copy(srLinkFile.Name,1,Length(srLinkFile.Name)-4); //strTable即是要得到的表名
end;
iFound:=FindNext(srLinkFile);
end;
end;
 
这种东西实现起来不麻烦,不过代码可能会较长,只能给你出个思路了。

首先你检测到某个文本文件之后,判断这个文件名所对应的表是否存在,若不存在,以这个
文件名做为表名建立一个新表,新表的数据从这个文本文件中读取。

依此类推,最后在操作之前先写几个函数,如:判断数据库表是否存在的函数
将一个文件文件名转成一个表的函数。
 
WebExplorer,我认为
iFound:=FindFirst(strPath+'*.*',faDirectory,srLinkFile); //查找目录
是查找目录啊,为什么不直接搜索改目录下面的文件呢?
iFound:=FindFirst(strPath+'*.txt',faAnyFile,srLinkFile); //查找TXT文件
个人看法
 
最简单的办法是用filelistbox,将它的路径设置成你指的那个目录,然后
你就可以用他的属性得到这个目录下的所有文件名,后面的处理我想就
不用说了
 
后退
顶部