Dim xx(100) as string
Dim I as Long
xx(1)=1
For I=2 to 100
xx(i)=xx(i-1)+1
Next
skord писал(а):?
может я чего нить не знаю... а как без массива?
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private My_Col As New Collection
Private Const N As Long = 10000
Private xx(1 To N) As Long
Private i As Long
Private t1 As Long, t2 As Long
Private Sub Form_Load()
Set My_Col = New Collection
t1 = GetTickCount
My_Col.Add 1
For i = 2 To N
My_Col.Add My_Col(i - 1) + 1
Next
t2 = GetTickCount
Me.Print Round((t2 - t1) / 1000, 2) & " ñ."
t1 = GetTickCount
xx(1) = 1
For i = 2 To N
xx(i) = xx(i - 1) + 1
Next
t2 = GetTickCount
Me.Print Round((t2 - t1) / 1000, 2) & " ñ."
Me.Show
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set My_Col = Nothing
End Sub
Dim lbl As Label
Sub Form_Load()
For Each lbl In Controls
lbl.Font.Bold = True
Next
End Sub
Серый писал(а):Очень удобно удалять элемент:
My_Col.Remove <номер элемента>
Количество элементов в коллекции:
My_Col.Count
A.A.Z. писал(а):2 VERITAS: в коллекциях еще удобно For..Each использовать
Amed писал(а):Для N=1000 оба показателя крайне близки к нулю...
A.A.Z. писал(а):в коллекциях еще удобно For..Each использовать
VERITAS писал(а):Тогда возникает: вопрос зачем же использовать коллекции, если скорость их выполнения намного медленнее массива
Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 22