初学线程,求教,该如何解决
初学线程,求教
相写个ftp更新程序,功能如下:
1.检索本地文件目录
2.检索ftp服务器文件目录
3.比较差异文件
4.下载差异文件到临时目录
5.从临时目录更新到本地正式目录,并完成日志
以上功能,非线程已经实现,想提高效率,采用多线程。
如何实现?
比如第1、2步应该可以同时做,
第3、4、5步也应该可以同时做。
如何实现??? 求教
------最佳解决方案--------------------
先百度百度
------其他解决方案--------------------
可否把源码发我一份, 我也想写个做网站备份。
------其他解决方案--------------------
发我一起写,多线程我写,一起完成就好了。
------其他解决方案--------------------
还等着多线程,如何实现呢
------其他解决方案--------------------
1.检索本地文件目录
------其他解决方案--------------------
2.检索ftp服务器文件目录
相写个ftp更新程序,功能如下:
1.检索本地文件目录
2.检索ftp服务器文件目录
3.比较差异文件
4.下载差异文件到临时目录
5.从临时目录更新到本地正式目录,并完成日志
以上功能,非线程已经实现,想提高效率,采用多线程。
如何实现?
比如第1、2步应该可以同时做,
第3、4、5步也应该可以同时做。
如何实现??? 求教
------最佳解决方案--------------------
先百度百度
------其他解决方案--------------------
可否把源码发我一份, 我也想写个做网站备份。
------其他解决方案--------------------
发我一起写,多线程我写,一起完成就好了。
------其他解决方案--------------------
还等着多线程,如何实现呢
------其他解决方案--------------------
1.检索本地文件目录
procedure FindLocalFiles(disk, path: string; var filename, filetime: Tstrings);
const
Model = 'yyyy/mm/dd,hh:mm:ss';
var
fpath, s: string;
fs: TsearchRec;
begin
fpath := disk + path + '\*.*';
if FindFirst(fpath, faAnyFile, fs) = 0 then
begin
if (fs.Name <> '.') and (fs.Name <> '..') then
if (fs.Attr and faDirectory) = faDirectory then
FindLocalFiles(disk, path + '\' + fs.Name, filename, filetime)
else
begin
filename.add(path + '\' + fs.Name);
filetime.Add(FormatDateTime(Model,
CovFileDate(fs.FindData.ftLastWriteTime)));
end;
while findnext(fs) = 0 do
begin
if (fs.Name <> '.') and (fs.Name <> '..') then
if (fs.Attr and faDirectory) = faDirectory then
FindLocalFiles(disk, path + '\' + fs.Name, filename, filetime)
else
begin
begin
filename.add(path + '\' + fs.Name);
filetime.Add(FormatDateTime(Model,
CovFileDate(fs.FindData.ftLastWriteTime)));
end;
end;
end;
end;
Findclose(fs);
end;
------其他解决方案--------------------
2.检索ftp服务器文件目录
procedure FindRemoteFiles(var idFTP: TIdFtp; RemoteDirectory: string; var
filename,
filetime: Tstrings);
const
Model = 'yyyy/mm/dd,hh:mm:ss';
var
i, DirCount: integer;
sName: string;