freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第六章文件管理三(參考版)

2024-09-09 15:36本頁面
  

【正文】 本章介紹的思路和方法將為讀者成為一個熟練的程序員奠定基礎(chǔ)。讀者可以以此為基礎(chǔ)進一步完善它,使它真正成為一個完全實用的程序。 ()中的內(nèi)容或許是一開始就應了解的,但其它完全可以按順序逐步地擴充,最后得到一個完整的程序。 小結(jié) 文件管理器是一個較為綜合的例程,使用到了絕大部分以文件名、文件句柄以及其它參數(shù) (除文件變量 )為操作對象的文件管理過程 /函數(shù),同時也提供了 一些程序設(shè)計開發(fā)的思想。這些模塊除在本程序中使用外,讀者可以在其它應用程序中直接調(diào)用,而且不必重新編譯,只要在 Uses 子句中包含即可。 判斷是否有文件被選中是通過檢測 ItemIndex 屬性是否大于等于 0 來實現(xiàn)的。 := FileSelected。 := FileSelected。 := FileSelected。 begin FileSelected := = 0。 procedure (Sender: TObject)。 這一功能在 File 菜單的 Click 事件處理過程中實現(xiàn)。 菜單項的變灰與使能 File 菜單中定義的文件管理功能只有當活動焦點在 FileList(即有當前選中文件 )時才起作用。 版本信息 當用戶單擊主窗口的 Help|About 菜單項時將彈出一個 About 對話框,用于顯示版本信息(如圖 )。 end。 end else := 39。%s, %d bytes39。 begin with FileList do begin if (ItemIndex = 0) and (Not HasAttr(FileName,faDirectory)) then begin TheFileName := FileName。 end。 。 。 DirectoryOutline 和 FileList 最終的 Change 事件處理過程如下: procedure (Sender: TObject)。 狀態(tài)條的顯示 狀態(tài)條用于顯示當前目錄和當前選中文件。 當前目錄或文件顯示類型發(fā)生變化時改變子窗口的標題。 Caption := Cap。\39。 begin Cap := 。 procedure 。我們把當前目錄加上文件的類型作為子窗口的標題。 end。 end。 Exit。 Refresh。Cannot find directory39。 begin {$I} ChDir(ToDir)。 procedure (Todir: String)。詳細情況請讀者參看 ()中的介紹。由于驅(qū)動器名與 DriveTabSet 的索引屬性 TabIndex 之間并沒有確定的對應關(guān)系,因而需要通過一個循環(huán)進行查找匹配。 改變當前目錄 改變當前目錄的實現(xiàn)非常簡單,只要修改 DirectoryOutline 的 Directory屬性。 end。Cannot Create directory39。 MkDir(Dir)。) then Dir := ExpandFileName()。 if (ShowModal idCancel) and ( 39。 begin {$I} NewDir := (self)。 var NewDir: TNewDir。 修改后的目錄創(chuàng)建過程如下。,mtWarning,[mbOk], 0) else 。+ 39。 if IOResult 0 then MessageDlg(39。?39。Delete 39。 := ExtractFilePath(Path)。 k: Integer。 procedure (Sender: TObject)。這只需要調(diào)用 DirectoryOutline 的 Reset 方法即可。此時FileList 占據(jù)了整個客戶區(qū); FileList 的 Align 屬改為 None,并留出左邊的空白供放部件用; TDirectoryOutlinPlus 類的部件 DirectoryOutline; DirectoryOutline 的 Align 屬性改為 Left, FileList 的 Align 屬性還原為Client; DirectoryOutline的事件 OnChange列表中選取 DirectoryOutlineChange,即原 DirectoryOutline 的處理過程。 當增強的目錄樹準備好以后,必須修改我們的子窗口設(shè)計,但卻不必親自修改源代碼。 DirPlus 加入部件的 Samples 頁中。假如讀者想徹底搞懂它,我建議先看一下本書第三編有關(guān)自定義部件開發(fā)的內(nèi)容,而后再對照原 DirectoryOutline的源代碼進行分析。 讀者也許被這段代碼弄糊涂了。 if not (csLoading in ComponentState) then BuildTree。 GetDir(0, FDirectory)。:39。 procedure 。這一方法的作用是重新讀取當前驅(qū)動器的目錄。 在 Delphi IDE 中打開 DirectoryOutline 的源文件后: DirPlus,類名改為 TDirectoryOutlinePlus,表明這是DirectoryOutline 的增強版。這樣我們可以省去與創(chuàng)建部件有關(guān)的許多繁瑣工作。而當我分析了它的源代碼后,我知道應該做什么了,那就是為 DirectoryOutline 增添一個 Reset 方法 ! 為部件增添一個方法 嚴格地說,我們所做的工作屬于創(chuàng)建一個新部件。但這種方法一方面速度無法忍受,另一方面當只存在一個 驅(qū)動器可用時會導致系統(tǒng)崩潰。而且它基本上是只讀的,除非清除( Clear) 它,象 Add、 Delete 這些方法對它都是無效的。因為 DirectoryOutline 是 Delphi 提供的示例部件,沒有 Help 文件支持。 := ExpandFilePath(Path)。 對第一個問題,我們的解決辦法是把當前目錄轉(zhuǎn)換到其父目錄。但為了操作方便,我們要求刪除的恰恰是當前目錄; Refresh 方法或 Update 方法并不能使該目錄從屏幕顯示中去除。 刪除目錄 在實現(xiàn)目錄刪除過程中,遠不如創(chuàng)建目錄那么順利。必須移到另一個驅(qū)動器而后再返回,創(chuàng)建的目錄才是可見的。 end。Cannot Create directory39。 MkDir(Dir)。) then Dir := ExpandFileName()。 if (ShowModal idCancel) and ( 39。 begin {$I} NewDir := (self)。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1