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;