首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 文件管理標準過程函數完整分類指南(二):定位、刪除、屬性、目錄、磁盤與查找操作

     編輯:Delphi

6.1.4 Delphi 文件管理標準過程/函數分類詳解(續)

6.1.4.2 文件定位操作

函數/過程功能適用範圍/備註
Seek移動文件當前位置到指定記錄號僅限記錄文件;參數:文件變量、記錄號(從0開始)
FilePos返回文件當前記錄號僅限記錄文件
Eof返回文件結束標誌文本/記錄文件
Eoln返回行結束標誌僅限文本文件
FileSeek改變文件指針位置(字節級)所有文件;參數:句柄、偏移量、起始位置(文件首/當前/文件尾)

Seek vs FileSeek 關鍵差異:

  1. Seek 僅用於記錄文件,FileSeek 適用所有文件
  2. FileSeek 參數為句柄,支持三種起始位置;Seek 參數為文件變量,僅從文件首定位
  3. FileSeek 偏移量以字節計,Seek 按記錄號移動

任何文件均可視為基於字節的記錄文件。示例:打開文件,獲取大小,定位至中點,顯示當前位置。

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刪除文件參數為文件名,失敗返回 False 不引發異常
Truncate從當前位置截斷文件常用於刪除記錄後截斷尾部空間

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 文件讀寫

6.1.4.9 目錄操作

  • MkDir:創建子目錄
  • ChDir:改變當前目錄
  • GetDir:獲取指定磁盤當前目錄
  • RmDir:刪除空子目錄

6.1.4.10 磁盤操作

  • DiskFree:獲取磁盤可用空間
  • DiskSize:獲取磁盤總大小

6.1.4.11 文件查找

  • FileSearch:查找目錄中特定文件
  • FindFirst:查找匹配文件名/屬性的第一個文件(支持通配符)
  • FindNext:獲取下一個匹配文件
  • FindClose:終止 FindFirst/FindNext 序列

幫助系統分類與 Windows API 補充

Delphi 聯機幫助將文件過程分為 I/O Routine(文件變量為操作對象)和 File_Management Routine(文件名/句柄為操作對象)兩大主題。本節多屬前者,6.4 節綜合例多用後者。Windows API 提供更底層文件管理函數(如 6.4.4.2 用到的 GetDriveType),一般情況 Delphi 函數已足夠,特殊需求可查閱 API 文檔。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
過程/函數功能適用對象
Read / Readln從文本/記錄文件讀取變量文件變量
Write / Writeln寫入變量到文本/記錄文件文件變量
FileRead從指定文件讀取(句柄)系統內部/文件複製
FileWrite向指定文件寫入(句柄)系統內部/文件複製