一个关于ftp的问题,高手请进啊) ( 积分: 100 )

  • 主题发起人 主题发起人 qifeng0718
  • 开始时间 开始时间
Q

qifeng0718

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样把一个或多个文件FTP到网络上?具体用到的部件有OpenDialog,listview,nmftp
大概的思路 是这样的,先把一个目录(含多个文件)显示在listview中,然后选中一个或多个文件上传到网络上.
 
怎样把一个或多个文件FTP到网络上?具体用到的部件有OpenDialog,listview,nmftp
大概的思路 是这样的,先把一个目录(含多个文件)显示在listview中,然后选中一个或多个文件上传到网络上.
 
有例子程序,你选中NMFTP查看帮助
 
高手给顶一下啊
 
兄弟,请看看下面,也可以qq:42872272


unit PTUpLoad; //×¢Òâ:pTUpLoadÊǵ±Ç°unit±£´æ½¨ÒéµÄÎļþÃû

interface
uses
NMFtp, IdWinsock, windows, Dialogs, SysUtils, Classes,
ZLib, Registry, INIFILES; //×¢Òâ pdmÊÇÊý¾ÝÄ£¿épdm.pas
type TUpLoad = class
private
public
app: string;
constructor Create(lapp: string); //¹¹Ô캯Êý
function UPLOAD(ulFile: string): boolean;
end;
var UPLOAD: TUpLoad;


implementation

uses PPUBPAS;

constructor TUpLoad.Create(lapp: string); //¹¹Ô캯Êý
begin
app := lapp;
end;


function TUpLoad.UPLOAD(ulFile: string): boolean;
var NMFTP1: TNMFTP;
sDest: string;
begin
sDest := copy(ulFile, length(app) + 1, 255); // ¿ªÊ¼²»Äܺ¬ /
result := false;
NMFTP1 := TNMFTP.Create(nil);
NMFTP1.Host := getinikey(pchar(app + 'NetUpdate.ini'), 'ftp', 'Host');
NMFTP1.Port := strtoint(getinikey(pchar(app + 'NetUpdate.ini'), 'ftp', 'Port'));
NMFTP1.UserID := getinikey(pchar(app + 'NetUpdate.ini'), 'ftp', 'UserID');
NMFTP1.Password := getinikey(pchar(app + 'NetUpdate.ini'), 'ftp', 'Password');
try
NMFTP1.Connect();
except
showmessage('Ô¶³ÌFtp·þÎñÆ÷ûÓÐÆô¶¯»òûÓн¨Á¢Óû§Ãû!');
NMFTP1.Free;
exit;
end;
try
if pos('/', sDest) > 0 then NMFTP1.MakeDirectory(copy(sDest, 1, pos('/', sDest) - 1));
except
showmessage('·þÎñÆ÷Ŀ¼£º' + copy(sDest, 1, pos('/', sDest) - 1) + 'ÒѾ­´æÔÚ!');
end;


try
NMFTP1.UPLOAD(ulFile, sDest);
except
showmessage('ÉÏ´«Ê§°Ü£¬Ô­Òòδ֪£º¿ÉÄÜÊÇûÓзÖÅäÓû§Ãû£¬»òÓû§Ã»ÓÐ!');
NMFTP1.Free;
exit;
end;

NMFTP1.Free;
result := true;
end;





end.
 
DEMO里有现成的例子,我自己做了个,不过用的不是OpenDialog,业务需要,我用的是INI文件控制,有需要可以给你做个参考
 
lancers,好的把你的例程发给我看看吧?我的邮箱是qinfeng@sdau.edu.cn
多谢!
 
我找了一个,可能这个比较适合你提出的控件要求,在..../Borland/Delphi6/Demos/Indy/FTPDemo有个完整的例子,你研究下,还弄不懂的我再把我的给你,因为我用的控件和你说的有些不一样:)
 
可以把你的发给我看看么?
 
已经发了,我用的是IDFTP,涉及公司原因,我把程序删除了部分
 
好的,谢谢了
 
多人接受答案了。
 
后退
顶部