powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как инициализировать класс в конструкторе ?
13 сообщений из 13, страница 1 из 1
Как инициализировать класс в конструкторе ?
    #32518355
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518372
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А зачем задавать один вопрос в двух топиках? Я один из них сотру. Какой стереть?
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518379
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конструктор единственный,без параметров, потому приватный. Private sub Class_Initialize

так и инициализировать - присваивать дефолные значения полям-членам.

В чем собственно вопрос?
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518405
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сотри который не нравиться.
В любом случае тебя никто не удерживает :-)
И будь спокойнее и вежливее !
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518420
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сорри. Забыл поставить смайлик. :^)

Я во втором топике добавил ссылку на этот.
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518558
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да , правильно заметили.
Захотелось следующее.
Имеем форму и на нем множество TextBox -ов
А что если создать класс cTextBox, который парралельно с TextBox-ом будет держать и установленный индекс.
Создать класс collection cCollTextBox и с помощью таких перехватов в конце то концов дать возможность форму получить единственное уведомление о событии от TextBox-а с индексом таким то.
И тогда обработать одинаковые поведения было бы проще ( аналог массивов элементов в VB )
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518565
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Преставьте, что нужно в зависимости от значения некоторого TextBox-а перепрыгнуть через другие . Может дати ответ попроще ?
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518583
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, достаточно иметь ОБЫЧНЫЙ Collection, в который напихать ваших MyTextBox-ов (типа). Индексом будет положение в коллекшне. фокус передавать итему с номером i.

PS саныч знает, как набрать такой коллекшн контролами формы.
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518603
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
укажите ссылку
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32518609
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет индекса - она должна быть внешняя, чтобы легче было узнать от какого Элемента получаем сообшение.
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32519012
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс clsMyTextBox:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Option Compare Database
Option Explicit

Private WithEvents mtbo As TextBox
Private mintIndex As Integer
Private mmtbsParent As clsMyTextBoxes

Public Property Get TextBoxControl() As TextBox
    Set TextBoxControl = mtbo
End Property
Public Property Set TextBoxControl(ByRef tboNewValue As TextBox)
    Set mtbo = tboNewValue
    mtbo.AfterUpdate = "[Event Procedure]"
End Property

Public Property Get Index() As Integer
    Index = mintIndex
End Property
Public Property Let Index(ByVal intNewValue As Integer)
    mintIndex = intNewValue
End Property

Public Property Get Parent() As Object
    Set Parent = mmtbsParent
End Property
Public Property Set Parent(ByRef objNewValue As Object)
    Set mmtbsParent = objNewValue
End Property

Private Sub mtbo_AfterUpdate()
    mmtbsParent.FireEvent mintIndex
End Sub

Класс-коллекция clsMyTextBoxes:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Option Compare Database
Option Explicit

Private mctbos As Collection
Public Event AnyTextBoxAfterUpdate(intIndex As Integer)

Private Sub Class_Initialize()
    Set mctbos = New Collection
End Sub

Public Sub AddMyTextBox(tbo As TextBox, intIndex As Integer)
    Dim mtb As clsMyTextBox
    Set mtb = New clsMyTextBox
    Set mtb.TextBoxControl = tbo
    mtb.Index = intIndex
    Set mtb.Parent = Me
    mctbos.Add mtb, Trim(Str(intIndex))
    Set mtb = Nothing
End Sub

Public Sub FireEvent(intIndex As Integer)
    RaiseEvent AnyTextBoxAfterUpdate(intIndex)
End Sub

код в форме:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Option Compare Database
Option Explicit

Private WithEvents mmtbs As clsMyTextBoxes

Private Sub Form_Load()
Dim ctl As Control
Dim i As Integer

Set mmtbs = New clsMyTextBoxes
i =  1 

For Each ctl In Me.Controls
    If TypeOf ctl Is TextBox Then
        mmtbs.AddMyTextBox ctl, i
        i = i +  1 
    End If
Next

End Sub

Private Sub mmtbs_AnyTextBoxAfterUpdate(intIndex As Integer)
    MsgBox intIndex
End Sub

PS: Любим мы полечить друг друга, типа
YuriAMИ будь спокойнее и вежливее !
Мне ещё одна фраза нравится, ротный говаривал:
ротный Нужно-блR-культурными-блR-быть
Это так, впечатление от прочитанного. Не сочтите за возбужденность и грубость.
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32519020
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимо проходил...

Забавно - Саныча просят быть спокойнее и вежливее. :)

Ему, чтоб стать еще спокойней и еще вежливей, придется говорить только "спасибо" и "пожалуйста". (правда, очень редко, а то не поверят, что стал спокойней :)
...
Рейтинг: 0 / 0
Как инициализировать класс в конструкторе ?
    #32519021
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Спасибо.

(Пожалуйста не говорю, а то не поверят.)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как инициализировать класс в конструкторе ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]