http://blog.sina.com.cn/s/blog_4c0aa7ef01000921.html
List和结果容器
List(ADest: TStrings;
const
ASpecifier: string
=
''; const
ADetails: boolean =
true);
描述:用于获得FTP服务器当前目录下的文件或目录列表。ADest是存贮FTP服务器目录列表返回的原始文本值的TStringList参数。ASpecifier是容纳列表中文件和/或目录掩盖符的String,可包含通配符。其中有些:
l *.*
所有文件
l *
所有目录条目
l *.
忽略扩展名的所有文件
l A??.txt以A开头的3字符名字的文本文档
ADetail是布尔值,表示list是否包含ASpecifier中掩码匹配的文件或目录的细节。False,使用FTP的NLST命令返回的文件或目
录名,True,List返回依FTP服务器不同的细节,包括文件大小,被修改的数据,对用户、组的文件许可,使用FTP的List命令。
List将初始化、清空DirectoryListing属性,将
ADest中的返回值解析到DirectoryListing容器的collection
items中。当ADest为空,格式化的DirectoryListing为空。List将
FTP服务器的返回值存储在ListResult中,并且允许用List命令,独立使用或者准备构造DirectoryListing。
List调用DirectoryListing中的命令,检查FTP服务器返回的普通数据格式。应用程序可以不考虑默认检查,和通过在OnCheckListFormat
and OnParseCustomListFormat事件句柄中添加程序实现的解析行为。
ListResult
只读TStrings属性,用于存储List函数的返回值。也可在当试图为DirectoryListin中创建的items决定列表格式时使用。ListResult在Create构造函数中初始化,在Destoy函数中释放。
DirectoryListing
property
DirectoryListing:
TIdFTPListItems
;
只读TIdFTPList属性,代表TIdFTPListItem实例(List和Status函数返回值)的容器和解析器。DiractoryListing总是在List和Status添加返回值之前被清空。
DiractoryListing提供一个结构化的方式,来访问FTP
List,NLST,STAT命令返回的文件、目录的数据。DiractoryListing也可以用于装载显示FTP操作结果的GUI控制,如TTreeView。
DiractoryListing可以和OnParseCustumListFormat事件配合,来解析TIdFTPList不常规支持的FTP
List格式。
DiractoryListing在使用List、或OnCreateFTPList事件句柄前初始化。DiractoryListing使用Destroy释放。
TIdFTPListItems
封装FTP目录列表的collection。
TIdFTPListItems = class
(TCollection)
TIdFTPListItems.DirectoryName
公共字符串属性,表示collection中条目表示的文件系统目录的名字。使用Items访问目录列表的条目。修改DirectoryName将清空条目。
TIdFTPListItems.Items
TIdFTPItem通常由TIdFTP.LoadList函数创建。
TIdFTPListItems.ListFormat
是TIdFTPListFormat属性,在TIdFTP.LoadList解析中使用的目录格式。ListFormat用在Parse函数,决定适合
collection中目录条目的解析机制。通常容纳TIdFTP.CheckListFormat函数的返回值。默认值为福利房Unix,在
Create构造函数中被指派。
TIdFTPListItems函数
Add
CheckListFormat
:CheckListFormat<->ListFormat(TIdFTPListFormat)
Create
IndexOf
LoadList :
ListFormat下TStrings->TIdFTPItem,包括创建TIdFTPItem,还有调用Parse
Parse :procedure
Parse(ListFormat:
TIdFTPListFormat; AItem: TIdFTPListItem);
ListFormat下解析的数据在放在AItem.Data中。
ParseCustom
:激活事件OnParseCustomListFormat。该事件提供常规解析代码。当开发者需要支持非常规目录列表格式时用到它。若没有该事件,抛出异常EIdInvalidFTPListing
Format。
ParseUnknown:抛出异常EIdInvalidFTPListingFormat。ListFormat为flfUnknown时,该函数被调用。
TIdFTPListItems
OnGetCustomListFormat
OnParseCustomListFormat
TIdFTPListItem
一个目录条目实现。TIdFTPListItem =
class
(TCollectionItem)
FTP服务器LIST,NLST,STAT命令的返回数据的普通表示。注意:FTP协议没有指定这种数据类型的标准表示。它实现大多数FTP服务器中建立
的普通参数。也提供用作目录条目基础的原始文本数据,和TIdFTPListItems容器的解析函数配合,跨越默认的解析行为。
TIdFTPListItem
Data
FileName
GroupName
GroupPermissions
ItemCount
ItemType
LinkedItemName
ModifiedDate
OwnerName
OwnerPermissions
Size
UserPermissions
TIdFTPListItem
Assign
Create
Text
分享到:
相关推荐
Delphi基于TIdFTP文件上传实例代码Delphi example code based on TIdFTP File Upload
Delphi使用TIdFtp控件实现FTP协议.doc
基于TIdFTP的Delphi文件上传实例,只写了一个上传,是因为一个朋友只要上传功能,下载就没有写,把源码贴出来供大家学习,当时着急没写几行注释,连错误处理也少得可怜,见谅. 可以上传整个目录,单线程。作者QQ:5659170 ...
Delphi使用TIdFtp控件实现FTP协议
Delphi实现基于TIdFTP的简单文件上传,源码
TIdFTP插件使用简单例子。开发环境是C++ Builder XE2.实现了连接、登录,上传和下载以及列出文件名
转发ftp程序,供大家参考,如有错误,请指正
一个测试TIdFTP控件的小程序,包含了连接,在FTP服务器上新建文件夹,文件,删除文件夹,文件,以及获取文件目录。同时包含了FTP工具SERV-U 9.0
一个利用delphi tidftp 控件 的 ftp 演示程序
只写了一个上传,是因为一个朋友只要上传功能,下载就没有写,把源码贴出来供大家学习,当时着急没写几行注释,连错误处理也少得可怜,见谅.可以上传整个目录,单线程
1、TIdFTP Indy FTP客户端 2、TThreadsPool 线程池 工作原理及流程 调用本单元,将自动在程序初始化时生成线程池TThreadPoolDown实例 Share_ThreadPool_FTPDown 一、外部调用方法 外部只需要一次性调用 FtpDown() ...
代码很简单,代码很简单。 建议到家先行百度 下面是d7的 idFTP1.IOHandler.DefStringEncoding:=tencoding.UTF8;
现在很多应用都需要上传与下载大型文件,通过HTTP方式上传大文件有一定的局限性。幸好FTP作为一个非常老而且非常成熟的协议可以高效稳定地完成大文件的上传下载,并且可以完美地实现续传。
本下载方法采用的是HTTP...首先采用一个主类TC_DownLoad_Main来下载多个文件 然后用一个子类TC_DownLoad来下载单个文件 反复创建这个子类便可以下载多个文件 在子类中用多个线程类TThread1来进行单个文件的多线程下载
Delphi客户端通过FTP服务器上传或下载文件或图片方法
TIdTCPClient中文乱码问题 我在进行indy10.5.7这个版本进行idTCPClient及idTCPServer进行编程时同样汉字收发时会产生乱码,我在单元的里引用了 HTTPApp 单元, 在发的时候这样写IdTCPClient.IOHandler.WriteLn...
详细介绍如何在uniGUI for C++ builder下使用IdFTP发送文件,带有详细源代码和文档。
使用Delphi连接SFTP,代码完整,dll和pas、dcu文件齐全;功能完整,包含有密码登录和无密码Public Key和Private Key登录,已在Delphi7下运行通过,参考意义大。
FTP服务器与客户端,自己写的,做下参考吧