[Delphi]一个解析FTP地址的小函数

** procedure ** TForm1.FTPAnalysis(S:string;var UserName,Password,IP,FileName:String;var DirList:TStringList);
** var **
i,j:integer;
strAuthorization,strAddr,strDirFile:string; //授权信息
** begin **
UserName:= 'anonymous';
Password:= '[email protected]' ;
IP := '';
strAddr := Copy(S,7,length(S)-6); //取得ftp://之后的部分
//S 格式必须是类似 ftp://rec:[email protected]/20050418/abcdef.vox ,或 ftp://192.168.76.11/ ......
i := Pos( '@',S );
if (i>0) ** then **
** begin
** strAuthorization := Copy(S,7,i-7); //只取帐号密码字段
j:=Pos(':',strAuthorization);
if(j<1)then
exit;
UserName := Copy(strAuthorization,1,j-1);
PassWord := Copy(strAuthorization,j+1,length(strAuthorization)-j);
** end ** ;
i := Pos( '@',strAddr );
j:=Pos('/',strAddr);
** if ** (j>0) ** then **
IP := Copy(strAddr,i+1,j-i-1); //获得IP地址
strDirFile := Copy(strAddr,j+1,length(strAddr)-j);
DirList.Delimiter := '/';
DirList.DelimitedText := strDirFile; //获得目录列表
FileName := DirList[DirList.count-1]; //最后部分为文件名
DirList.Delete(DirList.Count-1);

** end ** ;

Published At
Categories with Web编程
comments powered by Disqus