MyBanner

โฆษณา

วันศุกร์ที่ 15 สิงหาคม พ.ศ. 2557

การส่งผ่านค่าพารามิเตอร์ :: บทที่ 4 ซับรูทีน, ฟังก์ชัน และ การควบคุมทิศทางของโปรแกรม



4.2.3 การส่งผ่านค่าพารามิเตอร์ในภาษา OpenOffice / LibreOffice Basic

4.2.3.1 การอ้างอิงกับแหล่งที่เก็บตัวแปร (passed by reference)

        การส่งผ่านค่าพารามิเตอร์เข้าไปในซับรูทีน หรือฟังก์ชัน ในภาษา OpenOffice / LibreOffice Basic สามารถใช้ได้ทั้งวิธี อ้างอิงกับแหล่งที่เก็บตัวแปร (passed by reference) และอ้างอิงกับค่าตัวแปร (passed by value) แต่โดยทั่วไป (default) จะเป็นการอ้างอิงกับแหล่งที่เก็บตัวแปร ซึ่งในการกำหนดตัวแปรพารามิเตอร์ให้กับซับรูทีน และฟังก์ชัน จะใส่ไว้ในวงเล็บหลังชื่อซับรูทีน หรือฟังก์ชัน เช่น

         SUB Test (A As String, B As Boolean, C As Integer)
                     ...
         END SUB

ในตัวอย่างข้างต้น ตัวแปร A, B และ C เป็นตัวแปรพารามิเตอร์ของซับรูทีน Test ที่ใช้รับค่าจากภายนอก โดยเป็นการส่งผ่านค่าพารามิเตอร์ในแบบของการอ้างอิงกับแหล่งที่เก็บตัวแปร (passed by reference) ซึ่งซับรูทีน หรือฟังก์ชันสามารถปรับเปลี่ยนค่าของตัวแปรดังกล่าวได้

ตัวอย่างที่ 4-1 : ตัวอย่างการส่งผ่านค่าพารามิเตอร์
SUB Example04_01
        Dim A As Integer
        A = 10
        ChangeValue(A)
        MsgBox A 'ค่าของตัวแปร A ถูกเปลี่ยนเป็น 75
END SUB

SUB ChangeValue(TheValue As Integer)
         TheValue = 75
END SUB

4.2.3.2 การอ้างอิงกับค่าตัวแปร (Passed by value)

ในกรณีที่ไม่ต้องการให้ค่าของตัวแปรเปลี่ยนแปลงหลังจากที่ซับรูทีน หรือฟังก์ชันที่เรียกใช้ สามารถกระทำได้โดยการไปใช้วิธีอ้างอิงกับค่าของตัวแปร หรือ Passed by value โดยการใช้คำสั่ง ByVar กำกับตอนกำหนดพารามิเตอร์ให้กับซับรูทีน หรือฟังก์ชัน โดยใช้รูปแบบดังนี้

-กรณีของซับรูทีน

         SUB SubroutineName (ByVal Parameter As TypeName)
                ....
         END SUB

-กรณีของฟังก์ชัน

         FUN FunctionName (ByVal Parameter As TypeName)
             ....
         END FUN

หมายเหตุ สำหรับภาษา OpenOffice / LibreOffice Basic จะไม่มีคำสั่ง ByRef ให้ใช้เหมือน VBA เนื่องจากการส่งผ่านค่าพารามิเตอร์ในภาษา OpenOffice / LibreOffice Basic จะเป็นแบบ passed by reference อยู่แล้ว

4.3.3 การกำหนดพารามิเตอร์แบบตัวเลือก

ในภาษา OpenOffice / LibreOffice Basic เราสามารถกำหนดตัวแปรพารามิเตอร์แบบตัวเลือก (Optional Parameters) ได้ ซึ่งเป็นตัวแปรพารามิเตอร์ในลักษณะดังกล่าว จะเป็นตัวแปรพารามิเตอร์ที่จะมีการกำหนดค่า หรือไม่กำหนดในระหว่างการเรียกใช้ซับรูทีนหรือฟังก์ชันก็ได้ โดยการกำหนดตัวแปรพารามิเตอร์แบบตัวเลือก จะใช้คำสั่ง Optional กำกับหน้าตัวแปรพารามิเตอร์ดังกล่าว ยกตัวอย่างเช่น

ตัวอย่างที่ 4-2 : ตัวอย่างการกำหนดพารามิเตอร์แบบตัวเลือกให้กับซับรูทีน
SUB subSample (A As Integer, Optional B As Integer)
            ....
            'เนื้อหาภายในซับรูทีน
            ....
END SUB

ในการเรียกใช้ซับรูทีน subSample ในข้างต้น จะต้องระบุพารามิเตอร์ A ทุกครั้ง ส่วนพารามิเตอร์ B จะระบุหรือไม่ก็ได้ เช่น subSample(i) หรือ subSample(i, j) เป็นต้น


เทรด forex กับ exness

บันทึกประจำวันที่ 18 มิถุนายน พ.. 2557 (2014)
เวลา
เหตุการณ์
05:00 . ตื่นนอน อ่านวารสารไมโครคอมพิวเตอร์ และวารสารเกษตรกรรมธรรมชาติ
06:00 . วาดเศษใบไม้รอบบ้าน
06:30 .
0.กินข้าวเช้า 1.กับข้าว:ผัดสายบัวเห็ดนางฟ้า, ผัดแตงกวาใส่ไข่, เส้นขมมจีน
07:00 . งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ แปลงสวนปาล์ม (8/2557):พ่นปุ๋ยนาโน, น้ำหมักปลา, น้ำหมักเศษอาหารในเปลงต้นปาล์ม
09:00 . ขุดดินถมรอบบ่อปลา
09:30 . อาบน้ำ ทำบันทึกประจำวันของวันก่อน
10:00 . งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557):ทำต้นฉบับบทความเรื่องใหม่
10:45 . ดึงรูปภาพจากกล้องถ่ายรูป
11:30 . นอนพัก เนื่องจากมีอาการเวียนหัว อาเจียน (สรุปเป็นลำใส้อักเสบ สาเหตุจากผัดกาดดองผัดไข่)
12:30 .
0.กินข้าว 1.กับข้าว:ผัดสายบัวเห็ดนางฟ้า, ผัดแตงกวาใส่ไข่, เส้นขมมจีน
13:00 . งานของกิจกรรมอาชีพ งารการตลาดและการทดลอง (20/2557):โทรศัพท์หาทีมงาน อบรมสินค้า YIC
15:30 . งานของกิจกรรมอาชีพ งานการตลาดและการลงทุน (20/2557):ไปเข้าร่วมอบรมเกี่ยวกับผลิตภัณฑ์ของ Yes I Can ที่บ้านกฤษณะ
20:00 .
0.อาบน้ำ กินข้าว พักผ่อน 1.กับข้าว: แกงส้มหยวกกล้วยขาหมู, ผักฟักทอง
21:00 . เข้านอน


Adz2you.