Ao escrever você mesmo uma função de leitura de arquivo de texto, o primeiro problema que você encontrará é: para um determinado nome de arquivo, como saber se o arquivo de disco que ele representa é de fato um arquivo de texto? Aqui está um método muito simples: trate o arquivo fornecido como um arquivo binário não digitado e, em seguida, leia cada byte do arquivo sequencialmente. Se houver um byte no arquivo com valor igual a 0, então este O arquivo não é um texto. arquivo; pelo contrário, se nenhum byte no arquivo tiver valor 0, pode-se determinar que o arquivo é um arquivo de texto. Este é o princípio. Vamos dar uma olhada em como programar em Delphi para implementá-lo -
Copie o código do código da seguinte forma:
functionIsTextFile(NomeDoArquivo:string):boolean;
var
Fs:TFileStream;
eu,tamanho:inteiro;
IsTextFile:booleano;
ByteData:Byte;
começar
ifFileExists(NomeDoArquivo)então
começar
Fs:=TFileStream.Create(NomeArquivo,fmOpenRead);
IsTextFile:=true;
eu:=0;
tamanho:=Fs.Tamanho;
Enquanto(i<tamanho)eIsTextFiledo
começar
Fs.Leitura(ByteData,1);
IsTextFile:=ByteData<>0;
inc(eu)
fim;
Fs.Grátis;
Resultado:=IsTextFile
fim
outro
Resultado:=falso
fim;