เมื่อเขียนฟังก์ชันการอ่านไฟล์ข้อความด้วยตัวเอง ปัญหาแรกที่คุณจะพบคือ: สำหรับชื่อไฟล์ที่กำหนด คุณจะรู้ได้อย่างไรว่าไฟล์ในดิสก์ที่แสดงนั้นเป็นไฟล์ข้อความจริง ๆ นี่เป็นวิธีการง่ายๆ: ถือว่าไฟล์ที่กำหนดเป็นไฟล์ไบนารี่ที่ไม่ได้พิมพ์ จากนั้นอ่านแต่ละไบต์ของไฟล์ตามลำดับ หากมีไบต์ในไฟล์ที่มีค่าเท่ากับ 0 แสดงว่าไฟล์นี้ไม่ใช่ข้อความ ในทางกลับกันหากไม่มีไบต์ในไฟล์มีค่าเป็น 0 ก็สามารถระบุได้ว่าไฟล์นั้นเป็นไฟล์ข้อความ นี่คือหลักการ มาดูวิธีการเขียนโปรแกรมใน Delphi เพื่อนำไปใช้กันดีกว่า -
คัดลอกรหัสรหัสดังต่อไปนี้:
functionIsTextFile(ชื่อไฟล์:สตริง):บูลีน;
var
Fs: TFileStream;
ฉัน, ขนาด: จำนวนเต็ม;
IsTextFile:บูลีน;
ไบต์ข้อมูล: ไบต์;
เริ่ม
ifFileExists(ชื่อไฟล์)แล้ว
เริ่ม
Fs:=TFileStream.Create(ชื่อไฟล์,fmOpenRead);
IsTextFile:=true;
ฉัน:=0;
ขนาด:=Fs.Size;
ในขณะที่(i<ขนาด)และIsTextFiledo
เริ่ม
Fs.อ่าน(ByteData,1);
IsTextFile:=ByteData<>0;
อิงค์(ฉัน)
จบ;
Fs.ฟรี;
ผลลัพธ์:=IsTextFile
จบ
อื่น
ผลลัพธ์:=เท็จ
จบ;