Создание и работа класса - VB

Узнай цену своей работы

Формулировка задачи:

Доброго дня или ночи знатокам! Помогите в проблеме! Я новичок в ООП и VB и хотелось бы понять принцип работы классов на примере статьи, которые я нашел в сети(http://www.codenet.ru/progr/vbasic/vb_objects.php ), где объясняется суть класса на простом примере, который приведен ниже. Я постарался в точности воспроизвести пример из статьи (за исключением некоторых своих безобидных вставок в целя трассировки)и при его прогоне выплывает ошибка(метод или член данных не найден), т.е. в Form2 этого свойства нет, а почему? Я где то ошибся или ошибка в статье? Спасибо! ------------------------ Form1 -----------------------
Листинг программы
  1. Private Sub Form_Initialize()
  2. MsgBox "Initialize1"
  3. End Sub
  4. Private Sub Form_Load()
  5. Dim i As Integer
  6. Dim obj As New MyFirstClass
  7. obj.A = 10
  8. i = obj.A
  9. obj.AA
  10. i = obj.A
  11. j = obj.AAA(i)
  12. End Sub
  13. ‘Вторая форма, и на ней 2 кнопки, и код
  14. ------------------------ Form2 -----------------------
  15. Option Explicit
  16. Dim obj As New Form1
  17. Private Sub cmdCenter_Click()
  18. obj.Center = True
  19. 'obj. = True
  20. End Sub
  21. Private Sub cmdNonCenter_Click()
  22. obj.Center = False
  23. End Sub
  24. Private Sub Form_Initialize()
  25. MsgBox "Initialize2"
  26. End Sub
  27. Private Sub Form_Load()
  28. obj.Show
  29. obj.Left = 500
  30. obj.Top = 1000
  31. End Sub
  32. ------------------------ MyFirstClass -----------------------
  33. Public A As Integer
  34. Dim MyTop As Long
  35. Dim MyLeft As Long
  36. Dim blnCenter As Boolean
  37. Public Sub AA()
  38. MsgBox "aa"
  39. End Sub
  40. Public Function AAA(p As Integer) As Integer
  41. MsgBox "aaa"
  42. AAA = 5 + p
  43. End Function
  44. Public Property Get Center() As Boolean
  45. Center = blnCenter
  46. End Property
  47. Public Property Let Center(ByVal vNewValue As Boolean)
  48. blnCenter = vNewValue
  49. If blnCenter Then
  50. MyTop = Me.Top
  51. MyLeft = Me.Left
  52. Me.Top = (Screen.Height - Me.Height) / 2
  53. Me.Left = (Screen.Width - Me.Width) / 2
  54. Else
  55. Me.Top = MyTop
  56. Me.Left = MyLeft
  57. End If
  58. End Property

Решение задачи: «Создание и работа класса»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private isCenter As Boolean
  4.  
  5. Public Property Get Center() As Boolean
  6.     bCenter = isCenter
  7. End Property
  8.  
  9. Public Property Let Center(ByVal bCenter As Boolean)
  10.     isCenter = bCenter
  11.     If bCenter Then
  12.         Top = (Screen.Height - Me.Height) \ 2
  13.         Left = (Screen.Width - Me.Width) \ 2
  14.     End If
  15. End Property
  16.  
  17. Private Sub Form_Load()
  18.     Me.Center = True
  19. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы