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

正文內(nèi)容

第六章 文件管理(三)(文件)

2024-09-29 15:36 上一頁面

下一頁面
 

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