Wenn Sie selbst eine Textdatei-Lesefunktion schreiben, werden Sie zunächst auf das Problem stoßen: Woher wissen Sie bei einem bestimmten Dateinamen, dass es sich bei der Datenträgerdatei, die er darstellt, tatsächlich um eine Textdatei handelt? Hier ist eine sehr einfache Methode: Behandeln Sie die angegebene Datei als untypisierte Binärdatei und lesen Sie dann nacheinander jedes Byte der Datei. Wenn in der Datei ein Byte mit einem Wert gleich 0 vorhanden ist, handelt es sich bei dieser Datei nicht um einen Text Wenn dagegen kein Byte in der Datei den Wert 0 hat, kann festgestellt werden, dass es sich bei der Datei um eine Textdatei handelt. Dies ist das Prinzip. Schauen wir uns an, wie man es in Delphi programmiert.
Kopieren Sie den Codecode wie folgt:
functionIsTextFile(FileName:string):boolean;
var
Fs:TFileStream;
i,size:integer;
IsTextFile:boolean;
ByteData:Byte;
beginnen
ifFileExists(FileName)then
beginnen
Fs:=TFileStream.Create(FileName,fmOpenRead);
IsTextFile:=true;
i:=0;
size:=Fs.Size;
While(i<size)andIsTextFiledo
beginnen
Fs.Read(ByteData,1);
IsTextFile:=ByteData<>0;
inc(i)
Ende;
Fs.Free;
Ergebnis:=IsTextFile
Ende
anders
Ergebnis:=false
Ende;