亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 018.htm

?? Delphi基礎知識講座
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<p>end;</p>
<p>end;<font face="宋體" lang="ZH-CN"> </font></p>
<p><font face="宋體" lang="ZH-CN">其中用到的自定義私有過程</font>ConfirmChange<font
face="宋體" lang="ZH-CN">用于執行相應的動作: </p>
</font><p>procedure TFMForm.ConfirmChange(const ACaption, FromFile, ToFile: String);</p>
<p>begin</p>
<p>if MessageDlg(Format('%s %s to %s', [ACaption, FromFile, ToFile]),</p>
<p>mtConfirmation, [mbYes, mbNo], 0) = idYes then</p>
<p>begin</p>
<p>if ACaption = 'Move' then</p>
<p>MoveFile(FromFile, ToFile)</p>
<p>else if ACaption = 'Copy' then</p>
<p>CopyFile(FromFile, ToFile)</p>
<p>else if ACaption = 'Rename' then</p>
<p>RenameFile(FromFile, ToFile)</p>
<p>else if ACaption = 'Change Directory' then</p>
<p>changeDirectory(ToFile);</p>
<p>FileList.Update;</p>
<p>end;</p>
<p>end; </p>
<p>6.4.5.4 <font face="宋體" lang="ZH-CN">顯示文件屬性 </p>
<p>  當程序執行</font>Properties <font face="宋體" lang="ZH-CN">菜單項的</font>Click
<font face="宋體" lang="ZH-CN">事件處理過程時,首先彈出一個</font>TFileAttrForm<font
face="宋體" lang="ZH-CN">類型的對話框,顯示文件的屬性</font></p>
<font face="宋體" lang="ZH-CN"><p>當用戶修改并確認后程序重新設置文件屬性。</p>
<p>  </font>Properties<font face="宋體" lang="ZH-CN">菜單項的</font>Click<font
face="宋體" lang="ZH-CN">事件處理過程如下: </p>
</font><p>procedure TFMForm.Properties1Click(Sender: TObject);</p>
<p>var</p>
<p>Attributes, NewAttributes: Word;</p>
<p>FileAttrForm: TFileAttrForm;</p>
<p>begin</p>
<p>FileAttrForm := TFileAttrForm.Create(self);</p>
<p>ShowFileAttr(FileAttrForm,FileList.FileName,FileList.Directory);</p>
<p>end;</p>
<font face="宋體" lang="ZH-CN"><p>  其中過程</font>ShowFileAttr<font
face="宋體" lang="ZH-CN">的實現如下: </p>
</font><p>procedure TFMForm.ShowFileAttr(FileAttrForm:TFileAttrForm;</p>
<p>AFileName,Directory:String);</p>
<p>var</p>
<p>Attributes,NewAttributes: Word;</p>
<p>begin</p>
<p>with FileAttrForm do</p>
<p>begin</p>
<p>FileName.Caption := AFileName;</p>
<p>FilePath.Caption := Directory;</p>
<p>ChangeDate.Caption := DateTimeToStr(FileDateTime(AFileName));</p>
<p>Attributes := FileGetAttr(AFileName);</p>
<p>ReadOnly.Checked := (Attributes and faReadOnly) = faReadOnly;</p>
<p>Archive.Checked := (Attributes and faArchive) = faArchive;</p>
<p>System.Checked := (Attributes and faSysFile) = faSysFile;</p>
<p>Hidden.Checked := (Attributes and faHidden) = faHidden;</p>
<p>if ShowModal &lt;&gt; idCancel then</p>
<p>begin</p>
<p>NewAttributes := Attributes;</p>
<p>if ReadOnly.Checked then NewAttributes := NewAttributes or faReadOnly</p>
<p>else NewAttributes := NewAttributes and not faReadOnly;</p>
<p>if Archive.Checked then NewAttributes := NewAttributes or faArchive</p>
<p>else NewAttributes := NewAttributes and not faArchive;</p>
<p>if System.Checked then NewAttributes := NewAttributes or faSysFile</p>
<p>else NewAttributes := NewAttributes and not faSysFile;</p>
<p>if Hidden.Checked then NewAttributes := NewAttributes or faHidden</p>
<p>else NewAttributes := NewAttributes and not faHidden;</p>
<p>if NewAttributes &lt;&gt; Attributes then</p>
<p>FileSetAttr(AFileName, NewAttributes);</p>
<p>end;</p>
<p>end;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">以上過程中用到的函數</font>FileDataTime<font
face="宋體" lang="ZH-CN">在</font>fmxutils<font face="宋體" lang="ZH-CN">單元中定義,返回一個</font>TDatatime<font
face="宋體" lang="ZH-CN">類型的變量。 </p>
</font><p>function FileDateTime(const FileName: String): System.TDateTime;</p>
<p>begin</p>
<p>Result := FileDateToDateTime(FileAge(FileName));</p>
<p>end; </p>
<p>6.4.6 <font face="宋體" lang="ZH-CN">其它文件管理功能的實現 </p>
<p>  在子窗口的</font>Function<font face="宋體" lang="ZH-CN">菜單中,定義了一些其它的文件管理功能:</p>
<p>  ●</font> Search <font face="宋體" lang="ZH-CN">:查找一個給定名字的文件,若存在則顯示該文件屬性</p>
<p>  ●</font> Disk View <font face="宋體" lang="ZH-CN">:顯示當前驅動器的大小和剩余空間</p>
<p>  ●</font> View type <font face="宋體" lang="ZH-CN">:確定顯示文件的類型 </p>
</font><p>6.4.6.1 <font face="宋體" lang="ZH-CN">文件查找 </p>
<p>  當用戶單擊</font>Search<font face="宋體" lang="ZH-CN">菜單項時,程序彈出一個對話框</font>(<font
face="宋體" lang="ZH-CN">如圖</font>6.10)<font face="宋體" lang="ZH-CN">,要求輸入待查找的文件名和查找路徑。文件名可以是通配符。當用戶確認后程序顯示第一個匹配文件的屬性</font>(<font
face="宋體" lang="ZH-CN">如圖</font>6.9)<font face="宋體" lang="ZH-CN">。查找不到匹配文件則給出相應的信息。</font></p>
<p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在實現這一功能的最初設計中,我試圖使用</font>FileSearch<font
face="宋體" lang="ZH-CN">函數,這個函數允許在多個不同路徑中查找。但可惜的是:也許由于系統設計者的失誤,這個函數并沒有返回它應該返回的東西</font>(<font
face="宋體" lang="ZH-CN">第一個匹配文件的全路徑名</font>)<font face="宋體"
lang="ZH-CN">,而是仍把輸入的匹配符返回。</p>
<p>  沒有辦法我只能再次使用</font>FindFirst<font face="宋體" lang="ZH-CN">,這個函數的特性在</font>6.3<font
face="宋體" lang="ZH-CN">節中已進行了介紹。下面是這一功能的實現代碼。 </p>
</font><p>procedure TFMForm.search1Click(Sender: TObject);</p>
<p>var</p>
<p>SearchForm: TSearchForm;</p>
<p>FileAttrForm: TFileAttrForm;</p>
<p>FindIt,path: String;</p>
<p>SearchRec: TSearchRec;</p>
<p>Return: Integer;</p>
<p>begin</p>
<p>SearchForm := TSearchForm.Create(self);</p>
<p>with SearchForm do</p>
<p>begin</p>
<p>SearchFile.text := '';</p>
<p>SearchPath.text := DirectoryOutline.Directory;</p>
<p>if (ShowModal &lt;&gt; idCancel) and</p>
<p>(SearchFile.Text &lt;&gt; '') and (SearchPath.text &lt;&gt; '') then</p>
<p>begin</p>
<p>FindIt := SearchPath.text+'\'+SearchFile.text;</p>
<p>Return := FindFirst(FindIt,faAnyFile,SearchRec);</p>
<p>if Return &lt;&gt; 0 then</p>
<p>FindIt := ''</p>
<p>else</p>
<p>FindIt := ExpandFileName(SearchRec.Name);</p>
<p>end;</p>
<p>if FindIt = '' then</p>
<p>MessageDlg('Cannot find the file in current directory.',</p>
<p>mtWarning, [mbOk], 0)</p>
<p>else</p>
<p>begin</p>
<p>Path := ExtractFilePath(FindIt);</p>
<p>FindIt := ExtractFileName(FindIt);</p>
<p>FileAttrForm := TFileAttrForm.Create(self);</p>
<p>ShowFileAttr(FileAttrForm,FindIt,Path);</p>
<p>end;</p>
<p>end;</p>
<p>end;<font face="宋體" lang="ZH-CN"> </font></p>
<p>6.4.6.2 <font face="宋體" lang="ZH-CN">顯示磁盤信息</p>
<p>  當用戶單擊</font>Disk View<font face="宋體" lang="ZH-CN">菜單項時,將彈出一個</font>TDiskViewForm<font
face="宋體" lang="ZH-CN">類型的對話框,用來顯示當前磁盤的信息</font></p>
<p><font face="宋體" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 磁盤信息的獲取是在</font>DiskViewForm<font
face="宋體" lang="ZH-CN">中</font>DriveEdit<font face="宋體" lang="ZH-CN">編輯框的</font>OnChange<font
face="宋體" lang="ZH-CN">事件處理過程中實現的。 </p>
</font><p>procedure TDiskViewForm.driveEditChange(Sender: TObject);</p>
<p>var</p>
<p>dr: Byte;</p>
<p>Free,Total: LongInt;</p>
<p>begin</p>
<p>Free := DiskFree(0);</p>
<p>Total := DiskSize(0);</p>
<p>FreeSpace.text := IntToStr(Free)+ ' bytes.';</p>
<p>TotalSpace.text := IntToStr(Total) + ' bytes.';</p>
<p>end;</p>
<font face="宋體" lang="ZH-CN"><p>  </font>DiskFree<font face="宋體" lang="ZH-CN">、</font>DiskSize<font
face="宋體" lang="ZH-CN">帶參數為</font>0<font face="宋體" lang="ZH-CN">表示當前驅動器。讀者可以很容易把它改成按用戶輸入顯示磁盤信息的情況。</p>
<p>  </font>DiskViewForm<font face="宋體" lang="ZH-CN">中的三個編輯框設計時都令</font>ReadOnly<font
face="宋體" lang="ZH-CN">為</font>True<font face="宋體" lang="ZH-CN">。 </p>
</font><p>6.4.6.3 <font face="宋體" lang="ZH-CN">改變顯示文件的類型 </p>
<p>  改變顯示文件的類型事實上是設置</font>FileList<font face="宋體"
lang="ZH-CN">的</font>Mask<font face="宋體" lang="ZH-CN">屬性。我們利用一個標準的</font>InputBox<font
face="宋體" lang="ZH-CN">輸入文件的匹配字符串。而后利用</font>Update<font
face="宋體" lang="ZH-CN">方法更新</font>FileList<font face="宋體" lang="ZH-CN">。 </p>
</font><p>procedure TFMForm.Viewtype1Click(Sender: TObject);</p>
<p>var</p>
<p>FileMask: String;</p>
<p>begin</p>
<p>FileMask := InputBox('File type','Input File type For View :',FileList.Mask);</p>
<p>If FileMask = '' then FileMask := '*.*';</p>
<p>FileList.Mask := FileMask;</p>
<p>FileList.Update;</p>
<p>CreateCaption;</p>
<p>end;</p>
<font face="宋體" lang="ZH-CN"><p>  其中的</font>CreateCaption<font face="宋體"
lang="ZH-CN">私有過程將在</font>(6.4.8)<font face="宋體" lang="ZH-CN">中進行介紹。 </p>
</font><p>6.4.7 <font face="宋體" lang="ZH-CN">目錄管理功能的實現 </p>
<p>  在子窗口的</font>Directory<font face="宋體" lang="ZH-CN">菜單中,提供了目錄管理功能:</p>
<p>  ●</font> Create Directory <font face="宋體" lang="ZH-CN">:創建一個子目錄</p>
<p>  ●</font> Delete Directory <font face="宋體" lang="ZH-CN">:刪除一個空的子目錄</p>
<p>  ●</font> Change Directory <font face="宋體" lang="ZH-CN">:改變當前目錄 </p>
</font><p>6.4.7.1 <font face="宋體" lang="ZH-CN">創建目錄 </p>
</font><p><font face="宋體" lang="ZH-CN">  創建目錄時首先彈出一個TNewDir類型的對話框</font></p>
<font face="宋體" lang="ZH-CN"><p>對話框中要求用戶輸入目錄名。如果用戶不輸入路徑,則缺省認定為當前目錄的子目錄: </p>
<p>  </font>Dir := ExpandFileName(DirName.Text)<font face="宋體" lang="ZH-CN">; </p>
<p>  而后調用</font>MkDir<font face="宋體" lang="ZH-CN">函數。在目錄創建過程中關閉了</font>I/O<font
face="宋體" lang="ZH-CN">錯誤檢測,出錯不產生異常而是把</font>IOResult<font
face="宋體" lang="ZH-CN">設置為非零值。通過檢查</font>IOResult<font
face="宋體" lang="ZH-CN">是否為</font>0<font face="宋體" lang="ZH-CN">可以確定創建是否成功。</font></p>
<p><font face="宋體" lang="ZH-CN">程序清單如下: </p>
</font><p>procedure TFMForm.CreateDirectory1Click(Sender: TObject);</p>
<p>var</p>
<p>NewDir: TNewDir;</p>
<p>Dir: String;</p>
<p>begin</p>
<p>{$I-}</p>
<p>NewDir := TNewDir.Create(self);</p>
<p>with NewDir do</p>
<p>begin</p>
<p>CurrentDir.Caption := DirectoryOutline.Directory;</p>
<p>if (ShowModal &lt;&gt; idCancel) and (DirName.Text &lt;&gt; '') then</p>
<p>Dir := ExpandFileName(DirName.text);</p>
<p>end;</p>
<p>MkDir(Dir);</p>
<p>if IOResult &lt;&gt; 0 then</p>
<p>MessageDlg('Cannot Create directory', mtWarning, [mbOk], 0);</p>
<p>end;</p>
<font face="宋體" lang="ZH-CN"><p>  但不幸的是目錄創建后我們卻無法從當前目錄樹中看到。必須移到另一個驅動器而后再返回,創建的目錄才是可見的。在后邊我們將提供一種解決方法。 </p>
</font><p>6.4.7.2 <font face="宋體" lang="ZH-CN">刪除目錄 </p>
<p>  在實現目錄刪除過程中,遠不如創建目錄那么順利。碰到的問題是</font>:</p>
<font face="宋體" lang="ZH-CN"><p>  </font>1.RmDir<font face="宋體" lang="ZH-CN">不允許刪除當前目錄。但為了操作方便,我們要求刪除的恰恰是當前目錄;</p>
<p>  </font>2.<font face="宋體" lang="ZH-CN">目錄刪除后調用</font>Refresh<font
face="宋體" lang="ZH-CN">方法或</font>Update<font face="宋體" lang="ZH-CN">方法并不能使該目錄從屏幕顯示中去除。因而當用戶試圖進入該目錄時會導致系統崩潰。</p>
<p>  對第一個問題,我們的解決辦法是把當前目錄轉換到其父目錄。假如讀者記得目錄也被操作系統作為一種特殊的文件對待的話,那么就不會對下面的語句感到奇怪了: </p>
<p>  </font>path := DirectoryOutline.Directory;</p>
<font face="宋體" lang="ZH-CN"><p>  </font>Directoryoutlin.Directory :=
ExpandFilePath(Path);</p>
<font face="宋體" lang="ZH-CN"><p>  而后調用</font>RmDir<font face="宋體"
lang="ZH-CN">過程: </p>
</font><p>RmDir(Path)<font face="宋體" lang="ZH-CN">;</p>
<p> </p>
<p>  第二個問題的解決卻頗為費神。因為</font>DirectoryOutline<font
face="宋體" lang="ZH-CN">是</font>Delphi<font face="宋體" lang="ZH-CN">提供的示例部件,沒有</font>Help<font
face="宋體" lang="ZH-CN">文件支持。通過試驗發現:只有當</font>DirectoryOutline<font
face="宋體" lang="ZH-CN">的</font>Drive<font face="宋體" lang="ZH-CN">屬性改變時,才重新從相應驅動器讀取目錄。而且它基本上是只讀的,除非清除</font>(
Clear) <font face="宋體" lang="ZH-CN">它,象</font>Add<font face="宋體"
lang="ZH-CN">、</font>Delete<font face="宋體" lang="ZH-CN">這些方法對它都是無效的。</p>
<p>  我曾經考慮過一個笨拙的方法,那就是先改變當前驅動器而后再改回來。但這種方法一方面速度無法忍受,另一方面當只存在一個驅動器可用時會導致系統崩潰。</p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合亚洲深深色噜噜狠狠网站| 久久精品一区八戒影视| 国产成人免费9x9x人网站视频| 午夜a成v人精品| 亚洲午夜一区二区三区| 亚洲成人av一区二区| 日韩高清一区在线| 日韩国产欧美三级| 久久精品国产77777蜜臀| 天天操天天综合网| 美女免费视频一区二区| 麻豆成人在线观看| 经典三级一区二区| 国产精品88888| 91色婷婷久久久久合中文| 99久久精品情趣| 欧美日韩一卡二卡| 日韩精品影音先锋| 国产三级三级三级精品8ⅰ区| 国产视频在线观看一区二区三区| 欧美激情一区在线| 亚洲综合色区另类av| 亚洲不卡在线观看| 国产综合久久久久久鬼色| 成人黄色在线视频| 欧美剧情电影在线观看完整版免费励志电影 | 欧美成人猛片aaaaaaa| 久久综合九色欧美综合狠狠| 欧美激情艳妇裸体舞| 最新中文字幕一区二区三区| 亚洲v日本v欧美v久久精品| 免费在线欧美视频| 成人亚洲一区二区一| 欧美在线|欧美| 精品sm捆绑视频| 一区二区成人在线| 国产一区二区按摩在线观看| 色综合久久88色综合天天免费| 欧美一区二区三区四区在线观看| 精品成人一区二区三区四区| 亚洲主播在线播放| 国产盗摄一区二区| 91精品国产乱| 亚洲免费观看在线视频| 精品一区二区三区在线播放视频| 色综合 综合色| wwww国产精品欧美| 亚洲超丰满肉感bbw| 福利视频网站一区二区三区| 4438成人网| 一区二区高清在线| 97se亚洲国产综合自在线观| 欧美videofree性高清杂交| 亚洲国产精品一区二区久久| 高清久久久久久| 精品国产91洋老外米糕| 亚洲大型综合色站| 97精品国产露脸对白| 精品国产伦一区二区三区免费| 亚洲国产日产av| 在线一区二区视频| 中文字幕一区二区在线播放 | 国产欧美日韩在线视频| 图片区小说区区亚洲影院| av在线播放成人| 国产欧美综合在线观看第十页| 日本aⅴ精品一区二区三区 | 99精品桃花视频在线观看| 精品sm捆绑视频| 精品一区二区在线视频| 91精品福利在线一区二区三区| 亚洲综合色成人| 欧美无砖砖区免费| 亚洲一区电影777| 欧美日本一区二区| 午夜精品一区二区三区电影天堂 | 亚瑟在线精品视频| 欧美日韩国产片| 亚洲电影你懂得| 欧美日韩高清不卡| 日本欧美久久久久免费播放网| 在线观看一区二区视频| 亚洲成人一区二区| 91麻豆精品国产综合久久久久久| 日韩1区2区日韩1区2区| 欧美一级高清片| 九九**精品视频免费播放| 精品美女被调教视频大全网站| 精品一区二区三区蜜桃| 久久―日本道色综合久久 | 亚洲乱码国产乱码精品精小说 | 日韩精品一区在线| 国模娜娜一区二区三区| 国产欧美日韩不卡| 91亚洲精华国产精华精华液| 亚洲精品福利视频网站| 欧美精品久久99| 国产呦精品一区二区三区网站| 国产欧美一区二区三区在线老狼| 成人午夜碰碰视频| 亚洲国产一区二区a毛片| 在线不卡欧美精品一区二区三区| 奇米精品一区二区三区四区| 精品久久久久香蕉网| 不卡一二三区首页| 天涯成人国产亚洲精品一区av| 26uuu精品一区二区在线观看| 成人午夜碰碰视频| 日本大胆欧美人术艺术动态| 中文字幕高清不卡| 欧美日韩国产经典色站一区二区三区 | 久久精品72免费观看| 国产精品理论片| 欧美精品v日韩精品v韩国精品v| 国产综合色精品一区二区三区| 亚洲久草在线视频| 亚洲第一综合色| 久久久久久久久久久久久夜| 欧美综合一区二区三区| 国产成人99久久亚洲综合精品| 亚洲午夜精品网| 国产精品美女久久久久aⅴ| 欧美日韩黄色一区二区| av不卡在线播放| 九九精品视频在线看| 午夜精品福利在线| 亚洲天天做日日做天天谢日日欢| 日韩午夜激情av| 欧美日韩中字一区| 色婷婷综合久久久久中文 | 日韩不卡一区二区| 亚洲免费在线看| 国产三级欧美三级| 久久精品人人做人人爽人人| 欧美一区二区三区四区高清| 色欧美片视频在线观看在线视频| 国产酒店精品激情| 激情国产一区二区| 美女久久久精品| 免费成人在线观看视频| 亚洲成人激情av| 亚洲综合在线视频| 一区二区在线免费| 亚洲欧美日韩在线| 亚洲日本在线视频观看| 国产欧美日韩激情| 亚洲国产精品成人综合| 久久久99精品免费观看| 2欧美一区二区三区在线观看视频| 911精品产国品一二三产区| 欧美三级视频在线观看| 色国产精品一区在线观看| 91在线视频18| 色婷婷综合久久久久中文 | 91精品在线观看入口| 欧美久久一二区| 欧美一区二区日韩| 精品电影一区二区| 国产亚洲精品bt天堂精选| 久久久.com| 国产精品三级电影| 亚洲免费视频中文字幕| 亚洲亚洲人成综合网络| 午夜视频一区在线观看| 日韩国产在线观看一区| 另类小说图片综合网| 韩国av一区二区| 成人app网站| 日本道色综合久久| 制服丝袜激情欧洲亚洲| 日韩视频中午一区| 国产婷婷色一区二区三区四区| 国产精品精品国产色婷婷| 亚洲一区二区三区美女| 久久精品国内一区二区三区| 国产一区二区0| 色妹子一区二区| 欧美一区二区三区人| 国产亚洲美州欧州综合国| 亚洲欧美国产77777| 午夜精品久久久久| 懂色一区二区三区免费观看| 91黄色免费观看| 日韩一区二区三区在线观看| 日本一区二区三区在线观看| 亚洲一区二区三区精品在线| 美女mm1313爽爽久久久蜜臀| 成人午夜电影小说| 欧美日本视频在线| 国产女人aaa级久久久级| 亚洲综合视频网| 国产精品 日产精品 欧美精品| 在线观看亚洲精品| 久久久久高清精品| 天天综合网 天天综合色| 成人av在线资源网站| 欧美一级爆毛片| 亚洲国产欧美日韩另类综合 | 精品一区二区日韩| 91啦中文在线观看|