熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:文件管理(一)[2]

2013-11-23 17:51:56  來源: Delphi編程 

   文件名操作

  Rename :文件更名以文件變量為操作對象

  RenameFile :文件更名參數為文件的原名和新名

  ChangeFileExt :改變文件擴展名

  ExpandFileName :返回文件全路徑名

  ExtractFileExt :返回文件擴展名

  ExtractFileName :從全路徑名中返回文件名

  ExtractFilePath :返回特定文件的路徑

   文件屬性

  FileGetAttr :返回文件屬性

  FileSetAttr :設置文件屬性

   文件狀態

  FileSize :返回文件對象大小

  IOResult :返回上一次I/O操作的狀態

  FileExists :檢測文件是否存在

   文件日期

  DateTimeToFileDate :把Delphi日期格式轉換為DOS日期格式

  FileDateToDateTime :把DOS日期格式轉換為Delphi日期格式

  FileGetDate :返回文件的DOS日期時間戳

  FileSetDate :設置文件的DOS日期時間戳

   文件讀寫

  ReadReadln :從文本或記錄文件中讀取變量

  Write :將指定變量寫入文本或記錄文件

  Writeln :將指定變量寫入文本文件並寫入一個行結束標志

  FileRead :從一個指定文件中讀取變量

  FileWrite :向指定文件寫入數據

  FileRead和FileWrite都是以文件句柄為操作對象主要供系統內部使用

   目錄操作

  MkDir :創建當前目錄的子目錄

  ChDir :改變當前目錄

  GetDir :返回特定磁盤的當前目錄

  RmDir :刪除一個空子目錄

   磁盤操作

  DiskFree :返回磁盤自由空間

  DiskSize :返回特定磁盤的大小

   文件查找

  FileSearch :查找目錄中是否存在某一特定文件

  FindFirst :在目錄中查找與給定文件名(可以包含匹配符)及屬性集相匹配的第一個文件

  FindNext :返回符合條件的下一個文件

  FindClose :中止一個FindFirst / FindNext序列

  有關文件管理標准過程/函數的更詳細資料請查閱Delphi相關的Help主題以上的大部分過程在後面都有應用實例讀者可以從中體會其用法

  在Delphi的聯機幫助Help系統中把有關文件的過程/函數分為兩個主題I/O Routine和File_Management Routine前者大部分以文件變量為操作對象而後者大部分以文件名或文件句柄為操作對象這裡為了方便讀者的使用我們按功能重新進行了分類在下一節中主要應用I/O Routine主題下的過程而在第四節的綜合舉例中主要應用File_Management Routine主題下的過程

  另外Windows提供了許多有關文件管理的API函數雖然在一般情況下利用Delphi提供的函數已足夠解決問題但有時候仍然需要使用Windows API在()中我們就用到了Windows API函數GetDriveType有關Windows API函數的情況請讀者參閱相關的資料這裡不再進行介紹

   記錄文件的應用

   任務介紹

  在這一節我們開發一個系統安全性綜合評估方法管理系統系統安全性在復雜項目開發中十分重要但由於牽涉面廣因而很難獲得客觀全面的評估值鑒於此我們提出多角度多側面評估而後定量集成的思路並在此基礎上提出了多種安全性綜合評估方法每種方法由不同部門進行評估而後把結果匯總綜合

  為此我們定義如下的記錄類型

  type

  TNature = (MicroMacro)

  {方法性質分為微觀和宏觀兩類}

  TMethod = Record

  Name: string[]; {方法名}

  Condition: string[]; {方法適用條件}

  Nature: TNature; {方法性質}

  Result: Real; {方法評估值}

  end;

  用來記錄不同方法的信息

  由於不同方法的條件性質不同因而對工程開發的不同階段適用方法集也不同因此需要根據實際情況對方法集進行管理我們把每一方法作為一條記錄每一方法集作為一個記錄文件下面討論系統的實現方法

   設計基本思路

  本系統要實現的基本功能是文件的打開創建關閉顯示記錄的增加修改刪除以及結果的綜合和顯示為此我們使用了兩組按鈕分別用於文件和記錄的操作 使用一個StringGrid控件來顯示文件內容使用一個只讀編輯框顯示結果的綜合

  其中各部件的名稱功能如下表所示

  表 主窗口部件的設計

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  部件名稱               主要屬性                              備注

  ──────────────────────────────────────

  RecFileForm BorderStyle=bsDialog     文件打開後把文件名附到窗口標題後

    Position=poScreenCenter

  StringGrid   大小行數動態確定

  HazAttr(編輯框) ReadOnly=True      顯示綜合結果

  OpenButton     TabOrder=              打開一個記錄文件若文件不存在則創建

  NewButton        Caption=打開          創建一個記錄文件若文件存在則打開

  CloseButton      Caption=關閉          關閉一個已打開的文件

  AddButton         Caption=增加          增加一條記錄

  ModifyButton     Caption=修改          修改一條記錄

  DeleteButton     Caption=刪除          刪除一條記錄

  CalcuButton       Caption=計算         計算最終結果並顯示

  ExitButton           Caption=退出 系統終止若當前有打開的文件則先關閉

  OpenDialog Filter= 選擇或輸入欲打開的文件

  Record File(*Rec)|Rec

  |Any File(**)|**

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  另外StringGridHazAttr的標題用兩個標簽框(Label)來顯示

  另外我們還需要一個編輯對話框其中四個編輯框NameConditionNature Result分別對應TMethod記錄的四個域

  為協調程序運行我們定義了一組全局變量各變量的類型作用如下表

   全局變量及其作用

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  變量名 類型 作用

  ─────────────────────────────────

  MethodFile MethodFileType 與當前打開文件相關聯的文件變量

  FileName string[] 當前打開文件的文件名

  Count Count 當前打開文件的記錄總數

  CurrentRec Integer 當前處理記錄號

  FileOpened Boolean 當前是否有文件打開

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  記錄文件類型MethodFileType的定義為

  type

  MethodFileType = file of TMethod;

  布爾變量FileOpened用於控制文件按鈕的使能變灰記錄按鈕的反應以及系統結束時是否需要首先關閉文件

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25241.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.