听不懂, 根据日期,加到下载队列,然后下载吧, //参考下吧,//执行下载操作 procedure TFTPModel.DownLoad; var FileName : String; Item : TListItem; QueueItem : TListItem; begin //没有连接,不做下载处理。 if not FFTPClient.Connected Then Exit; //没有选中文件,不做下载处理。 if FLVRemoteFile.Selected = nil then Exit; Item := FLVRemoteFile.Selected; FLVQueue.Clear; while Item <> nil do begin //这里加了约束,是文件夹的话,不加到下载队列, //也就是说不支持文件夹的下载。 if Item.SubItems[0]<>'文件夹' then begin QueueItem := FLVQueue.Items.Add; QueueItem.Caption := Item.Caption; QueueItem.SubItems.Add(FLocaLPath); QueueItem.SubItems.Add(Item.SubItems[1]); QueueItem.SubItems.Add('<-'); QueueItem.SubItems.Add(''); QueueItem.SubItems.Add(FRemotePath); end; //End Of If //得到下一个选中的目录或文件 Item:=FLVRemoteFile.GetNextItem(Item,sdAll, [isSelected]); end; //End Of while Item <> nil do FLVQueue.Refresh; //IsTransParent:=True;表示正在传输数据。 FIsTransParent:=True; //UpDownLoadCode:=2;表示正在下载(DownLoad)文件 FUpDownLoadCode:=2; while FLVQueue.Items.Count > 0 do begin FileName:=FLVQueue.Items[0].Caption; FLVQueue.Items[0].SubItems[3]:='正在下载'; FLVQueue.Refresh; if FileExists(FileName) then begin if Application.MessageBox('文件已存在,是否继续下载?点击 【 是 】,继续下载,点击 【 否 】 重新下载',SysHintMsgTitle,MB_YESNO)=IDYES then begin //继续下载。 FFTPClient.Get(FileName, FLocalPath+'\'+FileName,false, true) end else begin //重新下载。 FFTPClient.Get(FileName, FLocalPath+'\'+FileName, true); end; //End Of if Application.MessageBox('文件 end else begin //本地没有该文件,正常下载 FFTPClient.Get(FileName, FLocalPath+'\'+FileName, false); end; //End Of if FileExists(FileName) then FLVQueue.items[0].Delete; FLVQueue.Refresh; //******************** //LocalChangeDirExecute(Sender); end; //End Of While FIsTransParent:=False; end;//End Of Begin
List后,根据日期下载的 List -T为返回完整时间,当然需要服务器支持http://lysoft.7u7.net
根据日期,加到下载队列,然后下载吧,
//参考下吧,//执行下载操作
procedure TFTPModel.DownLoad;
var
FileName : String;
Item : TListItem;
QueueItem : TListItem;
begin
//没有连接,不做下载处理。
if not FFTPClient.Connected Then Exit;
//没有选中文件,不做下载处理。
if FLVRemoteFile.Selected = nil then Exit;
Item := FLVRemoteFile.Selected;
FLVQueue.Clear;
while Item <> nil do
begin
//这里加了约束,是文件夹的话,不加到下载队列,
//也就是说不支持文件夹的下载。
if Item.SubItems[0]<>'文件夹' then
begin
QueueItem := FLVQueue.Items.Add;
QueueItem.Caption := Item.Caption;
QueueItem.SubItems.Add(FLocaLPath);
QueueItem.SubItems.Add(Item.SubItems[1]);
QueueItem.SubItems.Add('<-');
QueueItem.SubItems.Add('');
QueueItem.SubItems.Add(FRemotePath);
end; //End Of If
//得到下一个选中的目录或文件
Item:=FLVRemoteFile.GetNextItem(Item,sdAll, [isSelected]);
end; //End Of while Item <> nil do
FLVQueue.Refresh;
//IsTransParent:=True;表示正在传输数据。
FIsTransParent:=True;
//UpDownLoadCode:=2;表示正在下载(DownLoad)文件
FUpDownLoadCode:=2;
while FLVQueue.Items.Count > 0 do
begin
FileName:=FLVQueue.Items[0].Caption;
FLVQueue.Items[0].SubItems[3]:='正在下载';
FLVQueue.Refresh;
if FileExists(FileName) then
begin
if Application.MessageBox('文件已存在,是否继续下载?点击 【 是 】,继续下载,点击 【 否 】 重新下载',SysHintMsgTitle,MB_YESNO)=IDYES then
begin
//继续下载。
FFTPClient.Get(FileName, FLocalPath+'\'+FileName,false, true)
end
else
begin
//重新下载。
FFTPClient.Get(FileName, FLocalPath+'\'+FileName, true);
end; //End Of if Application.MessageBox('文件
end
else
begin
//本地没有该文件,正常下载
FFTPClient.Get(FileName, FLocalPath+'\'+FileName, false);
end; //End Of if FileExists(FileName) then
FLVQueue.items[0].Delete;
FLVQueue.Refresh;
//********************
//LocalChangeDirExecute(Sender);
end; //End Of While
FIsTransParent:=False;
end;//End Of Begin
List -T为返回完整时间,当然需要服务器支持http://lysoft.7u7.net