Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объявить переменную несколько раз / 18 сообщений из 18, страница 1 из 1
09.04.2010, 17:58
    #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
09.04.2010, 17:59
    #36571512
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить переменную несколько раз
так нельзя.
зачем?
и что вы делать собираетесь дальше с этой переменной?

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

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

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

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

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

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

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

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

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

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


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