MyBanner

โฆษณา

วันอังคารที่ 30 กันยายน พ.ศ. 2557

การจัดการแฟ้ม::บทที่ 9 การจัดการแฟ้มและไดเรกเทอรี



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
ทำหน้าที่ เขียนข้อมูลลงแฟ้ม

เทรด forex กับ www.exness.com
บันทึกประจำวันที่ 7 กรกฎาคม พ.. 2557 (2014)
เวลา
เหตุการณ์
03:00 . ตื่นนอน ทำบันทึกประจำวันของวันก่อน
03:15 .
งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557) : ทำต้นฉบับบทความเรื่องใหม่
03:30 . พักผ่อน เนื่องจากไฟฟ้าไม่พอเปิดเครื่องโน๊ตบุ๊ค
06:00 . ดื่มกาแฟ เตรียมเอกสารไปส่ง กศน.
07:00 . กวาดพื้นใต้ถุนบ้าน
07:30 .
0.กินข้าวเช้า
1.กับข้าว ผัดผักรวม, หน่อไม้ไผ่ตงลืมแล้งต้มน้ำใบย่านาง, น้ำพริก, แกงกะทิหอยขม
08:00 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : ไปตัดหญ้าเตรียมพื้นที่ปลูกฟักทอง
10:30 . 0.สูบใช้ด้วยปั้มชักพลังงานโซลาร์เซลล์ 1.อาบน้ำ ทำบันทึกประจำวัน
11:00 .
1.งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557) : ทำต้นฉบับบทความเรื่องใหม่ (ต่อ)
11:30 . งานของกิจกรรมอาชีพ งานคอมพิวเตอร์ (15/2557):แก้ไขต้นฉบับบทความเก่า
13:15 .
0.กินข้าว พักผ่อน
1.กับข้าว:ผัดผักรวม, หน่อไม้ไผ่ตงลืมแล้งต้มน้ำใบย่านาง, น้ำพริก, แกงกะทิหอยขม
14:00 . สูบน้ำดื่มด้วยปั้มสูบน้ำดื่มพลังงานโซลาร์เซลล์
15:00 .
0.งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : สูบน้ำรดต้นไม้ที่ชำไว้ด้วยปั้มชักพลังงานโซลาร์เซลล์
1.สูบน้ำราดพื้นหน้าบ้านด้วยปั้มรถโม่ปูนพลังงานโซลาร์เซลล์ และกวาดเศษใบไม้รอบบ้าน
15:30 .
0.สูบน้ำใช้ด้วยปั้มชักพลังงานโซลาร์เซลล์
1.ประกอบพัดลมพลังงานโซลาร์เซลล์กับแท่นตั้ง (ทากาวเนื่องจากตัวพัดลมหลุดจากแท่น)
16:15 . คัดลอกเพลง
16:30 .
งานของกิจกรรมอาชีพ งานคอมพิวเตอร์ (15/2557) : นำต้นฉบับบทความเก่ามาแก้ไขใหม่
17:45 . งานของกิจกรรมอาชีพ ปุ๋ยสะอาด (2/2557):กลับกองกล่องปุ๋ยหมัก
18:30 .
0.อาบน้ำ กินข้าว พักผ่อน 1.กับข้าว แกงเนื้อหมูบอนหวาน, แกงกะทิหอยขม, ผักรวก, น้ำพริก
20:00 . เข้านอน


วันพุธที่ 17 กันยายน พ.ศ. 2557

บทที่ 9 การจัดการแฟ้มและไดเรกเทอรี



        การจัดการแฟ้มและไดเรคทอรี ในที่นี้หมายถึงการใช้คำสั่งในการจัดแฟ้มแฟ้ม หรือไดเรคทอรีทั่วไป ที่ปรกติเราจะดำเนินการผ่านโปรแกรมจัดการไฟล์ หรือพิมพ์คำสั่งลงใน Dos-Prompt หรือ เทอร์มินอลอีมูเลเตอร์ของลินุกซ์ เช่น การคัดลอกแฟ้ม (Copy), การดูรายชื่อแฟ้ม (Dir), การลบแฟ้ม (Kill หรือ Delete), การสร้างไดเรคทอรี (MkDir) หรือ การลบไดเรคทอรี (RmDir) เป็นต้น ซึ่งในการสร้างงานประยุกต์บนโปรแกรมต่างๆ ของ OpenOffice / LibreOffice เราสามารถใช้ชุดคำสั่งภาษา OpenOffice / LibreOffice Basic จัดการงานต่างๆ ดังที่กล่าวมาได้โดยตรง โดยในบทนี้จะแสดงให้เห็นตัวอย่างเพียงบางส่วน ดังนี้

9.1 การจัดการไดเรคเทอรี

