Property Let и Get с параметрами - VB
Формулировка задачи:
Доброго всем времени суток!Пожалуйста помогите разобраться.
Есть свой класс clsEnter что то делает.Переменные Private.
Присваиваю
Все нормально. Пробую так
Работает.Пробую добавить параметры
Не соответствие типов.Пытаюсь так
Пользовательский тип не определен.Пожалуйста подскажите что я не так делаю.
Спасибо.
Листинг программы
- Public Property Get DoubMin() As Double ' Возвращает значение свойства минимально допустимого числа
- DoubMin = dblMin
- End Property
- Public Property Let DoubMin(ByVal NewValue As Double) ' Устанавливает значение свойства минимально допустимого числа
- dblMin = NewValue
- End Property
Листинг программы
- Public Property Get SummaInt() As Long
- SummaInt = intSummaN
- End Property
- Public Property Set SummaInt(ByVal L As ListBox)
- Dim i As Integer, N As Long
- N = 0
- For i = 0 To L.ListCount - 1
- N = N + Val(Right$(L.List(i), 3))
- Next
- intSummaN = N
- End Property
Листинг программы
- Public Property Get SummaDoub(Optional Y As Boolean = True) As Double
- SummaDoub = dblSummaS
- End Property
- Public Property Let SummaDoub(Y As Boolean, ByVal L As ListBox)
- Dim i As Integer, S As Double
- S = 0
- For i = 0 To L.ListCount - 1
- If Y Then
- S = S + F(Val(Left$(L.List(i), 6))) * Val(Right$(L.List(i), 3))
- Else
- S = S + Val(Left$(L.List(i), 6)) * Val(Right$(L.List(i), 3))
- End If
- Next
- dblSummaS = S
- End Property
Листинг программы
- Public Property Get SummaDoub(Optional Y As Boolean = True, Optional L As ListBox) As Double
- SummaDoub = dblSummaS
- End Property
- Public Property Let SummaDoub(Y As Boolean, ByVal L As ListBox, S As Double)
- Dim i As Integer
- S = 0
- For i = 0 To L.ListCount - 1
- If Y Then
- S = S + F(Val(Left$(L.List(i), 6))) * Val(Right$(L.List(i), 3))
- Else
- S = S + Val(Left$(L.List(i), 6)) * Val(Right$(L.List(i), 3))
- End If
- Next
- dblSummaS = S
- End Property
Решение задачи: «Property Let и Get с параметрами»
textual
Листинг программы
- Option Explicit
- ' Объявление переменной типа clsNum
- Dim myObj As clsNum
- Dim A As Long, B As Long
- Private Sub Form_Click() 'смотрим свойства объекта на форме
- 'Если параметры Property Get не Optional пишем Obj.lngNum(A, B)
- Print myObj.lngNum
- End Sub
- Private Sub Form_Load()
- A = 1: B = 100
- ' Создание объекта clsNum
- Set myObj = New clsNum
- ' Установка свойств объекта dblMin,intMax
- With myObj
- Set myObj.lngNum(0, 1) = Text1
- End With
- End Sub
- Private Sub Text1_Change()
- 'Установка свойств объекта TextBoxом и устанавливаем dblMin,intMax
- With myObj
- Set myObj.lngNum(A, B) = Text1
- End With
- Text2 = myObj.lngNum 'смотрим свойства объекта в TextBoxе
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д