程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 第六章-文件管理(一)(2)

第六章-文件管理(一)(2)

編輯:Delphi

6.1.4.2 文件定位 

Seek :把文件當前位置移到指定部分

FilePos : 返回文件的當前位置

Eoln : 返回行結束標志

EOF : 返回文件結束標志

FileSeek : 改變當前文件指針的位置

Seek與FileSeek的區別是:1. Seek僅用於記錄文件;2. FileSeek的參數是文件句柄、偏移量、起始位置。其中起始位置有文件首、當前位置、文件尾三種選擇。Seek的參數是文件變量、偏移量,偏移量是從文件首開始定位的。3. FileSeek的偏移量以字節數來計算,而Seek是根據記錄號進行移動。

Seek、FilePos僅用於記錄文件。但任何文件都可以看作是基於字節的記錄文件。下面一段程序表示了它們的用法。

{ 該例子的設計界面為一個包含TOpenDialog部件的窗體。} 

uses Dialogs;

var

f: file of Byte;

size: Longint;

S: String;

y: Integer;

begin

if OpenDialog1.Execute then

begin

AssignFile(f, OpenDialog1.FileName);

Reset(f);

size := FileSize(f);

S := 'File size in bytes: ' + IntToStr(size);

y := 10;

Canvas.TextOut(5, y, S);

y := y + Canvas.TextHeight(S) + 5;

S := 'Seeking halfway into file...';

Canvas.TextOut(5, y, S);

y := y + Canvas.TextHeight(S) + 5;

Seek(f,size div 2);

S := 'Position is now ' + IntToStr(FilePos(f));

Canvas.TextOut(5, y, S);

CloseFile(f);

end;

end. 

6.1.4.3 文件刪除與截斷 

Erase : 刪除一個存在的文件

DeleteFile : 刪除一個文件

Truncate :從文件當前位置將文件截斷 

Erase與DeleteFile的區別是:Erase以文件變量為參數,當文件不能刪除時引起一個異常;DeleteFile以文件名為參數,當文件不存在或不能刪除時返回False,而並不引起一個異常。 

6.1.4.4 文件名操作 

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

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

ChangeFileExt :改變文件擴展名

ExpandFileName :返回文件全路徑名

ExtractFileExt :返回文件擴展名

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

ExtractFilePath :返回特定文件的路徑 

6.1.4.5 文件屬性 

FileGetAttr :返回文件屬性

FileSetAttr :設置文件屬性 

6.1.4.6 文件狀態 

FileSize :返回文件對象大小

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

FileExists :檢測文件是否存在 

6.1.4.7 文件日期 

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

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

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

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

6.1.4.8 文件讀寫 

Read,Readln :從文本或記錄文件中讀取變量

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

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

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

FileWrite :向指定文件寫入數據 

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

6.1.4.9 目錄操作 

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

ChDir :改變當前目錄

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

RmDir :刪除一個空子目錄 

6.1.4.10 磁盤操作 

DiskFree :返回磁盤自由空間

DiskSize :返回特定磁盤的大小 

6.1.4.11 文件查找

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。在(6.4.4.2)中我們就用到了Windows API函數GetDriveType。有關Windows API函數的情況,請讀者參閱相關的資料,這裡不再進行介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved