ການຊ່ວຍເຫຼືອ LibreOffice 26.2
ຄໍເລັກຊັນສາມາດໃຊ້ເພື່ອຈັດເກັບລາຍການປະເພດຕ່າງໆ. ແຕ່ລະລາຍການສາມາດເຂົ້າເຖິງໄດ້ໂດຍຜ່ານດັດຊະນີ ຫຼື ໂດຍຄີ (key) ທາງເລືອກທີ່ກ່ຽວຂ້ອງກັບມັນ.
ອັອບເຈັກ Collection ມີເມທອດ (methods) ດັ່ງຕໍ່ໄປນີ້:
Add: ແຊກລາຍການໃໝ່ເຂົ້າໃນຄໍເລັກຊັນ. ສາມາດກຳນົດຄ່າຂໍ້ຄວາມເປັນຄີ (key) ໃຫ້ກັບລາຍການໄດ້.
Count: ສົ່ງຄືນຈຳນວນລາຍການທັງໝົດໃນຄໍເລັກຊັນ.
Item: ສົ່ງຄືນລາຍການໃນຄໍເລັກຊັນໂດຍການລະບຸດັດຊະນີ ຫຼື ຄີ.
Remove: ລຶບລາຍການທີ່ລະບຸອອກຈາກຄໍເລັກຊັນໂດຍໃຊ້ດັດຊະນີ ຫຼື ຄີ.
ລາຍການໃນຄໍເລັກຊັນສາມາດເຂົ້າເຖິງໄດ້ທັງຜ່ານດັດຊະນີ (ຄືກັນກັບອາເຣມິຕິດຽວທີ່ເລີ່ມຈາກ 1) ຫຼື ຜ່ານຄີທີ່ກ່ຽວຂ້ອງ.
ບໍລິການ ScriptForge Dictionary ໄດ້ຂະຫຍາຍຄວາມສາມາດຂອງອັອບເຈັກ Collection ໂດຍການເພີ່ມຄຸນສົມບັດຕ່າງໆ ເຊັ່ນ ການດຶງຂໍ້ມູນ ແລະ ການປ່ຽນແທນຄີ, ລວມທັງການນຳເຂົ້າ/ສົ່ງອອກເປັນອັອບເຈັກອາເຣ (Array) ແລະ ຂໍ້ຄວາມ JSON.
ເພື່ອສ້າງ Collection ໃຫ້ໃຊ້ຄຳຫຼັກ New. ຕົວຢ່າງຕໍ່ໄປນີ້ຈະສ້າງອັອບເຈັກ Collection ແລະ ເພີ່ມລາຍການເຂົ້າໄປ 3 ລາຍການ:
Dim myCollection as New Collection
myCollection.Add("Some text")
myCollection.Add(100)
myCollection.Add(Array(1, 2, 3, 4))
MsgBox myCollection.Count ' 3
ເມທອດ Add ສາມາດໃຊ້ເພື່ອເພີ່ມລາຍການໃໝ່ເຂົ້າໃນອັອບເຈັກ Collection.
oCollection.Add(item, [key], [before|after])
item: ລາຍການທີ່ຈະເພີ່ມເຂົ້າໃນ Collection. ສາມາດເປັນປະເພດໃດກໍໄດ້.
key: ຄ່າຂໍ້ຄວາມທີ່ໃຊ້ເປັນຄີທີ່ບໍ່ຊ້ຳກັນເພື່ອລະບຸຄ່ານີ້.
before, after: ອາກິວເມັນທາງເລືອກທີ່ລະບຸວ່າລາຍການໃໝ່ຈະຖືກວາງໄວ້ບ່ອນໃດໃນ Collection. ສາມາດລະບຸໄດ້ພຽງແຕ່ before ຫຼື after ຢ່າງໃດຢ່າງໜຶ່ງ ເພື່ອກຳນົດດັດຊະນີ ຫຼື ຄີ ທີ່ລາຍການໃໝ່ຈະຖືກວາງໄວ້ກ່ອນໜ້າ ຫຼື ຖັດຈາກນັ້ນ.
ຕົວຢ່າງລຸ່ມນີ້ຈະເພີ່ມ 2 ອົງປະກອບເຂົ້າໃນ Collection. ອັນທຳອິດມີຄີກ່ຽວຂ້ອງ, ສ່ວນອັນທີສອງແມ່ນບໍ່ມີ.
Dim myCollection as New Collection
myCollection.Add(100, "first")
myCollection.Add(101)
ເມທອດ Add ຍັງຮອງຮັບອາກິວເມັນແບບຄຳຫຼັກ (keyword arguments):
myCollection.Add(item := 100, key := "first")
ຄີ (Keys) ຕ້ອງບໍ່ຊ້ຳກັນໃນອັອບເຈັກ Collection. ການປຽບທຽບຄີແມ່ນ ບໍ່ສົນໃຈຕົວອັກສອນໃຫຍ່-ນ້ອຍ. ການເພີ່ມຄີທີ່ຊ້ຳກັນຈະເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດໃນເວລາເຮັດວຽກ (runtime error).
ຕົວຢ່າງລຸ່ມນີ້ສະແດງວິທີໃຊ້ Before ແລະ After ເພື່ອກຳນົດຕຳແໜ່ງຂອງລາຍການທີ່ກຳລັງເພີ່ມ.
Dim myCollection as Variant
myCollection = New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 103, key := "third")
myCollection.Add(item := 105, key := "fifth")
MsgBox myCollection.Item(2) ' 103
myCollection.Add(item := 102, key := "second", before := "third")
MsgBox myCollection.Item(2) ' 102
myCollection.Add(item := 104, key := "fourth", after := 3)
MsgBox myCollection.Item(4) ' 104
ລາຍການໃນອັອບເຈັກ Collection ຈະຖືກກຳນົດຄ່າດັດຊະນີເປັນໂຕເລກຈຳນວນຖ້ວນ ເລີ່ມຈາກ 1 ຕາມລຳດັບການເພີ່ມ.
ໃຊ້ເມທອດ Item ເພື່ອເຂົ້າເຖິງລາຍການທີ່ກຳນົດໂດຍດັດຊະນີ ຫຼື ຄີ.
oCollection.Item(index)
oCollection.Item(key)
index: ຄ່າໂຕເລກຈຳນວນຖ້ວນທີ່ລະບຸດັດຊະນີຂອງລາຍການທີ່ຈະສົ່ງຄືນ.
key: ຄ່າຂໍ້ຄວາມທີ່ລະບຸຄີຂອງລາຍການທີ່ຈະສົ່ງຄືນ.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
MsgBox myCollection.Item("A") ' 101
MsgBox myCollection.Item(3) ' 103
ໃຊ້ເມທອດ Remove ເພື່ອລຶບລາຍການອອກຈາກອັອບເຈັກ Collection.
ລາຍການສາມາດລຶບອອກໄດ້ທັງໂດຍໃຊ້ດັດຊະນີ ຫຼື ຄ່າຄີ.
oCollection.Remove(index)
oCollection.Remove(key)
index: ຄ່າໂຕເລກຈຳນວນຖ້ວນທີ່ລະບຸດັດຊະນີຂອງລາຍການທີ່ຈະລຶບ.
key: ຄ່າຂໍ້ຄວາມທີ່ລະບຸຄີຂອງລາຍການທີ່ຈະລຶບ.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 102, key := "second")
myCollection.Add(item := 103, key := "third")
MsgBox myCollection.Count ' 3
' Removes the first value
myCollection.Remove(1)
' Removes the value whose key is "third"
myCollection.Remove("third")
MsgBox myCollection.Count ' 1
ສາມາດໃຊ້ຄຳສັ່ງ For Each ... Next ເພື່ອວົນຮອບເຂົ້າເຖິງທຸກລາຍການໃນ Collection.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
For Each value In myCollection
MsgBox value
Next value
ເພື່ອລຶບລາຍການທັງໝົດອອກຈາກອັອບເຈັກ Collection ໃຫ້ຮຽກໃຊ້ເມທອດ Remove ສຳລັບແຕ່ລະລາຍການ, ດັ່ງທີ່ສະແດງໃນຕົວຢ່າງລຸ່ມນີ້:
' ສ້າງຕົວຢ່າງຄໍເລັກຊັນທີ່ມີ 2 ລາຍການ
Dim myCollection as New Collection
myCollection.Add(item := 10, key := "A")
myCollection.Add(item := 11, key := "B")
MsgBox myCollection.Count ' 2
' ລຶບລາຍການທັງໝົດໃນຄໍເລັກຊັນ
For i = myCollection.Count To 1 Step -1
myCollection.Remove(i)
Next i
MsgBox myCollection.Count ' 0