DELPHI基础教程文件管理篇_Delphi_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

DELPHI基础教程文件管理篇

作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0

黑客防线网安网讯:  文件是同一类型元素的有序集合,是内存与外设间传输数据的渠道。一些外设如显示器、键盘、打印机等都可以看作文件,但最常用的还是磁盘文件,这也是本章我们主要讨论的对象。
      Delphi继承了Object Pascal的文

begin

if FindFirst(ExpandFileName(FileName),faAnyFile, SearchRec) = 0 then

Result := SearchRec.Time

else

Result := -1;

end; 

3. 检测文件的属性。如果文件具有某种属性,则 

SearchRec.Attr And GivenAttr > 0 

属性常量对应的值与意义如下表: 

   表6.6 属性常量对应的值与意义

━━━━━━━━━━━━━━━━━━━━

常量 值 描述

─────────────────────

faReadOnly $01 只读文件

faHidden $02 隐藏文件

faSysFile $04 系统文件

faVolumeID $08 卷标文件

faDirectory $10 目录文件

faArchive $20 档案文件

faAnyFile $3F 任何文件

━━━━━━━━━━━━━━━━━━━━ 

6.4 文件管理综合举例:文件管理器的实现 

  在本章的最后,我们利用Delphi提供的文件控件和文件管理函数开发一个简单的文件管理器。虽然这一文件管理器还无法和Windows提供的文件管理器相比拟,但它也为一般的文件操作提供了足够多的功能,而且如果读者感兴趣,还可以对它做进一步的扩充。在后边的拖放操作一章中,我们就为它提供了拖放支持,使它看起来更象一个“文件管理器”。

6.4.1 设计基本思路 

6.4.1.1 窗口设计 

  文件管理器的主窗口是一个多文档界面(MDI)。有关文件、目录的显示和文件管理功能的实现都放在子窗口中。在程序执行过程中将根据需要弹出一些完成不同操作的对话框。这些对话框都是在需要时动态生成的。表6.7给出了本程序所设计窗体的清单。 

   表6.7 FileManger窗体清单

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

窗体类 功能 用于创建该类窗体的菜单项

──────────────────────────────────────

TFileManager 主窗口

TFMForm 子窗口 Windows|New Window

TFileAttrForm 显示文件属性 File|Properties;Function|Search

TChangeForm 文件移动、拷贝、改名、改变 File|Move.Cope.Rename 当前目录等操作的输入对话框 Directory|change Directory

TSearchForm 输入待查找文件的名称和路径 Function|Search

TDiskViewForm 显示磁盘信息 Function|Disk View

TViewDir 输入待创建的子目录 Directory|CreateDirectory

TAboutBox 显示版权信息 Help|About

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

6.4.1.2 界面设计 

  主窗口界面主要是主菜单和用于表示当前目录、当前文件的状态条。 

   表6.8 主窗口界面设计

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

部件 属性 功能

 ─────────────────────────────

FileManager Style=fsMDI 主窗口

WindowMenu=Windows

Position=poDefault

MainMenu1 主菜单

FilePanel Align=alBottom 显示当前选中文件

BevelInner=bvLowered

BevelWidth=2

DirectoryPanel Align=alBottom 显示当前选中目录

Alignment=taLeftJustify

BevelInner=bvLowered

BevelWidth=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

主窗口主菜单包括FileWIndowsHelp三项。File菜单项在子窗口生成时被子窗口同名菜单项所取代。设置WindowsHelpGroupIndex = 9,可以使子窗口生成时这两个菜单项仍存在。

  子窗口界面包括主菜单、目录树(DirectoryOutline)、文件列表框、 用于显示驱动器的标签集(TabSet)以及三个用于显示驱动器类型的TImage部件。 

  表6.9 子窗口界面设计

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

部件 属性 功能

───────────────────────────────────────

FMForm ActiveControl=DirectoryOutline 子窗口

Position=poDefault

Style=fsMDIChild

MainMenu1 主菜单

DriveTabSet Align=alTop 显示驱动器

style=tsOwnerDraw

DirectoryOutline Align=alLeft 显示当前驱动器的目录树

options=[ooDrawTreeRoot,

ooDrawFocusRect,ooStretchBitmaps]

FileList Align=alClient 显示当前目录中的文件

FileType=[ftReadOnly,

ftHidden,ftSystem,ftArchive,ftNormal]

ShowGlyphs=True

Network(Image) Picture(Network.bmp) 标志网络驱动器

Vsible=False

Floppy(Image) Picture(Floppy.bmp) 标志软驱

Visible=False

Fixed(Image) Picture(Fixed.bmp) 标志硬驱

Visible=False

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

子窗口主菜单包括FileFunctionDirectory三个菜单项, 分别用于完成文件的基本管理功能、其它管理功能和目录管理功能。

  由于对话框界面设计很简单,这里不再进行赘述。 读者可直接参考后面将给出的对话框界面图(6.8---6.13)进行设计。

 

6.4.2 子窗口的创建、布置和关闭

 

  子窗口的创建、布置由父窗口的Windows菜单控制,其菜单项如下:

  ● New Windows : 创建新的子窗口

Tile : 平铺

  ● Cascade : 层叠

  ● ArrangeIcon : 排列图标

  Minimized All : 极小化所有子窗口

 

  子窗口的创建只需要简单调用窗体的Create方法:

 

  FileMan := TFMForm.Create(Application);

 

子窗口的标准排列方式直接调用MDI窗口的标准方法TileCascadeArrangeIcons

  极小化所有子窗口的实现利用MDI窗口的两个属性:MDIChildCountMDIChildren

 

  for i := 0 to MDICount - 1 do

MDIChildren[i].Windowstate := wsMinimized;

 

 

  子窗口关闭时释放内存空间,为此在子窗口TFMFormOnClose事件中令

 

Action := OnFree

 

  为了保持和WindowsFile Manager的一致性,我们也禁止关闭最后一个子窗口,这需要在子窗口的OnCloseQuery事件处理过程中实现:

 

If FileManager.MDIChildCount <= 1 then

CanClose := False;

 

CanCloseOnCloseQuery事件过程返回的一个参数,用于判定窗口是否可以关闭。

  由于这一过程归子窗口所有,因而MDIChildCount前必须加上其对象名FileManager

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-7702-1.html
网站维护教程更新时间:2012-03-02 12:49:04  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer