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

此博客展示了一段Delphi代码,用于解析FTP地址信息。代码接收一个字符串,解析出用户名、密码、IP地址、文件名和目录列表。通过对字符串的截取和查找特定字符位置,完成各项信息的提取,为处理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:= 'test@test.com';
  IP := '';
  strAddr := Copy(S,7,length(S)-6);//取得ftp://之后的部分
  //S 格式必须是类似ftp://rec:ooo@192.168.76.11/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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值