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中的默认压缩算法整了半天不太好使,就看了看 ...
随机推荐
- RabbitMQ五:生产者--队列--多消费者
一.生成者-队列-多消费者(前言) 上篇文章,我们做了一个简单的Demo,一个生产者对应一个消费者,本篇文章就介绍 生产者-队列-多个消费者,下面简单示意图 P 生产者 C 消费者 中间队列 ...
- poj3368 Frequent values
思路: 转化为RMQ. 实现: #include <cstdio> #include <cstring> #include <algorithm> using na ...
- 百度地图对https的支持
在使用百度地图时,如果直接使用其提供的js地址,在通过https的方式请求时,是不支持的 <script type="text/javascript" src="h ...
- iOS---iOS中SQLite的使用
一.SQLite的使用 采用SQLite数据库来存储数据.SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些.还是一步步来吧! 第一步:导入头文件 需要添加SQLit ...
- 《哈佛商业评论》2017年第5期:4星。成功CEO具有4种行为特质:果断、激励参与、主动适应、稳扎稳打。股东价值最大化的理念有重大缺陷。
老牌管理学杂志,每期都值得精度.本期几个比较重要的观点:谦逊的CEO能带来更好的业绩:飞利浦创新过度导致业绩下滑:股东最大化的理念有重大缺陷,后果之一是大宗股票的临时持有者可能干预公司事务,强迫公司采 ...
- 迅为iMX6UL开发板低功耗高能效开发平台
迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3,存储:8G EMMC,支持2路CAN,2路百兆以太网,4路USB HOST,8路串口,以及 ...
- 阿里云服务器基本搭建_错误1_Permission denied (publickey)
首先 修改这两个密码 然后重启服务器就可以了
- css 最高权重 !important;
border-top: 1px solid #ccc !important;
- CAS机制总结
一.简介 CAS机制:(Compare and set)比较和替换 简单来说–>使用一个期望值来和当前变量的值进行比较,如果当前的变量值与我们期望的值相等,就用一个新的值来更新当前变量的值CAS ...
- vue工程化之公有CSS、JS文件
1.关于公共的css 在src下面新建public.css,然后在main.js中引入进来 import '@/public.css',这样所有页面中都会使用这个样式了,如果只是部分页面需要,那还是不 ...