怎样编写一个功能强大的FTP(100分)

  • 主题发起人 主题发起人 马高峰
  • 开始时间 开始时间

马高峰

Unregistered / Unconfirmed
GUEST, unregistred user!
 我在编写遍历所有文件并上传时遇到了问题
怎样上传所有文件(包括文件夹)啊??
 
怎么没有人回答我啊[:(][:(]
 
我想你的问题在于怎样遍历所有的文件吧,包括子文件夹下的,用递归就是了。
 
那怎样使用FINDNEXT()来实现呢?
(我要源代码)
 
你不会用msdn吗?干吗吃的?
 
这里有段代码,你看看
//获取某个文件夹下的所有文件
procedure GetDirFileList(lvPath:string;var O_FileList:TStringList);
var
iFindResult:integer;
searchRec:TsearchRec;
v_FindPath:String;
begin
if copy(lvPath,length(lvPath),1)='/' then
lvPath:=copy(lvPath,1,length(lvPath)-1);
v_FindPath:=lvPath+'/*.*';
iFindResult:=findfirst(v_FindPath,faAnyFile,searchRec);
while ifindResult=0 do
begin
if SearchRec.Name='.' then ifindresult:=findnext(searchrec);
if SearchRec.Name='..' then ifindresult:=findnext(searchrec);
if not DirectoryExists(lvPath+'/'+SearchRec.Name)
then
O_FileList.Add(searchrec.name);
ifindresult:=findnext(searchrec);
end;
findclose(searchrec);
end;
 
 谢谢 smilelove and godshou
 问二,怎样知道已传输了百分之几
 
用个线程来判断一下就行了.
 
能说得具体一些吗,我是初学者,最好有源代码
 
smilelove好像你的程序不行,它只能找到这一级文件名,下一个子目录下的文件名又是找不
到的
  有谁能帮我啊,谢谢大家了
 
procedure tform1.DoSearch(dir, str: string);
var sr: tsearchrec;
begin
if FindFirst(dir + '*.*', faanyfile, sr) = 0 then
try
repeat
if ((sr.Attr and fadirectory) <> 0) and (sr.Name[1] <> '.') then
begin
FindAllFiles(dir + sr.Name + '/', str);
Dosearch(dir + sr.Name + '/', str);
end
until Findnext(sr) <> 0;
finally
findclose(sr);
end;
end;

procedure tform1.FindAllFiles(dir, str: string);
var sr: TSearchRec;
begin
if findfirst(dir + '*.*', faanyfile, sr) = 0 then
try
repeat
// if ScanInFile(dir + sr.Name, str, checkbox1.Checked) then
begin
inc(findn);
//memo1.Lines.Add(dir + sr.Name);
listbox1.Items.Add(dir + sr.Name);
end;
inc(nn);
statusbar1.SimpleText := format('Total scaned file: %d Found files: %d', [nn, findn]);
until FindNext(sr) <> 0;
finally
FindClose(sr);
end;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
nn := 0;
findn := 0;
listbox1.Clear;
findallfiles('c:/','');
dosearch('c:/', '');
end;
这是我的一个程序中的一部分,列出c:上所有的文件以及文件夹,try,有些东西可以不管他
其实这也是从书上抄下来的:))
 
楼上的朋友,做得不错!
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部