zoukankan      html  css  js  c++  java
  • TIDFTPListItem

    TIdFTP.List和返回值容器--用于GUI控制

     (2007-04-29 18:33:10)
    标签: 

    indy

     

    ftp

     

    list

    分类: 编程
       今天的劳动成果,没什么难度,拿出来共享吧!如果你想把FTP远程目录显示出来,这些有用。
       针对Indy9 TIdFTP.List的返回结果在GUI控制中显示的帮助。
     
    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

  • 相关阅读:
    Redis--过期键策略(惰性删除、定期删除)
    Redis--数据库(个数16、键空间、过期字典、过期策略)
    Redis--事件(serverCron)
    ArrayList是如何扩容的?
    Java的四大引用类型
    类加载机制,双亲委派模型及其优点
    GC调优思路
    modcount的作用
    JVM的常见的垃圾收集器
    什么是临界区?如何解决冲突(也就是临界区的调度原则)?
  • 原文地址:https://www.cnblogs.com/moonwind/p/4506355.html
Copyright © 2011-2022 走看看