скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



Оформил: DeeCo

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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook