ອັອບເຈັກຄໍເລັກຊັນ

ຄໍເລັກຊັນສາມາດໃຊ້ເພື່ອຈັດເກັບລາຍການປະເພດຕ່າງໆ. ແຕ່ລະລາຍການສາມາດເຂົ້າເຖິງໄດ້ໂດຍຜ່ານດັດຊະນີ ຫຼື ໂດຍຄີ (key) ທາງເລືອກທີ່ກ່ຽວຂ້ອງກັບມັນ.

ອັອບເຈັກ Collection ມີເມທອດ (methods) ດັ່ງຕໍ່ໄປນີ້:

ໄອຄອນ ບັນທຶກ

ລາຍການໃນຄໍເລັກຊັນສາມາດເຂົ້າເຖິງໄດ້ທັງຜ່ານດັດຊະນີ (ຄືກັນກັບອາເຣມິຕິດຽວທີ່ເລີ່ມຈາກ 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
  
ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!