ќсновы офисного программировани€ и €зык VBA


ѕример 5.10


Option Explicit 'ќпределение класса —писокЋичностей '—войства Private First As Ёлемент—пискаЋичностей Private Last As Ёлемент—пискаЋичностей Public Count As Integer 'ћетоды Private Sub Class_Initialize() Set First = Nothing Set Last = Nothing Count = 0 End Sub

Public Sub AddFirst(F As Ћичность) Dim Elem As New Ёлемент—пискаЋичностей Dim Info As New Ћичность '—оздаем копию переменной F. ¬ списке будем использовать копию, а не ссылку. Info.CopyPerson F Set Elem.—ам = Info Set Elem.ƒруг = First If First Is Nothing Then Set Last = Elem End If Set First = Elem Count = Count + 1 End Sub

Public Sub PrintList() Dim P As Ёлемент—пискаЋичностей Dim Q As Ћичность Set P = First While Not (P Is Nothing) Set Q = P.—ам Q.PrintPerson Set P = P.ƒруг Wend End Sub

Public Sub AddLast(F As Ћичность) Dim Elem As New Ёлемент—пискаЋичностей Dim Info As New Ћичность '—оздаем копию переменной F. ¬ списке будем использовать копию, а не ссылку. Info.CopyPerson F Set Elem.—ам = Info Set Elem.ƒруг = Nothing If First Is Nothing Then Set First = Elem Else Set Last.ƒруг = Elem End If Set Last = Elem Count = Count + 1 End Sub

Public Sub ClearList() 'ѕопытка освободить пам€ть не достигает успеха из-за отсутстви€ 'соответствующего оператора. Dim P As Ёлемент—пискаЋичностей, R As Ёлемент—пискаЋичностей Dim Q As Ћичность Set P = First While Not (P Is Nothing) Set Q = P.—ам 'Unload Q Set R = P Set P = P.ƒруг 'Unload R Wend 'ќбнуление указателей Set First = Nothing Set Last = Nothing Count = 0 End Sub

ѕример 5.10.

«акрыть окно






Ќачало  Ќазад  ¬перед



 нижный магазин