Delphi7文件操作常用函數二

1.ForceDirectories、GetCurrentDir、GetDir、SetCurrentDir

ForceDirectories

function ForceDirectories(Dir: string): Boolean;:在指定的目錄中創建一個目錄。其中參數Dir爲創建目錄的全名,必須包括上級目錄。如創建成功則返回true;否則返回false。

procedure TForm1.Button1Click(Sender: TObject);
var
  Dir: string;
begin
  Dir := 'C:\APPS\SALES\LOCAL';
  if ForceDirectories(Dir) then
    Label1.Caption := Dir + ' was created'
end;

GetCurrentDir

function GetCurrentDir: string;:返回當前程序運行目錄的名稱。

GetDir

procedure GetDir(D: Byte; var S: string);:獲取當前目錄。其中,D表示指定獲取目錄的磁盤驅動器。(0表示當前磁盤;)S表示獲取的路徑的名稱字符串存放變量。

RemoveDir

function RemoveDir(const Dir: string): Boolean;:可以刪除一個現有的空目錄

SetCurrentDir

function SetCurrentDir(const Dir: string): Boolean;:改變當前目錄。

 

2.AssignPrn

procedure AssignPrn(var F: Text);:將一個文本文件變量賦給一個打印機對象。該函數經常在打印文本時使用。

procedure TForm1.Button1Click(Sender: TObject);

var
  MyFile: TextFile;
begin
  AssignPrn(MyFile);
  Rewrite(MyFile);  //在關聯打印機後,須調用ReWrite過程重新創建並打開文件
  Writeln(MyFile, 'Print this text');
  System.CloseFile(MyFile);
end;

 

3. Flush、Read、SeekEor、write、Append、Eof、Reset、ReWrite

Flush

function Flush(var t: Text): Integer;:清空以輸出方式打開的文本緩衝區,保證所有寫入文件的字符全部寫入外部文件。如執行成功,返回0;否則返回錯誤代碼。常用語Write、WriteLn等對文本文件的寫入操作。

Read

Typed files:

procedure Read(F , V1 [, V2,...,Vn ] );

Text files:

procedure Read( [ var F: Text; ] V1 [, V2,...,Vn ] );:用於從一個文件中讀取數據。其中F是一個文件變量(如果參數F是一個有類型文件,讀取一組數據到一個變量中;如果F是一個文本文件變量,則讀取一個或多個值到一個或多個變量),V1...Vn表示存儲從文件中讀取的數據。

ReadLn

procedure ReadLn([ var F: Text; ] V1 [, V2, ...,Vn ]);:從文件中讀取一行文本。

SeekEof

function SeekEof [ (var F: Text) ]: Boolean;:確定文件末尾的狀態,忽略空白。如文件指針移動到文件的末尾,返回true;否則返回false。

SeekEofLn

function SeekEoln [ (var F: Text) ]: Boolean;:確定文件行尾的狀態,忽略空白。如當前文件指針與行尾之間有空格,返回true;否則返回False。

Write(文本文件寫入)

procedure Write( [var F: Text; ] P1 [ , P2,..., Pn] );:用於向一個文本文件寫入數據。

WriteLn

procedure WriteLn([ var F: Text; ] P1 [, P2, ...,Pn ] );:用於向文本文件中寫入數據,並添加行尾標記。

Append

procedure Append(var F: Text);:向現有文件的末尾增加記錄。其中F表示已經關聯的文件變量。

Reset

procedure Reset(var F [: File; RecSize: Word ] );:打開一個已存在的文件。

ReWrite

procedure Rewrite(var F: File [; Recsize: Word ] );:用於創建一個新文件並且打開它。

Eof

Typed or untyped files:

function Eof(var F): Boolean;

Text files:

function Eof [ (var F: Text) ]: Boolean;

檢測文件當前位置是否在文件尾。

例1:複製一個文件的內容到另一個文件。

var

  F1, F2: TextFile;
  Ch: Char;
begin
  if OpenDialog1.Execute then begin
    AssignFile(F1, OpenDialog1.Filename);  //關聯文件變量和外部文件
    Reset(F1);  //打開已存在的文件
    if SaveDialog1.Execute then begin
      AssignFile(F2, SaveDialog1.Filename);
      Rewrite(F2);   //重新創建並打開文件
      while not Eof(F1) do  //檢測文件當前位置是否在文件尾
      begin
        Read(F1, Ch);
        Write(F2, Ch);
      end;
      CloseFile(F2);
    end;
    CloseFile(F1);
  end;
end;

 

4. Seek

procedure Seek(var F; N: Longint);:移動文件當前指針到指定位置。其中F爲當前已關聯的文件變量,N爲偏移量。
 

5. Truncate

procedure Truncate(var F);:清除打開文件中當前指針之前的所有數據。其中F爲指定處理的文件變量。

 

6. ProcessPath

procedure ProcessPath (const EditText: string; var Drive: Char; var DirPart: string; var FilePart: string);:將某文件名分解爲驅動器、路徑和文件名等。其中,Drive表示驅動器,DirPart表示路徑,FilePart表示文件名。

 

7. Eof

Typed or untyped files:

function Eof(var F): Boolean;

Text files:

function Eof [ (var F: Text) ]: Boolean;

用來檢測文件當前位置是否在文件尾。其中F表示已經關聯並且打開的文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章