3.4.9
การตั้งตัวแปรเก็บค่าแบบ
Booleanในภาษา OpenOffice / LibreOffice Basic
และการใช้งาน
ค่าข้อมูลแบบ
Boolean
หมายถึง
ค่าทางตรรกศาสตร์ ซึ่งมีอยู่
2
ค่าคือ
True
(จริง)
หรือ
False
(เท็จ)
โดยปรกติ
ค่าของ False
จะมีค่าเป็น
0
ส่วนค่าอื่นๆ
จะเป็น True
ทั้งหมด
ในการกำหนดตัวแปรให้มีชนิดเป็นแบบ
Boolean
จะต่างจากตัวแปรชนิดอื่นๆ
ที่กล่าวมาในข้างต้น
คือไม่มีสัญลักษณ์พิเศษที่ใช้กำหนดชนิดของข้อมูล
แต่สามารถกระทำได้โดยการใช้คำสั่ง
As
Boolean กำกับตอนท้ายของการกำหนดตัวแปร
ตัวอย่างที่
3-14
: ตัวอย่างการตั้งตัวแปร
Boolean
....
Dim
bCheckStatus As Boolean
....
bCheckStatus
= Fasle
....
|
3.4.10
การตั้งตัวแปรเก็บค่าแบบ
Date
และการใช้งาน
ค่าข้อมูลแบบ
Date
หมายถึง
ค่าเกี่ยวกับวันเวลา
ในการกำหนดตัวแปรให้มีชนิดเป็นแบบ
Date
สามารถกระทำได้โดยการใช้คำสั่ง
As
Date กำกับตอนท้ายของการกำหนดตัวแปร
และไม่มีสัญลักษณ์พิเศษที่ใช้กำหนดชนิดของข้อมูลเช่นเดียวกับ
Boolean
3.4.11
ตัวแปรแบบกลุ่มข้อมูลอะเรย์
(Array)
ตัวแปรแบบกลุ่มข้อมูลอะเรย์
เป็นชุดของตัวแปรที่มีชนิดข้อมูลเป็นแบบเดียวกัน
โดยมีที่เก็บข้อมูลแยกเป็นหลายๆ
ช่อง ในภาษา OpenOffice
/ LibreOffice Basic จะมีอะเรย์อยู่
2
ชนิด
ได้แก่ อะเรย์แบบ 1
มิติ
(Single
Array) และอะเรย์แบบหลายมิติ
(Multi-Dimention
Array)
3.4.11.1
อะเรย์แบบ
1
มิติ
การกำหนดตัวแปรแบบอะเรย์
จะดำเนินการคล้ายกับการตั้งตัวแปรทั่วไป
แต่จะต่างจากตั้งตัวแปรทั่วไปตรงที่
การตั้งตัวแปรแบบอะเรย์
จะใส่เครื่องหมายวงเล็บพร้อมระบุเลขจำนวนช่องของอะเรย์ไว้ภายใน
ตัวอย่างเช่น
ตัวอย่างที่
3-15
: ตัวอย่างการตั้งตัวแปรอะเรย์
1
มิติ
....
Dim
firstArray(3)
Dim
anyData(4) As Integer
....
|
ตัวแปรอะเรย์
firstArray()
ในตัวอย่างข้างต้น
ถ้าจะเข้าถึงเนื้อหาในช่องเก็บข้อมูลแต่ละช่องของ
fisrtArray()
จะทำได้โดยการใช้เลขชี้ช่อง
หรือ index
ซึ่งจะสามารถแยกได้เป็น
firstArray(0)
หมายถึง
อะเรย์ firstArray
ช่องที่
1
firstArray(1)
หมายถึง
อะเรย์ firstArray
ช่องที่
2
firstArray(2)
หมายถึง
อะเรย์ firstArray
ช่องที่
3
และ firstArray(3)
หมายถึง
อะเรย์ firstArray
ช่องที่
4
หมายเหตุ
|
โดยปรกติเลขชี้ช่องของอะเรย์
(index)
ในภาษา
OpenOffice
/ LibreOffice Basic ถ้าไม่ได้กำหนดเป็นอย่างอื่น
จะเริ่มต้นจากเลข 0
เสมอ
|
การตั้งตัวแปรอะเรย์ในตัวอย่างข้างต้น
จะเป็นกรณีของการกำหนดช่องของอะเรย์โดยเริ่มต้นจากเลข
0
ในภาษา
OpenOffice
/ LibreOffice Basic
สามารถตั้งตัวแปรอะเรย์โดยให้เลขชี้ช่องของอะเรย์เริ่มต้นที่เลขอื่นๆ
ได้เช่นเดียวกัน ตัวอย่างเช่น
ตัวอย่างที่
3-16
: ตัวอย่างการตั้งตัวแปรอะเรย์
1
มิติกรณีตัวชี้ช่องไม่ได้เริ่มจากเลข
0
....
Dim myData(3
to 5) As String
Dim
testData(-10 to -5) As Integer
....
|
ในตัวอย่างข้างต้น
ช่องของตัวแปรอะเรย์ myData()
จะประกอบด้วย
myData(3),
myData(4) และ
myData(5)
สำหรับเลขชี้ช่องอะเรย์ในภาษา
OpenOffice
/ LibreOffice Basic สามารถเป็นได้ทั้งค่าบวก
และค่าลบ โดยมีเงื่อนไขดังนี้
- ตัวชี้ช่องสำหรับตัวแปรอะเรย์ที่น้อยที่สุดได้แก่ -32768
- ตัวชี้ช่องสำหรับตัวแปรอะเรย์ที่มากที่สุดได้แก่ 32768
- ขนาดของอะเรย์สูงสุดไม่เกิน 16368
โดยปรกติเลขชี้ช่องของอะเรย์
หรือ index
ในภาษา
OpenOffice
/ LibreOffice Basic จะเริ่มต้นจากเลข
0
แต่ในทางปฏิบัติเราสามารถบังคับให้เลขตัวชี้ช่องของอะเรย์เริ่มต้นที่เลข
1
เหมือน
VBA
ได้โดยการใส่คำสั่ง
Option
Base 1 ไว้ที่ช่วงตอนต้นของมอดูล
ก่อนเนื้อหาของซับรูทีน
หรือฟังก์ชันอื่นๆ ตัวอย่างเช่น
....
Option Base
1
....
Dim
myArray(3)
....
ในตัวอย่างข้างต้น
เมื่อใส่คำสั่ง Option
Base 1 ไว้ในตอนต้นของต้นฉบับโปรแกรม
ซึ่งจะมีผลทำให้ตัวชี้ช่องของตัวแปรอะเรย์เริ่มต้นที่
1
ไม่ใช่ที่
0
ดังนั้นตัวแปรอะเรย์
myArray
ในตัวอย่าง
จึงประกอบด้วยช่อง myArray(1),
myArray(2) และ
myArray(3)
ตามลำดับ
(ไม่ใช่
myArray(0),
myArray(1) และ
myArray(1)
เหมือนกรณีปรกติ)
|
3.4.11.2
อะเรย์แบบหลายมิติ
ในภาษา
OpenOffice
/ LibreOffice Basic
สามารถกำหนดตัวแปรอะเรย์แบบหลายมิติได้เช่นเดียวกับภาษาโปรแกรมอื่นๆ
โดยในการกำหนดตัวแปรอะเรย์แบบหลายมิติ
จะดำเนินการเหมือนอะเรย์แบบมิติเดียว
โดยเพิ่มเลขจำนวนช่องของอะเรย์ในแต่ละมิติลงไป
ตัวอย่างเช่น
....
Dim
multi_array(5, 5) As Integer
....
multi_array
ในตัวอย่างข้างต้นเป็นอะเรย์แบบ
2
มิติ
ขนาด 6
x 6 ช่องสำหรับเก็บค่าตัวเลขแบบ
Integer
ในการใช้อะเรย์แบบหลายมิติจะใช้หน่วยความจำค่อนข้างมาก
ดังนั้นจึงขึ้นอยู่กับระบบคอมพิวเตอร์ที่เราใช้งานอยู่
ว่าจะสามารถรองรับอะเรย์แบบหลายมิติได้มากน้อยแค่ไหน
การเปลี่ยนแปลงขนาดของอะเรย์
โดยปรกติอะเรย์ในภาษาโปรแกรมรุ่นแรกๆ
จะเป็นกลุ่มข้อมูลที่จะต้องกำหนดขนาดไว้ตายตัว
ในระหว่างที่ Run
โปรแกรม
ตัวแปรอะเรย์ไม่สามารถเปลี่ยนแปลงขนาดได้ แต่สำหรับภาษา
OpenOffice
/ LibreOffice Basic จะแตกต่างออกไป
คือ
เราสามารถปรับเปลี่ยนขนาดของตัวแปรอะเรย์ในระหว่างการดำเนินโปรแกรมได้
โดยการใช้คำสั่ง REDIM
ตัวอย่างเช่น
....
Dim
TestingArray(5) As Integer 'กำหนดตัวแปรอะเรย์
1
มิติจำนวน
5
ช่อง
....
....
ReDim
TestingArray(10) As Integer 'เปลี่ยนขนาดเป็น
10
ช่อง
....
....
ReDim
TestingArray(15) As Integer 'เปลี่ยนขนาดเป็น
15
ช่อง
....
ในการเปลี่ยนขนาดของอะเรย์
มีข้อควรระวังคือ
ทุกครั้งที่มีการเปลี่ยนขนาดของตัวแปรอะเรย์
ข้อมูลที่เก็บอยู่ในช่องต่างๆ
ของอะเรย์เดิมจะหายหมด
สำหรับในกรณีที่ต้องการปรับเปลี่ยนขนาดของอะเรย์
และต้องการรักษาข้อมูลในช่องต่างๆ
ของเดิมไว้ สามารถทำได้โดยการใช้คำสั่ง
Preserve
กำกับหลังคำสั่ง
ReDim
โดยมีเงื่อนไข
คือ จะต้องไม่เปลี่ยนชนิดข้อมูลของตัวแปรอะเรย์ที่ใช้คำสั่ง
ReDim
เป็นชนิดอื่นๆ
หมายถึงชนิดข้อมูลของอะเรย์จะต้องเหมือนกับตอนกำหนดไว้ในตอนแรก
ตัวอย่างเช่น
....
Dim
TestingArray(10) As Integer 'ตั้งตัวแปรอะเรย์จำนวน
10
ช่อง
....
....
'เปลี่ยนขนาดเป็น
10
ช่อง
โดยรักษาข้อมูลเดิมไว้
ReDim
Preserve TestingArray(20) As Integer
....
|
เวลา
|
เหตุการณ์
|
||
06:00 น. | ตื่นนอน | ||
06:30 น. | เผาขยะ | ||
07:15 น. | กวาดเศษใบไม้รอบบ้าน | ||
08:15 น. | ติดตั้งสปอทไลท์ 12 โวลต์หน้าบ้าน | ||
08:45 น. |
|
||
09:15 น. | งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557) : ทำต้นฉบับบทความเรื่องใหม่, ศึกษาการใช้ Zalora partner program, ต้นข้อมูลเกี่ยวกับ Affiliate Program | ||
15:15 น. |
|
||
16:15 น. | งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557):ศึกษาการทำงานของ Zorala Affiliate | ||
18:30 น. |
|
||
20:00 น. | เข้านอน |