我写的delphi在打开文件后状态栏不显示文件名

我写的delphi在打开文件后状态栏不显示文件名,第1张

if opendialog1.Execute then

begin

memo1.Lines.LoadFromFile(opendialog1.FileName)

statusbar1..Panels[0].Text:= opendialog1.FileName //要求显示打搜余基开文件的世谨信毁高息

end

函数NotInList用于判断待添加的字符串是否已存在于一个TStrings对象中 函数返回一个布尔型运枝变量

NotInList的具体实现如下

Function TFileCtrForm NotInList(FileName: StringItems: TStrings) Boolean

var

i: Integer

begin

for I := to Items Count do

if Items[i] = FileName then

begin

NotInList := False

Exit

end

NotInList := True

end

按指定匹配字符串显示当前目录中的文件

当在FileEdit中输入一个匹配字符串 并回车 文件列表框将显示匹配结果 这一功能在FileEdit的OnKeyPress事件中实现

procedure TFileCtrForm FileEditKeyPress(Sender: TObjectvar Key: Char)

begin

if Key = # then

begin

FileListBox ApplyFilePath(FileEdit Text)

Key := #

end

end

文件列表框提供的ApplyFilePath方法是解决这一问题的关键所在

 如仔  按指定匹配字符串查找当前目录中的文件

为了进行比较 我们用另一种方法来实现文件的查找功能 即利用标准旁橡敏过程FindFirst FindNext FileList 与ListBox 中的内容完全一致

当用户单击 查找 按钮时 与FileEdit 中字符串相匹配的文件将显示在ListBox 中 下面是实现代码

procedure TFileCtrForm Button Click(Sender: TObject)

var

i: Integer

SearchRec: TSearchRec

begin

Searched := True

Label Caption := Search Result

ListBox Items Clear

FindFirst(FileEdit text faAnyFile SearchRec)

ListBox Items Add(SearchRec Name)

Repeat

i := FindNext(SearchRec)

If i = then

ListBox Items Add(SearchRec Name)

until i <>

end

SearchRec是一个TSearchRec类型的记录 TSearchRec的定义如下

TSearchRec = record

Fill: array[ ] of Byte

Attr: Byte

Time: Longint

Size: Longint

Name: string[ ]

end

在这一结构中提供了很多信息 灵活应用将给编程带来很大方便 下面我们举几个例子

检测给定文件的大小

function GetFileSize(const FileName: String) LongInt

var

SearchRec: TSearchRec

begin

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

Result := SearchRec Size

else

Result :=

end

这一程序将在下一节中应用

获取给定文件的时间戳 事实上等价于FileAge函数

function GetFileTime(const FileName: String) Longint

var

SearchRec: TSearchRec

begin

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

Result := SearchRec Time

else

Result :=

end

检测文件的属性 如果文件具有某种属性 则

SearchRec Attr And GivenAttr >

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

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

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

常量 值 描述

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

faReadOnly $ 只读文件

faHidden $ 隐藏文件

faSysFile $ 系统文件

faVolumeID $ 卷标文件

faDirectory $ 目录文件

faArchive $ 档案文件

faAnyFile $ F 任何文件

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

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

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

设计基本思路

窗口设计

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

表 FileManger窗体清单

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

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

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

TFileManager 主窗口

TFMForm 子窗口 Windows|New Window

TFileAttrForm 显示文件属性 File|PropertiesFunction|Search

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

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

TDiskViewForm 显示磁盘信息 Function|Disk View

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

TAboutBox 显示版权信息 Help|About

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

界面设计

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

表 主窗口界面设计

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

部件 属性 功能

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

FileManager Style=fsMDI 主窗口

WindowMenu=Windows

Position=poDefault

MainMenu 主菜单

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

BevelInner=bvLowered

BevelWidth=

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

Alignment=taLeftJustify

BevelInner=bvLowered

BevelWidth=

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

主窗口主菜单包括File WIndows Help三项 File菜单项在子窗口生成时被子窗口同名菜单项所取代 设置Windows Help的GroupIndex = 可以使子窗口生成时这两个菜单项仍存在

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

表 子窗口界面设计

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

部件 属性 功能

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

FMForm ActiveControl=DirectoryOutline 子窗口

Position=poDefault

Style=fsMDIChild

MainMenu 主菜单

DriveTabSet Align=alTop 显示驱动器

style=tsOwnerDraw

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

options=[ooDrawTreeRoot

ooDrawFocusRect ooStretchBitmaps]

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

FileType=[ftReadOnly

ftHidden ftSystem ftArchive ftNormal]

ShowGlyphs=True

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

Vsible=False

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

Visible=False

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

Visible=False

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

lishixinzhi/Article/program/Delphi/201311/25238


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12164080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存