9.1.1 การใช้คำสั่งในการสร้างไดเรคเทอรี

         ในภาษา OpenOffice / LibreOffice Basic จะมีคำสั่ง MkDir สำหรับใช้สร้างไดเรคเทอรี โดยมีรูปแบบคำสั่งดังนี้
รูปแบบชุดคำสั่ง :
           MkDir sDirName As String
โดยที่
         sDirName หมายถึง ชื่อไดเรคเทอรี (รวมถึงชื่อไดรฟ์ด้วย) ที่ต้องการสร้าง

รูปที่ 9-01 ภาพตัวอย่างไดเรคเทอรี "/home/tleuser/" ก่อนใช้คำสั่ง MkDir
ตัวอย่างที่ 9-01 : ตัวอย่างการสร้างไดเรคเทอรี
SUB subExample09_01
       MkDir "/home/tleuser/เพลงลูกทุง"
END SUB

รูปที่ 9-02 ภาพตัวอย่างไดเรคเทอรี "/home/tleuser/" หลังใช้คำสั่ง MkDir

9.1.2 การใช้คำสั่งในการลบไดเรคเทอรี
     คำสั่ง RmDir เป็นคำสั่งที่ทำหน้าที่ในการลบไดเรคเทอรี ซึ่งทำงานตรงข้ามกับคำสั่ง MkDir โดยมีรูปแบบชุดคำสั่งดังนี้
รูปแบบชุดคำสั่ง :
         RmDir sDirName As String
โดยที่
          sDirName หมายถึง ชื่อไดเรคเทอรีที่ต้องการลบ

ตัวอย่างที่ 9-02 : ตัวอย่างการสร้างไดเรคเทอรี
SUB subExample09_02
      RmDir "/home/tleuser/เพลงลูกทุง"
END SUB

หมายเหตุ
คำสั่ง RmDir ของภาษา OpenOffice / LibreOffice Basic จะทำงานต่างจากคำสั่ง RmDir ของ VBA ตรงที่ ในภาษา OpenOffice / LibreOffice Basic จะยอมให้ลบไดเรคเทอรีที่มีแฟ้มต่างๆ บรรจุอยู่ แต่กรณีของ VBA จะไม่สามารถทำได้ ถ้าต้องการให้คำสั่ง RmDir ของภาษา OpenOffice / LibreOffice Basic ทำงานเหมือนกับ VBA ต้องใช้คำสั่ง CompatibilityMode ( true ) กำกับตอนเริ่มโปรแกรม เพื่อกำหนดโหมดการทำงานให้เหมือนกัน

เทรด forex กับ www.exness.com

บันทึกประจำวันที่ 6 กรกฎาคม พ.. 2557 (2014)
เวลา
เหตุการณ์
06:00 . ตื่นนอน จัดสภาพแวดล้อมรอบบ้าน
07:00 . ไปช่วยจัดสถานที่ที่วัดเขาแก้ว เนื่องจากมีเจ้าภาพมาถวายพระพุทธรูป
09:00 . ทำอีเอ็มขยายลูกถังหมายเลข 3 และเริ่มใช้อีเอ็มขยายลูกถังที่ 1
09:30 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : นำอีเอ็มราดบ่อปลา
10:00 .
ทำบัญชีครัวเรือน โดยตั้งค่าเกี่ยวกับหนี้ค่าเช่าที่ดิน และค่าเช่าบ้านเพิ่มเติม, ทำบันทึกประจำวันของวันก่อน
11:00 .
งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557) : ทำต้นฉบับบทความเรื่องใหม่ เชื่อมต่ออินเตอร์เน็ต แก้ไขโครงสร้างบล็อกเกอร์, โพสต์บทความเรื่องใหม่ และแก้ไขแท็กของบล็อก วันวานฉันทำอะไร
13:15 .
0.กินข้าว พักผ่อน
1.กับข้าว:ผัดข้าวโพด, ต้มจืดฟักเขียวหมูสามชั้น, หน่อไม้ไผ่ตงลืมแล้งต้มน้ำใบย่านาง, น้ำพริก
14:15 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : สูบน้ำรดต้นไม้ด้วยปั้มชักพลังงานโซลาร์เซลล์
16:00 . พักผ่อน เนื่องจากอากาศร้อนมาก
17:00 . ทำไม้กวาดทางมะพร้าว และกวาดเศษใบไม้รอบบ้าน
19:00 . ทำบัญชีครัวเรือน อ่านเอกสารเกี่ยวกับ Yes I Can.
19:30 .
0.อาบน้ำ กินข้าว ดูหนังจากแผ่นซีดี
1.กับข้าว:แกงหอยขม, ผัดผักรวม, ต้มจืดฟักเขียวเนื้อหมู
22:00 . เข้านอน



Adz2you.