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

  • 相关阅读:
    CoreJava逻辑思维-顺时针打印自定义矩阵
    微信公众号开发引言
    .Net自动更新程序GeneralUpdate,适用于wpf,winfrom,控制台应用
    .net技术栈转型心路历程分享
    TCP/IP网络编程之数据包协议
    TCP/IP网络编程之字节序和网络字节序
    TCP/IP网络编程之socket交互流程
    Linux入门笔记
    WPF新手快速入门系列 3.MVVM
    WPF新手快速入门系列 2.绑定
  • 原文地址:https://www.cnblogs.com/lrl45/p/5135456.html
Copyright © 2011-2022 走看看