befaint
|||||||||||||
- Tham gia
- 6/1/11
- Bài viết
- 14,557
- Được thích
- 19,765
Bài 16. Queue
(Danh sách các bài viết về VBA xem ở đây Index - Các bài viết về VBA)
Queue là một thư viện nằm trong “System.Collections.” của .NET Framework. cùng.
Đây là cấu trúc dữ liệu dựng theo hàng để thực hiện tính chất FIFO (First In - First Out / Vào trước - Ra trước).
Cho phép lưu trữ dữ liệu (items) có kích cỡ lớn, rất hữu ích trong các tình huống muốn lưu trữ các Items theo thứ tự chỉ định.
Yêu cầu: Hệ thống phải cài đặt .NET Framework
1. Khai báo Queue
1.1. Kiểu khai báo sớm
(Không có Tooltip khi gọi Queue, phải thiết lập trong Tools/References)
- Trong cửa sổ VBA, Tools menu, References.
- Tìm và check vào mục “mscorlib.dll” trong cửa sổ References – VBAProject.
Khai báo trong code:
1.2. Kiểu khai báo muộn
(Không có Tooltip khi gọi Queue, không cần thiết lập trong Tools/References).
Khai báo trong code:
2. Các phương thức, thuộc tính
2.1. Count Property
Trả về số Items có trong Queue.
Ví dụ:
2.2. Enqueue
Thêm một Item vào vị trí cuối cùng (end) của Queue.
Item nhận kiểu dữ liệu bất kỳ (kiểu số hoặc chuỗi), giá trị đơn hoặc một mảng (array).
Ví dụ:
2.3. Peek
Trả về Item đầu tiên của Queue và không xóa Item đó.
Ví dụ:
2.4. Dequeue
Xóa và trả về Item đầu tiên của Queue.
Ví dụ:
2.5. Contains
Kiểm tra sự tồn tại của một Item trong Queue. Trả về True nếu Item đó tồn tại, ngược lại trả về False.
Ví dụ:
2.6. ToArray
Sao chép các Item trong Queue vào một mảng (Array). Mảng trả về là mảng một chiều, chỉ số cận dưới của mảng luôn băng 0, cho dù thiết lập Option Base 1.
Ví dụ:
2.7. ToString
Trả về tên đối tượng hiện hành, tức là “System.Collections.Queue”.
Ví dụ:
2.8. Clear
Xóa tất cả các Items có trong Queue.
Ví dụ:
2.9. Clone
Sao chép toàn bộ Queue đã dựng sang một Queue mới.
Ví dụ:
(Danh sách các bài viết về VBA xem ở đây Index - Các bài viết về VBA)
Queue là một thư viện nằm trong “System.Collections.” của .NET Framework. cùng.
Đây là cấu trúc dữ liệu dựng theo hàng để thực hiện tính chất FIFO (First In - First Out / Vào trước - Ra trước).
Cho phép lưu trữ dữ liệu (items) có kích cỡ lớn, rất hữu ích trong các tình huống muốn lưu trữ các Items theo thứ tự chỉ định.
Yêu cầu: Hệ thống phải cài đặt .NET Framework
1. Khai báo Queue
1.1. Kiểu khai báo sớm
(Không có Tooltip khi gọi Queue, phải thiết lập trong Tools/References)
- Trong cửa sổ VBA, Tools menu, References.
- Tìm và check vào mục “mscorlib.dll” trong cửa sổ References – VBAProject.
Khai báo trong code:
PHP:
Dim oQueue As New Queue
1.2. Kiểu khai báo muộn
(Không có Tooltip khi gọi Queue, không cần thiết lập trong Tools/References).
Khai báo trong code:
PHP:
Dim oQueue As Object
Set oQueue = CreateObject("System.Collections.Queue")
2. Các phương thức, thuộc tính
2.1. Count Property
PHP:
oQueue.Count
Ví dụ:
PHP:
Sub CountProperty()
Dim oQueue As Object
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Count'
oQueue.Enqueue 5
oQueue.Enqueue "TextA"
MsgBox oQueue.Count '2'
End Sub
2.2. Enqueue
PHP:
oQueue.Enqueue Item
Item nhận kiểu dữ liệu bất kỳ (kiểu số hoặc chuỗi), giá trị đơn hoặc một mảng (array).
Ví dụ:
PHP:
Sub EnqueueMethod()
Dim oQueue As Object
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Enqueue Item'
oQueue.Enqueue 5
oQueue.Enqueue "TextA"
oQueue.Enqueue ""
oQueue.Enqueue Array(20, 40)
End Sub
2.3. Peek
PHP:
oQueue.Peek
Ví dụ:
PHP:
Sub PeekMethod()
Dim oQueue As Object, i As Long
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Peek'
For i = 1 To 10
oQueue.Enqueue "Value-" & i
Next i
MsgBox oQueue.Peek 'Value-1'
End Sub
2.4. Dequeue
PHP:
oQueue.Dequeue
Ví dụ:
PHP:
Sub DequeueMethod()
Dim oQueue As Object, i As Long, sValue As String
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Dequeue'
For i = 1 To 10
oQueue.Enqueue "Value-" & i
Next i
sValue = oQueue.Dequeue
MsgBox sValue 'Value-1'
MsgBox oQueue.Count '9'
End Sub
2.5. Contains
PHP:
oQueue.Contains
Ví dụ:
PHP:
Sub ContainsMethod()
Dim oQueue As Object
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Contains'
oQueue.Enqueue 5
oQueue.Enqueue "TextA"
MsgBox oQueue.Contains(5) 'True'
MsgBox oQueue.Contains("TextA") 'True'
MsgBox oQueue.Contains("TextB") 'False
End Sub
2.6. ToArray
PHP:
oQueue.ToArray
Ví dụ:
PHP:
Sub ToArrayMethod()
Dim oQueue As Object, i As Long, arr()
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.ToArray Mang 1 chieu, khong phu thuoc Option Base 1'
For i = 1 To 10
oQueue.Enqueue "Value-" & i
Next i
arr = oQueue.ToArray
MsgBox arr(0) 'Value-1'
End Sub
2.7. ToString
PHP:
oQueue.ToString
Ví dụ:
PHP:
Sub ToStringMethod()
Dim oQueue As Object, sName As String
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.ToString'
sName = oQueue.ToString
MsgBox sName 'System.Collections.Queue'
End Sub
2.8. Clear
PHP:
oQueue.Clear
Ví dụ:
PHP:
Sub ClearMethod()
Dim oQueue As Object, i As Long
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Clear'
For i = 1 To 10
oQueue.Enqueue i
Next i
oQueue.Clear
MsgBox oQueue.Count '0'
End Sub
2.9. Clone
PHP:
oQueue.Clone
Ví dụ:
PHP:
Sub CloneMethod()
Dim oQueue As Object, newQueue As Object
Set oQueue = CreateObject("System.Collections.Queue")
'oQueue.Clone'
oQueue.Enqueue 20
Set newQueue = oQueue.Clone
MsgBox newQueue.Peek '20'
End Sub
File đính kèm
Lần chỉnh sửa cuối: