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:(网络故障超时不好用,需要同时设置这个属性)
原型为
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 附带一个例程,在INDY\FTPDEMO下可以找到.
是一个不错的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
DELPHI IDFTP的更多相关文章
- Delphi IDFtp用法,包含断点续传
1 连接远程服务器procedure Connect(AAutoLogin: boolean; const ATimeout: Integer);2 改变目录procedure ChangeDir ...
- Delphi:Indy9的IdFTP完全使用
Delphi 7自带的INDY控件,其中包含了IdFTP,可以方便的实现FTP客户端程序,参考自带的例子,其中有上传.下载.删除文件,但是不包含对文件夹的操作,得自己实现上传.下载.删除整个文件夹(带 ...
- Delphi完成的断点续传例子 转
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- [转]Delphi 快捷键 让你更像高手!!
新一篇: IDFTP 控件使用 >>代码模板 : CTRL+J >>代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移)>>选中窗体 ...
- delphi 7 求无码
我们知道delphi很多源码,都是没有提供的,比如BDE,一旦有问题,我们也找不到办法解决,那么那些dcu对应的pas是没有公布的呢?笔者做了个统计. 下面是delphi7 的,如果你的程序有用到没有 ...
- Idftp.DirectoryListing 里面的内容为什么会是空的呢?(转)
最近在项目中要用到FTP上传,用的是delphi的IdFTP控件,用IdFtp.List(list),发现List里面有内容,可 是到IdFtp.DirectoryListing.Items[iCou ...
- Delphi - 创建SuperDll 持续更新
Delphi SuperDll 作为一名5年的Delpher,一直认为Delphi是桌面应用的王者,我相信其他的Delpher也这么认为. 但是,慢慢的我发现普通方式的Delphi开发会造成代码的严重 ...
- delphi 多线程3
多线程程序设计 我们知道,win95或winNT都是“多线程”的操作系统,在DELPHI .中,我们可以充分利用这一特性,编写出“多线程”的应用程序. 对以往在DOS或16位windows下写程序的 ...
- 学习笔记:7z在delphi的应用
最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...
随机推荐
- UWP Windows10开发获取设备位置(经纬度)
1.首先要在UWP项目的Package.appxmanifest文件中配置位置权限,如下图所示: 2.Package.appxmanifest后选择第三个选项卡,勾选位置权限(Location) 打开 ...
- 开源项目:JEECG
工程下载:https://github.com/zymqqc/jeecg-1
- [转] 以超级管理员身份运行bat
(转自:以超级管理员身份运行bat - lishirong 原文日期:2013.07.04) 废话不多说,直接上代码: -------------------------------------- ...
- C++ class、struct区别
一.默认访问控制不同(最主要) struct默认为public,class默认为private.这个访问控制既是指成员的默认访问属性,又指继承时默认的继承属性. 二.定义template时不同 在模版 ...
- IMX6核心板系列解决方案-工业级|商业级|四核|双核|Plus核心板
i.MX 6Quad四核商业级和工业级系列的应用处理器将可扩展平台与广泛的集成和高能效处理功能相结合,尤其适合多媒体应用.i.MX6 Quad处理器的特性包括: 满足操作系统和游戏的MIPS需求,增强 ...
- swift try try? try!
try You have 2 options when you try calling a function that may throw. You can take responsibility o ...
- win10下anaconda3环境配置
WINDOW系统设置环境变量:我的电脑右键-属性-高级系统设置-高级-环境变量中在path中加入你系统安装anaconda的目录下的scripts中: C:\Users\***\anaconda3\S ...
- CAD参数绘制点(com接口)
点在CAD中的作用除了可以分割对象外,还能测量对象,点不仅表示一个小的实体,而且通过点作为绘图的参考标记. pdmode是一个控制point的形式的系统变量,当pdmode=0时是可见的一个点,当pd ...
- 【转】c++数组初始化
数组初始化列表中的元素个数小于指定的数组长度时,不足的元素补以默认值. 原文:C/C++数组初始化的一些误区 以前我这样初始化一个数组,并自我感觉良好: ] = { }; // 全部初始化为0 这种简 ...
- jdk11 eclipse下开启ZGC
平台支持 ZGC目前只在Linux/x64上可用,如果有足够的需求,将来可能会增加对其他平台的支持. 对的,目前只支持64位的linux系统. -_-' eclipse.ini配置: -XX:+Unl ...