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

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

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

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

PS саныч знает, как набрать такой коллекшн контролами формы.
...
Рейтинг: 0 / 0
14.05.2004, 16:33
    #32518603
YuriAM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как инициализировать класс в конструкторе ?
укажите ссылку
...
Рейтинг: 0 / 0
14.05.2004, 16:34
    #32518609
YuriAM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как инициализировать класс в конструкторе ?
Насчет индекса - она должна быть внешняя, чтобы легче было узнать от какого Элемента получаем сообшение.
...
Рейтинг: 0 / 0
14.05.2004, 23:23
    #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
15.05.2004, 00:09
    #32519020
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как инициализировать класс в конструкторе ?
Мимо проходил...

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

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

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


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