沒有辦法我只能再次使用FindFirst
procedure TFMForm
var
SearchForm: TSearchForm;
FileAttrForm: TFileAttrForm;
FindIt
SearchRec: TSearchRec;
Return: Integer;
begin
SearchForm := TSearchForm
with SearchForm do
begin
SearchFile
SearchPath
if (ShowModal <> idCancel) and
(SearchFile
begin
FindIt := SearchPath
Return := FindFirst(FindIt
if Return <>
FindIt :=
else
FindIt := ExpandFileName(SearchRec
end;
if FindIt =
MessageDlg(
mtWarning
else
begin
Path := ExtractFilePath(FindIt)
FindIt := ExtractFileName(FindIt)
FileAttrForm := TFileAttrForm
ShowFileAttr(FileAttrForm
end;
end;
end;
當用戶單擊Disk View菜單項時
磁盤信息的獲取是在DiskViewForm中DriveEdit編輯框的OnChange事件處理過程中實現的
procedure TDiskViewForm
var
dr: Byte;
Free
begin
Free := DiskFree(
Total := DiskSize(
FreeSpace
TotalSpace
end;
DiskFree
DiskViewForm中的三個編輯框設計時都令ReadOnly為True
改變顯示文件的類型事實上是設置FileList的Mask屬性
procedure TFMForm
var
FileMask: String;
begin
FileMask := InputBox(
If FileMask =
FileList
FileList
CreateCaption;
end;
其中的CreateCaption私有過程將在(
在子窗口的Directory菜單中
● Create Directory :創建一個子目錄
● Delete Directory :刪除一個空的子目錄
● Change Directory :改變當前目錄
創建目錄時首先彈出一個TNewDir類型的對話框
對話框中要求用戶輸入目錄名
Dir := ExpandFileName(DirName
而後調用MkDir函數
程序清單如下
procedure TFMForm
var
NewDir: TNewDir;
Dir: String;
begin
{$I
NewDir := TNewDir
with NewDir do
begin
CurrentDir
if (ShowModal <> idCancel) and (DirName
Dir := ExpandFileName(DirName
end;
MkDir(Dir)
if IOResult <>
MessageDlg(
end;
但不幸的是目錄創建後我們卻無法從當前目錄樹中看到
在實現目錄刪除過程中
對第一個問題
path := DirectoryOutline
Directoryoutlin
而後調用RmDir過程
RmDir(Path)
第二個問題的解決卻頗為費神
我曾經考慮過一個笨拙的方法
正當我一籌莫展時
嚴格地說
在Delphi IDE中打開DirectoryOutline的源文件後
procedure TDirectoryOutlinePlus
begin
ChDir(FDrive +
GetDir(
FDirectory := ForceCase(FDirectory)
if not (csLoading in ComponentState) then BuildTree;
end;
讀者也許被這段代碼弄糊塗了
如何添加一個部件見第三編有關章節的介紹
當增強的目錄樹准備好以後
以上工作的最終目標是實現目錄創建
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25234.html