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表示已经关联并且打开的文件。

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