目錄大綱(DirectoryOutline)與檔案列表(FileList)的 OnChange 事件更新狀態列面板:
procedure TFMForm.DirectoryOutlineChange(Sender: TObject);
begin
CreateCaption;
FileList.Clear;
FileList.Directory := DirectoryOutline.Directory;
FileList.Update;
FileManager.DirectoryPanel.Caption := DirectoryOutline.Directory;
end;
procedure TFMForm.FileListChange(Sender: TObject);
begin
with FileList do
if (ItemIndex >= 0) and not HasAttr(FileName, faDirectory) then
begin
TheFileName := FileName;
FileManager.FilePanel.Caption := Format('%s, %d bytes', [TheFileName, GetFileSize(TheFileName)]);
end
else FileManager.FilePanel.Caption := '';
end;
使用 Delphi 內建 TAboutBox 模板,Help|About 選單項觸發顯示。
File 選單功能僅在檔案列表有選取項目(ItemIndex >= 0)時啟用,否則停用防止崩潰。於選單 OnClick 統一處理:
procedure TFMForm.File1Click(Sender: TObject);
var FileSelected: Boolean;
begin
FileSelected := FileList.ItemIndex >= 0;
Open1.Enabled := FileSelected;
Delete1.Enabled := FileSelected;
Copy1.Enabled := FileSelected;
Move1.Enabled := FileSelected;
Rename1.Enabled := FileSelected;
Properties1.Enabled := FileSelected;
end;
庫單元封裝常用檔案操作常式(CopyFile/MoveFile/DeleteFile/RenameFile/ExecuteFile/HasAttr/FileDateTime 等),專案 uses 引入即可直接調用,無需重新編譯,展現 Delphi 單元導向的程式碼重用優勢。
檔案管理器整合絕大多數檔案操作 API,採模組化擴充方式建構。後續章節將加入拖放操作、例外處理等進階功能。建議讀者以此為基礎持續完善,打造生產級工具。