请问如何将远程服务器上的文件传输到本地机上.(程序可以运行在远程服务器上).
谢谢
谢谢
解决方案 »
- 求解!
- 简单的语法问题
- 在sybase中写了一个存储过程,执行时数据库连接会自动断开,请问这是怎么回事?
- 请问如何用delphi的控件做一个录音程序呢??
- 请教 treeview 图标的问题???????
- 帮忙看看这段代码为什么会出错
- ado问题求助?
- 菜鸟问:怎么用delphi 实现与、或、模糊查找?好心人赐教
- 深度挑战:当选择(鼠标点击或键盘选择)ComboBox的下拉列表中的条目时,如何编写代码,使得ComboBox文本框中的文本显示为格式化后的文本
- 怎样设置才能令form只有“最小化”和“关闭”?
- 错误分析
- 急!怎么样把本地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控件。