首页  编辑  

检测文件是否是ASCII文件

Tags: /超级猛料/Stream.File.流、文件和目录/文件操作/   Date Created:

check if a file has an ASCII format?

function isAscii(NomeFile: string): Boolean;

const

 SETT = 2048;

var

 i: Integer;

 F: file;

 a: Boolean;

 TotSize, IncSize, ReadSize: Integer;

 c: array[0..Sett] of Byte;

begin

 if FileExists(NomeFile) then

 begin

   {$I-}

   AssignFile(F, NomeFile);

   Reset(F, 1);

   TotSize := FileSize(F);

   IncSize := 0;

   a       := True;

   while (IncSize < TotSize) and (a = True) do

   begin

     ReadSize := SETT;

     if IncSize + ReadSize > TotSize then ReadSize := TotSize - IncSize;

     IncSize := IncSize + ReadSize;

     BlockRead(F, c, ReadSize);

     // Iterate

     for i := 0 to ReadSize - 1 do

       if (c[i] < 32) and (not (c[i] in [9, 10, 13, 26])) then a := False;

   end; { while }

   CloseFile(F);

   {$I+}

   if IOResult <> 0 then Result := False

   else  

     Result := a;

 end;

end;