zoukankan      html  css  js  c++  java
  • DELPHI IDFTP

    FTP是一个标准协议,它是在计算机和网络之间交换文件的最简单的方法。

    FTP也是应用TCP/IP协议的应用协议标准。
    FTP通常于将作者的文件上传至服务器,或从服务器上下传文件的一种普遍的使用方式作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的软件(如FLASHFXP)来对服务器的数据进行删除,重命名等操作。 
    当然,使用这些之前,必须先要登录服务器,用指定的用户名和密码或匿名(Anonymous)登录。 
    这些大家都知道,不过还是讲一下。用DOS操作FTP我不讲了。我今天主要用INDY组件里的IDFTP控件做一FTP客户端软件(非常简单 ) 了 
    我现在讲一下IDFTP控件的几个属性如下: 
    Host:FTP服务器地址。
    USER:用户帐号。
    Password:密码。
    Passive:用于控制FTP数据连接方法。FTP的数据传输可以有主动和被动。
    PORT是主动模式,在建立数据通道时,服务端去连接别人;
    PASV是被动模式,在建立数据通道时,服务端被别人连接;
    建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端。
    IDFTP里的passive是一个Boolean数据类型。当True时为主动;当false时为被动。
    Port:FTP服务的默认端口是21。
    TransferType:传输文件的类型,可以取值为FtBinary(8位的任意文件)和FtAscii(7位的文本文件)。
    SystemDesc:FTP服务器的描述。 
    IDFTP的几个方法
    常用的方法有以下几个:
    Connect:连接FTP服务器.
    Abort:停止FTP服务的操作。
    Quit:关闭客户端与服务器的连接.
    Noop:用于保持连接的命令,防止被服务器关掉连接.
    List:获取FTP服务器上的文件和目录列表.
    ReadTimeout:(网络故障超时不好用,需要同时设置这个属性)

    ConnectTimeout:超时(默认:20000,单位:毫秒)
    原型为
    procedure List(ADest:TStrings;Const ASpecifier:String;const ADetails:Boolean);
    RetrieveCurrentDir:取得当前目录的名称.
    Site:发送FTP服务器的命令.
    原型为:
    procedure Site(const ACommand:string);
    ChangeDir:改变FTP服务器上的当前目录
    原型为: procedure ChangeDir(const ADirName:string);
    ChangeDirUp:将FTP服务器上的目录返回到你目录. 
    温州-Dillon(86695893) 13:08:26
    MakeDir:在服务器上建立一个新目录.
    原型为:
    procedure MakeDir(const ADirName:String);
    RemoveDir:删除服务器上的一个目录.
    原型为:
    procedure RemoveDir(const ADirName:string);
    Get:从FTP服务器上下载文件.这个方法被重载了.
    原型为:
    procedure Get(const ASourceFile:string;ADest:TStream);overload;
    procedure Get(const ASourceFile:string;const ADest:string;ACanOverWrite:Boolean);overload;
    Put:用于向服务器上传文件.该方法被重载.
    原型为:
    procedure Put(const ASourceFile:TStream;const ADest:string;const Appand:Boolean);overload;
    procedure Put(const ASourceFile:string;const ADest:string;const AAppand:Boolean);overload;
    KillDataChannal:关闭FTP数据通道.
    所谓“重载”,就是当从多个“类”身上继承一些方法时,会发生冲突。为了避免这一个冲突,就使用了“重载”功能 
    Delete:删除FTP服务器上一个文件.
    原形为:procedure Delete(const AfileName:string);
    Rename:更改服务器上的文件名.
    原型为:
    procedure Rename(const ASourceFile:string;const ADestFile:string);
    Size:获取文件大小信息.
    原型为:
    function Size(const AFileName:string):Integer; 
    当大家装好INDY9.0 附带一个例程,在INDYFTPDEMO下可以找到. 
    是一个不错的DEMO 
    我仿造这个DEMO做的一个例子。里面包含详细的注释。
    当然,还要讲一下,做FTP客户端的心得哦 
    我现在,慢慢把里面的代码发了来做一下讲解 
    首先是登录按钮里的代码: 
    还是先给大家看一下这个界面吧 
    Delete:删除FTP服务器上一个文件.
    原形为:procedure Delete(const AfileName:string);
    Rename:更改服务器上的文件名.
    原型为:
    procedure Rename(const ASourceFile:string;const ADestFile:string);
    Size:获取文件大小信息.
    原型为:

    function Size(const AFileName:string):Integer;

    出处: http://blog.csdn.net/superfireware/article/details/8709395

  • 相关阅读:
    Windows Azure Cloud Service (14) 使用Windows Azure诊断收集日志记录数据
    Windows Azure Cloud Service (13) 用Visual Studio 2010 将应用程序部署到Windows Azure平台
    Windows Azure Cloud Service (15) 多个VM Instance场景下如何处理ASP.NET Session
    Windows Azure Storage (5) Windows Azure Drive
    Windows Azure Storage (7) 使用工具管理Windows Azure Storage
    SQL Azure(二) SQL Azure vs SQL Server
    webbrowser的自动提交
    提取视频的背景声音的软件
    Listview列排序的bug原因
    两个奇怪的问题
  • 原文地址:https://www.cnblogs.com/lrl45/p/5135456.html
Copyright © 2011-2022 走看看