Как определить, имеет ли файл ASCII-формат

Как определить, имеет ли файл ASCII-формат

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;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
  if OpenDialog1.Execute then
  if isAscii(OpenDialog1.FileName) then
  ShowMessage('ASCII File');
 end;

Автор: http://www.swissdelphicenter.ch

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...