请问如何将远程服务器上的文件传输到本地机上.(程序可以运行在远程服务器上).
谢谢
谢谢
解决方案 »
- 在三层结构中,如何用SQL语句操作本地数据集?
- 求关于ActiveX(ActiveFrom)菜鸟开发的学习资料
- 应用程序中要想取消数据库的操作,也就是恢复到数据库操作之前的状态,请问各位怎么办?
- 右击WORD文档,选择属性,中的摘要页签中显示那样,左边是个TREEVIEW右边可以编辑,这是什么控件?
- 再用100分来问mxoutlookbarpro的问题,解决了再送200分都行,只是现在1个问题里最多只能给100分,上次问的也没有人答案。
- 请问,判断一个变量类型的函数!
- 请大家帮忙找控件!急用!
- 与IE浏览有关,请大家看一下!!
- 急!关于database desktop的restructure命令,很简单。绝对给分
- 关于delphi与sql server
- 错误分析
- 急!怎么样把本地oracle数据库中表的数据APPEND到远程oracle数据库对应表中?
有没有其他方法实现呢?
procedure ex_download(remote_dir,remote_file:string);
var
localfname:string;
begin
datamodule2.NMFTP1.Connect;
try datamodule2.NMFTP1.ChangeDir(remote_dir);
begin
if nod='ネマヨ、ニスフィ' then
localfname:=remote_file
else
localfname:=mycaption;
datamodule2.NMFTP1.Download(remote_file,FRootPath+remote_file);
end
except
On E:Exception do begin
showmessage('下在失败,请检查文件是否存在,或网络是否已断开');
end;
end;
datamodule2.NMFTP1.Disconnect;
end;procedure ex_upload(remote_dir:string;atable:tcustomadodataset;fieldname:string);
var
remotefname,localfname:string;
label lab;
begin
begin
datamodule2.NMFTP1.Connect;
try if not DirectoryExists('ftp://'+trim(sysshezhi.edtAddress.text)+'/'+remote_dir) then
datamodule2.nmftp1.MakeDirectory(remote_dir);
except
On E:Exception do begin
end;end;
datamodule2.NMFTP1.ChangeDir(remote_dir);
lab: if datamodule2.OpenDialog1.Execute then
begin
temp_dir:='ftp://'+trim(sysshezhi.edtAddress.Text)+'/'+remote_dir;
localfname:=datamodule2.OpenDialog1.FileName;
remotefname:=extractfilename(localfname);
remotefnam:=remotefname;
if remotefname='' then
begin
showmessage('没选中文件!请重新选择');
goto lab;
end
else
begin
if findfile(atable,remotefnam,fieldname) then
begin
if MessageDlg('文件已存在,覆盖吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
bool:=true;
ins:=false;
datamodule2.NMFTP1.upload(localfname,remotefname);
end
else
begin
bool:=false;
messagebox(0,'上传取消','提示!',0);
end;
end;
if not findfile(atable,remotefnam,fieldname) then
begin
bool:=true;ins:=true;
datamodule2.NMFTP1.upload(localfname,remotefname);
end;
end;
end;
end;
因为程序时作项目的时候写的,所以里面又TABLE:)
机制是:本地显示数据库里的内容,数据库里的内容是记录了上传的信息。
procedure del_file(remote_dir,filename:string);
begin
datamodule2.NMFTP1.Connect;
datamodule2.NMFTP1.ChangeDir(remote_dir);datamodule2.NMFTP1.Delete(filename);
if fileexists(filename) then
begin
if deletefile(pchar(filename)) then
showmessage('文件已删除')
else showmessage('无法删除文件,请检查网络或查看权限分配');end else
showmessage('要删除的文件不存在,操作无法完成');
datamodule2.NMFTP1.disconnect;
end;
这样子可以不用FTP控件。