powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объявить переменную несколько раз
18 сообщений из 18, страница 1 из 1
Объявить переменную несколько раз
    #36571502
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые господа-товарищи! ))
Возможно на VBA сделать что-то подобное?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If DictType = "1" Then
      Dim MyVar As MyType1
   ElseIf DictType = "2" Then
      Dim MyVar As MyType2
   ElseIf DictType = "3" Then
      Dim MyVar As MyType3
   ElseIf DictType = "4" Then
      Dim MyVar As MyType4
End If

Если нет, то как тогда можна сделать подобное?
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571512
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так нельзя.
зачем?
и что вы делать собираетесь дальше с этой переменной?

ps
может проще переписать все типы в один и добавить в него еще одним параметром DicType?
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571517
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявляйте как Object
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571519
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, мысль, конечно, интересная, но не хотелось-бы все в один -
уж слишко разношерстная братия у меня.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571521
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее как Variant, но автору то нужно наверное другое
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571526
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, во-во, мне нужно в зависимости от типа справочника,
объявить тип переменной соответствующего типа.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571529
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, а как мне потом ему тип задать?
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571534
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woozywoozyShocker.Pro, а как мне потом ему тип задать?

Я может поторопился.
У вас MyType2 - перечисляемый тип или класс?
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571536
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Type.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571539
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда объясните, как вы собираетесь в дальнейшем использовать переменную заранее неизвестного типа.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571540
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал Object.
В условии сделал Set MyVar=MyType
Ошибок не выдает, но и не работает как нужно...
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571542
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProТогда объясните, как вы собираетесь в дальнейшем использовать переменную заранее неизвестного типа.

Писать в файл - для этого мне нужно определить размер переменной/объекта (Len).
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571552
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woozywoozy,

б-р-р-р. Определить размер незаполненной переменной? Он же известен заранее.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571562
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, вобщем так - есть четыре пользовательских типа, есть четыре массива с соответствующими типами.
Эти массивы нужно сохранить в файлы на диске. Файлы открываю в режиме Binary.
Что-бы не писать для каждого типа свою процедуру сохранения, я сделал одну,
в которой мне нужно объявить переменную соответствующего типа (в зависимости
от переданного параметра). В команду Open ... For Binary мне нужно передать размер
рекорда... как-то так...
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571574
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
woozywoozyСделал Object.
В условии сделал Set MyVar=MyType
Ошибок не выдает, но и не работает как нужно...

Кстати - тут я протупил - ошибку не выдает потому, что On Error Resume Next...
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36571592
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, если никто ничего не может подсказать, то можно закрывать -
попробую размер определять по первому элементу массива...
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36572158
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woozywoozyВозможно на VBA сделать что-то подобное?

Если нет, то как тогда можна сделать подобное?Женская логика детектед.

woozywoozyпопробую размер определять по первому элементу массива...
Не поможет. Переменная должна быть того типа, который пишешь, иначе получишь мусор, а не запись.

Лучше не изобретай велосипед с квадратными колесами, а используй XML. Или храни справочники в самом файле, если это эксель.
...
Рейтинг: 0 / 0
Объявить переменную несколько раз
    #36576480
woozywoozy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЖенская логика детектед.
Смешно и не правда ))

авторЛучше не изобретай велосипед с квадратными колесами, а используй XML. Или храни справочники в самом файле, если это эксель.

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


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