วันเสาร์ที่ 12 พฤศจิกายน พ.ศ. 2559

Memo pt.3 (edit file)

2. การ edit file
        ก็จะมีการทำงานคล้ายๆกับส่วนของ create ไฟล์

        มีการเรียกใช้ method edit_box() เมื่อมีการกดและปล่อยปุ่ม



        โดย method edit_box() จะมีการใช้ try....except เพื่อกันการ error อย่างการกด edit โดยที่ไม่ได้เลือกไฟล์ ซึ่งถ้าทำอย่างนั้นจะให้ except เป็น pass หรือไม่ต้องทำอะไรนี่เอง โดยส่วนนี้จะคล้ายๆกับการ create file แต่จะมีส่วนที่แตกต่างคือ ด้านบนจะมีการเช็คเงื่อนไขว่ามีตัวที่ถูกกดหรือไม่ แล้วจะมีตัวแปร path เพื่อใใช้ในการเก็บค่าที่อยู่ของไฟล์ที่เลือก แล้ว มีตัวแปร filename ใช้การเก็บชื่อไฟล์ โดยจะ import os มาช่วย 

        คำสั่งที่ใช้คือ os.path.basename(self.desk.filechooser.selection[0]) การใช้ basename จะเป็นการใช้หาชื่อของไฟล์ตัวที่ถูกเลือกได้เย หลังงจากนั้นก็จะทำการ read ไฟล์ ดังกล่าว และจะทำขั้นตอนเหมือนการ create เพียงแต่ popup ที่เปิดมาจะมีข้อมูลอยู่แล้ว

        โดยเมื่อกดปุ่ม save ก็จะไปเรียกใช้ method save_box()

        ใน method นี้จะมีการเรียกหน้าต่างขึ้นมาเพื่อถามให้แน่ชัดว่าจะต้องการ save หรือ cancel ข้อความที่ได้ถูกการแก้ไขแล้ว โดยเป็นการสร้าง pop up ทั่วไป แต่ว่าจะมีการเก็บชื่อไฟล์ แล้วมาแสดงตรงหน้าต่างเพื่อความแน่ใจด้วย



        แล้วเมื่อมีการเรียกใช้ method saved() ที่จะถูกเรียกใช้เมื่อกดและปล่อย ปุ่ม save ก็จะไปทำการ save เพียงแต่ว่าจะมีการเข้าเงื่อนไข การ save จากการ edit โดยจะแตกต่างจากการ save แบบจากการ สร้างไฟล์ก็ตรงที่ว่า จะมีการลบไฟล์ตัวเก่าทิ้ง แล้วจะมีไฟล์ตัวที่ถูกแก้ไขขึ้นมาแทนที่ เมื่อ save เสร็จก็เป็นการจบขั้นตอนการ edit


ไม่มีความคิดเห็น:

แสดงความคิดเห็น