9.2
การจัดการแฟ้ม
9.2.1
การใช้คำสั่ง
Dir
อ่านรายชื่อแฟ้ม
ชุดคำสั่ง
Dir
ในภาษา
OpenOffice/ LibreOffice Basic
จะทำหน้าที่ในการแสดงรายชื่อแฟ้มและไดเรคเทอรีทั้งหมดภายในไดเรคเทอรีหรือพาท
(Path)
ที่กำหนด
โดยมีรูปแบบชุดคำสั่งดังนี้
รูปแบบชุดคำสั่ง
:
Dir
[(DirName As String) [, AttribFiles As Integer]]
|
โดยที่
DirName หมายถึง
ไดรฟ์หรือไดเรคเทอรีที่ต้องการอ่านรายชื่อแฟ้ม
AttribFiles หมายถึง
คุณสมบัติ (Attribute)
ของแฟ้มที่ต้องการ
คุณสมบัติประจำแฟ้มเป็นค่าบิตในชุดค่าตัวเลขแบบ
Integer
ซึ่งมีรายละเอียดบางส่วนดังตารางที่
9-02
ตาราง9-01
: รายการคุณสมบัติประจำแฟ้ม
(บางส่วน)
ค่าแอตทริบิวแฟ้ม
|
รายละเอียด
|
0
|
แฟ้มทั่วไป |
1
|
แฟ้มแบบอ่านได้อย่างเดียว (Read only file) |
2
|
แฟ้มแบบซ่อน (Hidden file) |
4
|
แฟ้มของระบบ (System file) |
8
|
ชื่อแฟ้ม |
16
|
ชื่อไดเรคเทอรี |
32
|
Archive bit (แฟ้มที่มีการเปลี่ยนแปลงหลังมีการแบ็คอัพครั้งหลังสุด) |
ตัวอย่างที่
9-03
: การอ่านรายการชื่อแฟ้มและไดเรคเทอรีด้วยคำสั่ง
Dir()
SUB
subExample09_03
Dim
sNextFile As String
Dim
sAllFiles As String
sAllFiles
= ""
sNextFile
= Dir("/home/tleuser/", 0)
While
(sNextFile <> "")
sAllFiles
= sAllFiles & Chr(13) & sNextFile
sNextFile
= Dir
Wend
MsgBox
"ที่ไดเรคเทอรี
/home/tleuser/"
+ Chr(13) & _
"มีแฟ้มต่างๆ
ดังนี้ :"
& Chr(13) & _
sAllFiles
END
SUB
|
![]() |
รูปที่
9-03
ผลการทำงานของซับรูทีน
subExample09_03
|
หมายเหตุ |
ในการระบุไดเรคเทอรีในคำสั่ง
Dir
ของ
ภาษา OpenOffice
/ LibreOffice Basic เราสามารถใช้สัญลักษณ์
?
หรือ
*
ประกอบได้เช่นเดียวกับการแสดงรายชื่อแฟ้มและไดเรคเทอรีใน
Dos
Prompt บน
Ms-Windows
หรือบน
Terminal
Emulator บนลินุกซ์
|
9.2.2
การใช้คำสั่งจัดการคุณสมบัติประจำแฟ้ม
(Attribute)
ในภาษา
OpenOffice
/ LibreOffice Basic
เราสามารถใช้คำสั่งในการจัดการค่าของคุณสมบัติประจำแฟ้มต่างๆ
ได้โดยตรง โดยมีคำสั่งหรือฟังก์ชัน
GetAttr()
สำหรับใช้อ่านเลขคุณสมบัติประจำแฟ้มที่ต้องการ
และคำสั่ง SetAttr
ในการกำหนดค่าคุณสมบัติประจำแฟ้มตามต้องการ
ตัวอย่างที่
9-04
เป็นตัวอย่างของการใช้คำสั่ง
GetAttr()
อ่านค่าคุณสมบัติประจำแฟ้มที่กำหนด
และใช้ฟังก์ชัน funcFileAttributeString
ทำการแปลค่าเป็นข้อความคำอธิบายของค่าคุณสมบัติประจำแฟ้มดังกล่าว
โดยนำผลที่ได้มาประกอบรวมกับข้อความคำอธิบายที่แสดงบนจอภาพด้วยคำสั่ง
MsgBox
ดังในรูปตัวอย่าง
ตัวอย่างที่
9-04
: การอ่านค่าคุณสมบัติประจำแฟ้มด้วยคำสั่ง
GetAttr()
SUB
subExample09_04
MsgBox
"ค่าคุณสมบัติประจำแฟ้มของ"
& Chr(13) & _
"
/home/tleuser เท่ากับ
"
& GetAttr("/home/tleuser") & Chr(13) & _
"ซึ่งหมายถึง
"
& funcFileAttributeString(GetAttr("/home/tleuser"))
END
SUB
FUNCTION
funcFileAttributeString(x As Integer) As String
Dim
s As String
If
(x = 0) Then
s
= "แฟ้มทั่วไป
(Normal)"
Else
s
= ""
If
((x AND 16) <> 0) Then
s
= "ไดเรคทอรี
(Directory)"
End
If
If
((x AND 1) <> 0) Then
s
= s & " แฟ้มแบบอ่านได้อย่างเดียว
(Read-Only)"
End
If
If
((x AND 2) <> 0) Then
s
= "แฟ้มแบบซ่อน
(Hidden)"
End
If
If
((x AND 4) <> 0) Then
s
= s & " แฟ้มของระบบ
(System)"
End
If
If
((x AND 8) <> 0) Then
s
= s & " ซื้อแฟ้ม
(Volume)"
End
If
End
If
funcFileAttributeString
= s
END
FUNCTION
|
![]() |
รูปที่ 9-04 ผลการทำงานของซับรูทีน subExample09_04 |
ตาราง
9-02
: สรุปชุดคำสั่งที่เกี่ยวกับการจัดการแฟ้มและไดเรกทอรี
ชุดคำสั่ง
|
รายละเอียด
|
ChDir() |
ทำหน้าที่
ย้ายไดเรคเทอรีหรือไดรฟฺที่กำลังใช้งานในขณะนั้นๆ
ไปยังไดเรคเทอรี หรือไดรฟ์ที่ระบุ
|
ChDrive() |
ทำหน้าที่
ย้ายไดรฟ์ที่กำลังทำงานในขณะนั้น
ไปยังไดรฟ์ที่กำหนด
|
Close |
ทำหน้าที่
ปิดแฟ้มตามหมายเลขแฟ้มที่กำหนด
|
ConvertFromURL() |
ทำหน้าที่
แปลงชื่อและไดเรคเทอรี
จากชื่อแฟ้มและไดเรคเทอรีที่ระบุในรูปของ
URL
|
ConvertToURL() |
ทำหน้าที่
แปลงชื่อและไดเรคเทอรีทั่วไป
ให้อยู่ในรูปของ URL
|
CurDir() |
ทำหน้าที่
หาไดเรคเทอรีที่ใช้ในขณะนั้น
|
Dir |
ทำหน้าที่
หารายชื่อแฟ้มและไดเรคเทอรีทั้งหมดที่กำลังใช้งานในขณะนั้น
|
EOF() |
ทำหน้าที่
ย้ายตัวชี้ตำแหน่งภายในแฟ้มไปยังตำแหน่งสุดท้ายของแฟ้ม
(End
Of File)
|
FileAttr () |
ทำหน้าที่
อ่านโหมดของแฟ้มที่ถูกใช้งาน
(Access
Mode)
|
FileCopy |
ทำหน้าที่
คัดลอกแฟ้ม
|
FileDateTime() |
ทำหน้าที่
อ่านค่าวันเวลาของแฟ้มที่กำหนด
|
FileExists() |
ทำหน้าที่
ตรวจสอบว่ามีแฟ้มตามที่กำหนดอยู่ในระบบหรือไม่
|
FileLen () |
ทำหน้าที่
หาความยาวของแฟ้มที่กำหนด
|
FreeFile |
ทำหน้าที่
หาหมายเลขแฟ้มจากระบบ
เพื่อเตรียมไว้สำหรับเปิดแฟ้มต่างๆ
ขึ้นมาใช้งาน
|
Get |
ทำหน้าที่
อ่านข้อมูลจากแฟ้มที่กำหนด
เป็นรายการ (record)
หรือเป็นไบต์
(Byte)
|
GetAttr() |
ทำหน้าที่
อ่านเลขคุณสมบัติประจำแฟ้ม
|
Input |
ทำหน้าที่
อ่านข้อมูลจากแฟ้มที่กำหนด
|
Kill |
ทำหน้าที่
ลบแฟ้มออกจากดิสก์
|
Line Input |
ทำหน้าที่
อ่านข้อมูลจากแฟ้มที่กำหนดเก็บไว้ในตัวแปร
|
Loc() |
ทำหน้าที่
อ่านค่าตัวชี้ตำแหน่งปัจจุบันภายในแฟ้ม
|
Lof() |
ทำหน้าที่
หาขนาดของแฟ้มที่กำหนดเป็นไบต์
|
MkDir |
ทำหน้าที่
สร้างไดเรคเทอรีตามที่กำหนด
|
Name |
ทำหน้าที่
เปลี่ยนชื่อแฟ้ม
|
Open |
ทำหน้าที่
เปิดแฟ้ม
|
Put |
ทำหน้าที่
เขียนรายการข้อมูล (Record)
ลงแฟ้ม
|
Reset |
ทำหน้าที่
ปิดแฟ้มพร้อมเขียนข้อมูลที่ค้างในบัฟเฟอร์ลงดิสก์
|
RmDir |
ทำหน้าที
ลบไดเรคเทอรี่
|
Seek |
ทำหน้าที่
ย้ายตัวชี้ตำแหน่งภายในแฟ้มไปยังจุดที่กำหนด
|
SetAttr |
ทำหน้าที่
กำหนดเลขคุณสมบัติประจำแฟ้ม
(Attribute)
|
Write |
ทำหน้าที่
เขียนข้อมูลลงแฟ้ม
|
เวลา
|
เหตุการณ์
|
|||
03:00 น. | ตื่นนอน ทำบันทึกประจำวันของวันก่อน | |||
03:15 น. |
งานของกิจกรรมอาชีพ
งานอินเตอร์เน็ต
(18/2557) : ทำต้นฉบับบทความเรื่องใหม่
|
|||
03:30 น. | พักผ่อน เนื่องจากไฟฟ้าไม่พอเปิดเครื่องโน๊ตบุ๊ค | |||
06:00 น. | ดื่มกาแฟ เตรียมเอกสารไปส่ง กศน. | |||
07:00 น. | กวาดพื้นใต้ถุนบ้าน | |||
07:30 น. |
|
|||
08:00 น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา (3/2557)
: ไปตัดหญ้าเตรียมพื้นที่ปลูกฟักทอง
|
|||
10:30 น. | 0.สูบใช้ด้วยปั้มชักพลังงานโซลาร์เซลล์ | 1.อาบน้ำ ทำบันทึกประจำวัน | ||
11:00 น. |
1.งานของกิจกรรมอาชีพ
งานอินเตอร์เน็ต (18/2557)
: ทำต้นฉบับบทความเรื่องใหม่
(ต่อ)
|
|||
11:30 น. | งานของกิจกรรมอาชีพ งานคอมพิวเตอร์ (15/2557):แก้ไขต้นฉบับบทความเก่า | |||
13:15 น. |
|
|||
14:00 น. | สูบน้ำดื่มด้วยปั้มสูบน้ำดื่มพลังงานโซลาร์เซลล์ | |||
15:00 น. |
0.งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา
(3/2557) : สูบน้ำรดต้นไม้ที่ชำไว้ด้วยปั้มชักพลังงานโซลาร์เซลล์
|
1.สูบน้ำราดพื้นหน้าบ้านด้วยปั้มรถโม่ปูนพลังงานโซลาร์เซลล์
และกวาดเศษใบไม้รอบบ้าน
|
||
15:30 น. |
0.สูบน้ำใช้ด้วยปั้มชักพลังงานโซลาร์เซลล์
|
1.ประกอบพัดลมพลังงานโซลาร์เซลล์กับแท่นตั้ง
(ทากาวเนื่องจากตัวพัดลมหลุดจากแท่น)
|
||
16:15 น. | คัดลอกเพลง | |||
16:30 น. |
งานของกิจกรรมอาชีพ
งานคอมพิวเตอร์
(15/2557) : นำต้นฉบับบทความเก่ามาแก้ไขใหม่
|
|||
17:45 น. | งานของกิจกรรมอาชีพ ปุ๋ยสะอาด (2/2557):กลับกองกล่องปุ๋ยหมัก | |||
18:30 น. |
|
|||
20:00 น. | เข้านอน |