SCC : Suthida Chaichomchuen std@kmitnb.ac.th Text File แฟ้มข้อความ SCC : Suthida Chaichomchuen std@kmitnb.ac.th
ความหมาย แฟ้มข้อความ คือ แฟ้มที่ประกอบด้วยกลุ่มอักขระแอสกี ซึ่งเป็นได้ทั้ง ตัวเลข ตัวอักษร หรืออักขระพิเศษอื่น ๆ และถูกนำมาเก็บเรียงทีละอักขระยาวติดต่อกันไป กลายเป็นกลุ่มของข้อมูลที่มีความหมายและมีความสัมพันธ์เกี่ยวเนื่องกัน
การสร้างแฟ้มข้อความ มีวัตถุประสงค์เพื่อใช้เป็นแฟ้มนำข้า (Input File) และแฟ้มเก็บผลลัพธ์ (Output File) สามารถสร้างใน Editor ทั่วไป แต่จะใช้นามสกุลอื่น ๆ ซึ่งไม่ใช่ .PAS
การเรียกใช้แฟ้มข้อความที่สร้างแล้ว มีขั้นตอนดังนี้ 1. ประกาศแฟ้มข้อความ 2. สั่งเปิดแฟ้มนำเข้า 3. อ่านข้อมูลจากแฟ้ม 4. ปิดแฟ้มนำเข้า
1. การประกาศแฟ้มข้อความ เพื่อให้เครื่องทราบว่าภายในโปรแกรมจะต้องเรียกใช้งานแฟ้มข้อความใดบ้าง การประกาศจะต้องใช้ชนิดของตัวแปรแฟ้มข้อความเป็น Text มีรูปแบบดังนี้ VAR ชื่อตัวแปร : Text; ตัวอย่าง การประกาศตัวแปร EmployeeFile เป็นชนิดแฟ้มข้อความ ทำได้ดังนี้ VAR EmployeeFile : Text;
1. การประกาศแฟ้มข้อความ เพื่อความชัดเจน ต้องประกาศชื่อแฟ้มข้อความทั้งหมดที่ใช้ในโปรแกรม กำกับไว้ที่ส่วนหัวของโปรแกรมด้วย ดังนี้ PROGRAM Wages(input, EmployeeFile, output);
2. การสั่งเปิดแฟ้มนำเข้า การจะสั่งให้เครื่องอ่านข้อมูลในแฟ้มข้อความได้ จำต้องสั่งให้เครื่องเปิดแฟ้มที่จะอ่านก่อนเสมอ คำสั่งในการเปิดแฟ้มมี 2 คำสั่งคือ assign : ใช้เพื่อกำหนดชื่อของตัวแปรแฟ้มให้ตรงกับแฟ้มที่ต้องการเปิด reset : สั่งให้ตัวชี้แฟ้ม ชี้ไปยังตำแหน่งเริ่มต้นของแฟ้มข้อความ
2. การสั่งเปิดแฟ้มนำเข้า : Assign รูปแบบคำสั่ง assign(ชื่อตัวแปรแฟ้ม, ‘ชื่อแฟ้มข้อความ’); เช่น ต้องการให้ตัวแปร EmployeeFile แทนแฟ้มข้อความชื่อ Salary.DAT ทำได้ดังนี้ assign(EmployeeFile, ‘C:\Salary.DAT’);
2. การสั่งเปิดแฟ้มนำเข้า : Reset รูปแบบคำสั่ง reset(ชื่อตัวแปรแฟ้ม); เช่น ต้องการให้ตัวชี้แฟ้มชี้ไปยังตำแหน่งเริ่มต้นของแฟ้ม Salary.DAT ซึ่งแทนด้วยตัวแปร EmployeeFile reset(EmployeeFile);
3. การอ่านข้อมูลจากแฟ้ม ใช้คำสั่ง Read และ ReadLn ในการอ่านข้อมูล แต่มีรูปแบบดังนี้ Read(ชื่อตัวแปรแฟ้ม, ตัวแปร); ReadLn(ชื่อตัวแปรแฟ้ม, ตัวแปร);
3. การอ่านข้อมูลจากแฟ้ม เช่น หากประกาศตัวแปร VAR ID, hour : integer; EmployeeFile : text; การอ่านข้อมูลจากแฟ้มทำได้โดย ReadLn(EmployeeFile, ID); ReadLn(EmployeeFile, hour);
4. การสั่งปิดแฟ้มนำเข้า เมื่อไม่ต้องการใช้แฟ้มข้อความนั้นแล้วต้องสั่งปิดแฟ้มทุกครั้งเพื่อความปลอดภัยของข้อมูล มีรูปแบบดังนี้ Close(ชื่อตัวแปรแฟ้ม); เช่น ต้องการปิดการใช้แฟ้ม Salary.DAT ทำได้ดังนี้ Close(EmployeeFile);
สรุปการใช้คำสั่งเพื่อเรียกใช้แฟ้มข้อความ PROGRAM Wages(input, EmployeeFile, output); VAR EmployeeFile : Text; ID, hour : integer; BEGIN assign(EmployeeFile, ‘C:\Salary.DAT’); reset(EmployeeFile); . . . readLn(EmployeeFile, ID); readLn(EmployeeFile, hour); . . . close(EmployeeFile); END.
การพิมพ์ผลลัพธ์ใส่แฟ้มข้อความ มีขั้นตอนดังนี้ 1. ประกาศแฟ้มข้อความ 2. สั่งเปิดแฟ้มที่ใช้สำหรับเก็บผลลัพธ์ 3. พิมพ์ผลลัพธ์ใส่แฟ้ม 4. ปิดแฟ้ม
1. การประกาศแฟ้มข้อความ ทำเช่นเดียวกับขั้นตอนการเรียกดูข้อมูลในแฟ้ม คือ ประกาศชื่อแฟ้มข้อความทั้งหมดที่ใช้กำกับไว้ที่ส่วนหัวของโปรแกรมหลังข้อความ output ดังนี้ PROGRAM Wages(input, output, OutFile);
2. การสั่งเปิดแฟ้มที่ใช้สำหรับเก็บผลลัพธ์ คำสั่งในการเปิดแฟ้มมี 3 คำสั่งคือ assign : ใช้เพื่อกำหนดชื่อของตัวแปรแฟ้มให้ตรงกับแฟ้มที่ต้องการเก็บผลลัพธ์ rewrite : สั่งให้ล้างข้อมูลทั้งหมดที่มีอยู่ในแฟ้ม เสมือนทำให้เป็นแฟ้มเปล่า append : สั่งให้ตัวชี้แฟ้มไปอยู่ที่ท้ายแฟ้มเสมือนเป็นการเขียนข้อมูลเพิ่มลงไปในแฟ้มนั้น
2. การสั่งเปิดแฟ้ม : Assign รูปแบบคำสั่ง assign(ชื่อตัวแปรแฟ้ม, ‘ชื่อแฟ้มข้อความ’); เช่น ต้องการให้ตัวแปร OutFile แทนแฟ้มข้อความชื่อ Salary.DAT ทำได้ดังนี้ assign(OutFile, ‘C:\Salary.DAT’);
2. การสั่งเปิดแฟ้ม : Rewrite รูปแบบคำสั่ง rewrite(ชื่อตัวแปรแฟ้ม); เช่น ต้องการให้ตัวชี้แฟ้มชี้ไปยังตำแหน่งเริ่มต้นของแฟ้ม Salary.DAT ซึ่งแทนด้วยตัวแปร OutFile reset(OutFile);
2. การสั่งเปิดแฟ้ม : Append รูปแบบคำสั่ง append(ชื่อตัวแปรแฟ้ม); เช่น ต้องการให้ตัวชี้แฟ้มชี้ไปยังตำแหน่งสุดท้ายของแฟ้ม Salary.DAT ซึ่งแทนด้วยตัวแปร OutFile append(OutFile);
3. การพิมพ์ผลลัพธ์ใส่แฟ้ม ใช้คำสั่ง Write และ WriteLn ในการพิมพ์ผลลัพธ์ใส่แฟ้ม แต่มีรูปแบบดังนี้ Write(ชื่อตัวแปรแฟ้ม, ตัวแปร); WriteLn(ชื่อตัวแปรแฟ้ม, ตัวแปร);
3. การพิมพ์ผลลัพธ์ใส่แฟ้ม เช่น หากประกาศตัวแปร VAR ID, hour : integer; OutFile : text; การพิมพ์ข้อมูลใส่แฟ้มทำได้โดย WriteLn(OutFile, ID); WriteLn(OutFile, hour); หากต้องการขึ้นบรรทัดใหม่ทำได้โดย WriteLn(OutFile);
4. การสั่งปิดแฟ้ม เมื่อไม่ต้องการใช้แฟ้มข้อความนั้นแล้วต้องสั่งปิดแฟ้มทุกครั้งเพื่อความปลอดภัยของข้อมูล มีรูปแบบดังนี้ Close(ชื่อตัวแปรแฟ้ม); เช่น ต้องการปิดการใช้แฟ้ม Salary.DAT ทำได้ดังนี้ Close(OutFile);