Saat menulis sendiri fungsi membaca file teks, masalah pertama yang akan Anda temui adalah: untuk nama file tertentu, bagaimana Anda tahu bahwa file disk yang diwakilinya memang file teks? Berikut ini metode yang sangat sederhana: perlakukan file yang diberikan sebagai file biner yang belum diketik, lalu baca setiap byte file secara berurutan. Jika ada byte dalam file dengan nilai sama dengan 0, maka file tersebut bukan teks file; sebaliknya, jika tidak ada byte dalam file yang bernilai 0, maka dapat ditentukan bahwa file tersebut adalah file teks. Inilah prinsipnya. Mari kita lihat bagaimana memprogram di Delphi untuk mengimplementasikannya -
Copy kode kodenya sebagai berikut:
functionIsTextFile(NamaFile:string):boolean;
var
Fs:TFileStream;
saya,ukuran:integer;
IsTextFile:boolean;
ByteData:Byte;
mulai
ifFileExists(Nama File)lalu
mulai
Fs:=TFileStream.Create(NamaFile,fmOpenRead);
IsTextFile:=benar;
saya:=0;
ukuran:=Fs.Ukuran;
While(i<ukuran)danIsTextFiledo
mulai
Fs.Baca(ByteData,1);
IsTextFile:=ByteData<>0;
termasuk(i)
akhir;
Fs.Gratis;
Hasil:=IsTextFile
akhir
kalau tidak
Hasil:=salah
akhir;