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

正文內(nèi)容

第六章文件管理三-wenkub.com

2024-09-01 15:36 本頁(yè)面
   

【正文】 文件管理是在開(kāi)發(fā)一個(gè)高級(jí)的 Windows 程序中不可避免的要涉及到的問(wèn)題。我們的介紹是以程序功能模塊來(lái)組織的,我建議讀者在學(xué)習(xí)并試圖自己建立這一程序時(shí)采用同樣的方法。 FileSelected := = 0; 可重用的文件處理模塊 庫(kù)單元 fmxutils 是一個(gè)代碼庫(kù),提供了若干文件處理模塊。 := FileSelected。 := FileSelected。這一點(diǎn)并不很容易被人想到,希望讀者能從中受到啟發(fā)。 這一對(duì)話框是用 Delphi 提供的模板做的。39。 := Format(39。 := 。 begin CreateCaption。如DirectoryOutline 的 Change 事件處理過(guò)程和 ViewType 菜單項(xiàng)的 Click 事件處理過(guò)程就調(diào)用了該過(guò)程。+。 var Cap: String。 一些問(wèn)題的處理 子窗口的標(biāo)題 Windows 的文件管理器是我們?cè)O(shè)計(jì)的楷模,在子窗口顯示標(biāo)題上也不例外。 end。, mtWarning, [mbOk], 0) else begin with DirectoryOutline do begin Directory := ToDir。 var i: Integer。 Change Directory 的菜單事件處理過(guò)程是 FileChange,即與文件的移動(dòng)、拷貝、更名共用一個(gè)事件處理過(guò)程。 當(dāng)完成了這些工作,把程序重新編譯、運(yùn)行后,可以發(fā)現(xiàn)我們所希望實(shí)現(xiàn)的功能完全實(shí)現(xiàn)了!同時(shí),我們有了一個(gè)更好的目錄樹(shù)部件。 if IOResult 0 then MessageDlg(39。39。 Dir: String。 end。 Cannot remove directory! The path might not39。 + path + 39。 begin {$I} path := 。 目錄刪除過(guò)程的實(shí)現(xiàn)代碼如下。 TDirectoryOutline 類部件 DirectoryOutline。 。 end。)。程序清單如下。對(duì)創(chuàng)建新部件感興趣的讀者可閱讀本書(shū)第三 編的有關(guān)章節(jié)。 正當(dāng)我一籌莫展時(shí),突然想到: DirectoryOutline 是一個(gè) Sample 部件,Delphi 提供了它的源代碼。通過(guò)試驗(yàn)發(fā)現(xiàn):只有當(dāng) DirectoryOutline 的 Drive屬性改變時(shí),才重新從相應(yīng)驅(qū)動(dòng)器讀取目錄。假如讀者記得目錄也被操作系統(tǒng)作為一種特殊的文件對(duì)待的話,那么就不會(huì)對(duì)下面的語(yǔ)句感到奇怪了: path := 。碰到的問(wèn)題是 : 不允許刪除當(dāng)前目錄 。 但不幸的是目錄創(chuàng)建后我們卻無(wú)法從當(dāng)前目錄樹(shù)中看到。 if IOResult 0 then MessageDlg(39。39。 Dir: String。在目錄創(chuàng)建過(guò)程中關(guān)閉了 I/O 錯(cuò)誤檢測(cè),出錯(cuò)不產(chǎn)生異常而是把 IOResult 設(shè)置為非零值。 end。*.*39。,)。 begin FileMask := InputBox(39。我們利用一個(gè)標(biāo)準(zhǔn)的 InputBox 輸入文件的匹配字符串。 DiskFree、 DiskSize 帶參數(shù)為 0 表示當(dāng)前驅(qū)動(dòng)器。 bytes.39。 Free,Total: LongInt。 end。 FileAttrForm := (self)。 then MessageDlg(39。 else FindIt := ExpandFileName()。+。) and ( 39。39。 SearchRec: TSearchRec。 procedure (Sender: TObject)。 在實(shí)現(xiàn)這一功能的最初設(shè)計(jì)中,我試圖使用 FileSearch 函數(shù),這個(gè)函數(shù)允許在多個(gè)不同路徑中查找。 其它文件管理功能的實(shí)現(xiàn) 在子窗口的 Function 菜單中,定義了一些其它的文件管理功能: ● Search :查找一個(gè)給定名字的文件,若存在則顯示該文件屬性 ● Disk View :顯示當(dāng)前驅(qū)動(dòng)器的大小和剩余空間 ● View type :確定顯示文件的類型 文件查找 當(dāng)用戶單擊 Search 菜單項(xiàng)時(shí),程序彈出一個(gè)對(duì)話框 (如圖 ),要求輸入待查找的文件名和查找路徑。 以上過(guò)程中用到的函數(shù) FileDataTime 在 fmxutils 單元中定義,返回一個(gè)TDatatime 類型的變量。 if NewAttributes Attributes then FileSetAttr(AFileName, NewAttributes)。 if then NewAttributes := NewAttributes or faReadOnly else NewAttributes := NewAttributes and not faReadOnly。 := (Attributes and faArchive) = faArchive。 := Directory。 其中過(guò)程 ShowFileAttr 的實(shí)現(xiàn)如下: procedure (FileAttrForm:TFileAttrForm。 FileAttrForm: TFileAttrForm。 end。Change Directory39。Copy39。%s %s to %s39。 end。 end。 end else begin := []。 if IsFile then begin := 。 else if Sender = ChangeDirectory1 then begin Caption:=39。 else if Sender = Copy1 then Caption := 39。 begin ChangeForm := (Self)。當(dāng)用戶按 OK 鍵關(guān)閉且目標(biāo)文件 (目錄 )非空時(shí),程序彈出一個(gè)消息對(duì)話框要求用戶進(jìn)一步確認(rèn),而后執(zhí)行相應(yīng)的動(dòng)作。它們都以文件名為參數(shù)。 end。 if not RenameFile(FileName, Destination) then begin if HasAttr(FileName, faReadOnly) then raise (Format(SFCantMove, [FileName]))。 fmxutils 單元中的MoveFile 過(guò)程實(shí)現(xiàn)了這一功能。 end。 end。 if BytesCopied 0 then FileWrite(Dest, CopyBuffer^, BytesCopied)。 if Source 0 then raise (FmtLoadStr(SFOpenError, [Fi
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1