MyBanner

โฆษณา

วันพุธที่ 13 สิงหาคม พ.ศ. 2557

ขอบเขตและช่วงชีวิตของตัวแปร :: บทที่ 3 ลักษณะทั่วไปของภาษา OpenOffice / LibreOffice Basic



3.5 ขอบเขตและช่วงชีวิตของตัวแปร

ตัวแปรในภาษา OpenOffice / LibreOffice Basic จะมีขอบเขต และช่วงชีวิตตามประเภทของตัวแปร

3.5.1 Local Variable

หมายถึง ตัวแปรที่ตั้งขึ้นภายในซับรูทีน หรือฟังก์ชัน และใช้งานภายในซับรูทีน หรือฟังก์ชันนั้นๆ เมื่อสิ้นสุดการทำงานของซับรูทีน หรือฟังก์ชัน ตัวแปรเหล่านี้จะหายไป ตัวอย่างเช่น

ตัวอย่างที่ 3-17 : ตัวอย่างการกำหนดตัวแปรแบบ Local
SUB Test
         Dim myData As Integer
         ....
END SUB

หมายเหตุ
กรณีที่ต้องการให้ตัวแปรแบบ Local และค่าที่อยู่ในตัวแปรยังคงอยู่ตลอดการทำงานของโปรแกรม จะสามารถทำได้โดยการใช้คำสั่ง Static กำกับตอนกำหนดตัวแปรแทนคำสั่ง Dim หรือใช้ร่วมกับคำสั่ง Dim

3.5.2 Public Domain Variable

หมายถึง ตัวแปรที่กำหนดด้วยคำสั่ง DIM ซึ่งวางไว้ส่วนต้นๆ ของมอดูล นอกส่วนที่เป็นเนื้อหาของซับรูทีน หรือฟังก์ชันอื่นๆ เป็นตัวแปรที่ซับรูทีน หรือฟังก์ชันต่างๆ ทั้งภายนอกและภายในมอดูล สามารถเรียกใช้งานหรือกำหนดค่าได้ทุกมอดูล และตัวแปรจะยังคงอยู่ตลอดเวลาที่แมโครยังทำงานอยู่ (Execute)
ในการกำหนดตัวแปรประเภท Public นอกจากจะใช้วิธีตั้งตัวแปรด้วยคำสั่ง DIM ดังที่กล่าวมาในข้างต้นแล้ว ยังสามารถใช้คำสั่ง Public ในการกำหนดตัวแปรแทนคำสั่ง DIM ได้ หรือใช้กำกับร่วมกับคำสั่ง DIM ได้

3.5.3 Global Variable

เป็นตัวแปรที่ตั้งขึ้นในตอนส่วนต้นๆ ของมอดูล โดยการใช้คำสั่ง Global ในการตั้งตัวแปร หรือใช้กำกับการตั้งตัวแปร เป็นตัวแปรที่มีลักษณะเหมือนกับตัวแปรประเภท Public Domain

ตัวอย่างที่ 3-18 : ตัวอย่างการกำหนดตัวแปรแบบ Public
Public sProgramName As String

SUB Test
         ....
         ....

3.5.4 Private Variable

เป็นตัวแปรที่ตั้งขึ้นในส่วนต้นๆ ของมอดูลเช่นเดียวกัน แต่สามารถเรียกใช้งานได้เฉพาะซับรูทีนหรือฟังก์ชันภายในมอดูลนั้นๆ การตั้งตัวแปรประเภทนี้จะใช้คำสั่ง Private กำกับในการตั้งตัวแปร

ตัวอย่างที่ 3-19 : ตัวอย่างการกำหนดตัวแปรแบบ Private
Private bTestStatus As Boolean

SUB Test
        ....
        ....

สรุปเรื่องของขอบเขตตัวแปรของ OpenOffice / LibreOffice Basic

-กรณีการกำหนดตัวแปรนอกฟังก์ชัน

         DIM GLOBAL VarName As TYPENAME

เป็นการตั้งตัวแปรที่สามารถเรียกใช้งานและปรับเปลี่ยนค่าได้ทุกส่วนภายใต้ระบบการทำงานของ OpenOffice / LibreOffice

        DIM PUBLIC VarName As TYPENAME

เป็นการตั้งตัวแปรที่สามารถเรียกใช้และปรับเปลี่ยนค่าได้ทุกมอดูล

        DIM PRIVATE VarName As TYPENAME

เป็นการตั้งตัวแปรที่สามารถเรียกใช้ และปรับเปลี่ยนค่าได้เฉพาะภายในมอดูลเท่านั้น

         DIM VarName As TYPENAME

เป็นการตั้งตัวแปรที่สามารถเรียกใช้ และปรับเปลี่ยนค่าได้เฉพาะภายในมอดูลเท่านั้น เช่นเดียวกับการใช้คำสั่ง PRIVATE

-การกำหนดตัวแปรภายในตัวซับรูทีน หรือฟังก์ชัน

โดยปรกติ ตัวแปรที่ถูกกำหนดขึ้นภายในซับรูทีน หรือฟังก์ชัน ค่าที่เก็บตัวแปรหรือตัวแปรดังกล่าว จะหายไปเพื่อสิ้นสุดการทำงานของซับรูทีน หรือฟังก์ชันนั้น
แต่ในกรณีที่ต้องการให้ค่าภายในตัวแปรยังคงอยู่ แม้จะออกจากซับรูทีน หรือฟังก์ชันที่กำหนดตัวแปรนั้นๆ ไปแล้ว จะทำได้โดยการใช้คำสั่ง STATIC กำกับตามรูปแบบดังนี้

         DIM STATIC VarName As TYPENAME

สำหรับการตั้งตัวแปรแบบ Static มีเงื่อนไขที่สำคัญ คือ จะต้องกำหนดภายในตัวซับรูทีน หรือฟังก์ชันเท่านั้น

เทรด forex กับ exness

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


Adz2you.