this slowpoke moves

Check File is ASCii or Binary

function IsTextFile(const sFile: TFileName): boolean;
var
 oIn: TFileStream;
 iRead: Integer;
 iMaxRead: Integer;
 iData: Byte;
 dummy:string;
begin
 result:=true;
 dummy :='';
 oIn := TFileStream.Create(sFile, fmOpenRead or fmShareDenyNone);
 try
   // Hier werden die ersten 1000 bytes geprüft, kann erweitert werden
   iMaxRead := 1000;
   if iMaxRead > oIn.Size then
     iMaxRead := oIn.Size;
   for iRead := 1 to iMaxRead do
   begin
     oIn.Read(iData, 1);
     if (idata) > 127 then result:=false;
   end;
 finally
   FreeAndNil(oIn);
 end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
  if IsTextFile(OpenDialog1.FileName) then
  showmessage('File is ASCii !')
  else showmessage('File is Binary!')
  end;
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate