powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Енумы свойств формы
16 сообщений из 16, страница 1 из 1
Енумы свойств формы
    #32476769
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, что никто не ответит, но все равно напишу

нужно получить список енумов по названию свойства формы

значение енума и его название...
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476773
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А кто это такие?
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476783
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кажется, дошло. Но разве они там есть? Каждое свойство действительно принимает значения из какого-то списка, однако разве можно к ним обращаться по синтаксису енумов?
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476785
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ,Саныч. OBJECT BROWSER умеет же читать эти свойства,. В принципе ,вся эта информация хранится в TLB файлах каждого СОМ объекта. Но вот есть ли из VB доступ к ним, я не знаю.
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476787
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Можно пример? Как увидеть в Object Browser'е хотя бы один пример?
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476789
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ты шутишь? Открой OBJECT BROWSER , выбери любой обьект и ты увидишь все его методы,члены, перечисления, etc. (Кстати енум-еще одно слово в твою коллекцию терминов )
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476790
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что значит любой? Набираю в строке поиска слово BorderStyle. Получаю в верхней половине экрана несколько строк, выбираю Access - TextBox - BorderStyle. Кликаю по ней, получаю в нижней половине экрана TextBox - BorderStyle. Ну и где его енумы???
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476797
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот набросал, только подключите TlbInf32.dll (ставится с Visual Studio)
Дает список всех Enum-ов с константами для всех подключенных библиотек.
(Конечно лучше в в списки загонять, но так проще показать пример)
Дополнительно можно пройти по свойствам объектов и определить какие свойства задаются через Enum. Я подобное делал, только для функций.
Код: 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.
32.
Public Sub EnumEnums()
    Dim ref As Object
    Dim m_TLInf As TypeLibInfo
    Dim SIType As SearchItem
    Dim SIMember As SearchItem
    Dim MInfo As MemberInfo
    On Error GoTo HandleErr
    Set m_TLInf = New TypeLibInfo
    With m_TLInf
 1         For Each ref In VBE.ActiveVBProject.References
 2             .ContainingFile = ref.FullPath
 3             Debug.Print ref.name
 4             For Each SIType In .GetTypes
 5                 If SIType.SearchType = tliStConstants Then '4'
 6                     If .GetTypeInfo(SIType.TypeInfoNumber).TypeKind = TKIND_ENUM Then ' TKIND_ENUM=0'
 7                         Debug.Print  "    "  & SIType.name
 8                         For Each SIMember In .GetMembers(SIType.SearchData)
 9                          Set MInfo = m_TLInf.GetMemberInfo(SIType.SearchData, SIMember.InvokeKinds, , SIMember.name)
 10                             Debug.Print  "        "  & SIMember.name &  " Value: "  & MInfo.Value
 11                         Next SIMember
 12                     End If
 13                 End If
 14             Next SIType
 15         Next ref
    End With
            
HandleExit:
    Exit Sub
HandleErr:
    Debug.Print  "GetEnums error: "  & Err.number &  " "  & Err.Description &  " Line: "  & Erl
    Resume HandleExit
End Sub
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476802
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
WOW!!! Круто, однако. Я сделал печать в файл - получил 1299 строк.

Но похоже, что по имени свойства оно ничего найти все равно не позволит.
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476807
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо похоже, что по имени свойства оно ничего найти все равно не позволит.

Я может быть не понял Алексея, потому, что у формы Access (как и у контролов) нет по моему ни одного свойства, определяемого через Enum.
Другое дело Office, Excel ...
Например, для CommandBarButton свойство Style As MsoButtonStyle
Где MsoButtonStyle это имя Enum, содержащего константы
Const msoButtonIcon = 1
Const msoButtonIconAndCaption = 3
и т.д.

Но, к чему я клоню, через TLI можно получить очень много ....
В том числе и перечень свойств конретного контрола конкретной формы, может это имел ввиду Алексей?
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476811
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я понял вопрос так: например, свойство BorderStyle контрола может иметь одно из 8 значений, перечисляемых списком (прозрачный и т.д.), у каждого из этих 8 значений есть именованная константа, которой можно пользоваться вместо соответствующего целого числа. И вопрос в том, как получить эти 8 констант с их значениями, задав название свойства BorderStyle.
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476817
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторнапример, свойство BorderStyle контрола может иметь одно из 8 значений, перечисляемых списком

Увы, это свойство как и многие другие не задается как Enum
Property BorderStyle As Byte
Причем, ты говоришь:
автору каждого из этих 8 значений есть именованная константа
этого я в access не вижу. А в VB есть
vbBSNone 0
vbFixedSingle 1
...
Но они не работают в Access (не исключено, что я плохо смотрел)
Если Алексею надо это, то боюсь, что это невозможно.
Недоработка создателей Access
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476819
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, всё так и есть.
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476822
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, чувствуется рука мастера!. Я когда-то что -то подобное на С++ делал. А оказывается все так просто. Век живи-век учись (заканчивать поговорку не буду )
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476827
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вау сколько написали... )))
...
Рейтинг: 0 / 0
Енумы свойств формы
    #32476838
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж енумов немеряно но все они гады члены библиотеки аксесс..
и к названию свойства никак не привязать.

сам то он сволочь как -то это делает (в property sheet формы - поле со списком хотя это не совсем енумы - язык то русский у руского аксесса) ...

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


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


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