экземпляр класса Collection переместить н-й item на 1 место

Программирование на Visual Basic for Applications
uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

экземпляр класса Collection переместить н-й item на 1 место

Сообщение uzer_@ » 24.10.2005 (Пн) 15:41

для элемента набора (созданный мой объект) как можно реализовать свойство по умолчанию в наборе (Collection)? Нужно, чтобы из набора по умолчанию выбирался заданный мной item. сначаля я думал реализовть это перемещая нужный мне элемент на 1 место и в коде исплользовать всегда 1 элемент. тогда как его туда с н-ого места переместить?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.10.2005 (Пн) 16:05

Ничего не понял.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

Сообщение uzer_@ » 25.10.2005 (Вт) 12:12

в наборе есть item1, 2, 3 и т. д. Пользователь выбирает один из них, например 2 и неообходимо, что дальше использовался только 2 элемент набора (грубо говоря много принтеров, один используется по умолчанию - примерно тоже самое). я решил что можно реализовать это поменяв местами item 1 и 2, и дальше в коде использовать всегда 1 элемент. (поскольку есть набор то значит всегда есть 1 элемент) может я не прав

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 12:30

dim SelectedObj as Printer
...
mCol.Add Printer1, "Printer1"
mCol.Add Printer2, "Printer2"
mCol.Add Printer3, "Printer3"
...
set SelectedObj = mCol("Printer2")
...
SelectedObj.Print
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

Сообщение uzer_@ » 26.10.2005 (Ср) 7:45

'я если чесно думал как-то вот так
Public Function moveto1mesto(nabor As collection, kluch As String)
Dim n1 As Object, n As Object
Set n1 = nabor.item(1)
Set n = nabor.item(kluch)
nabor.Remove (kluch)
nabor.item(1) = n 'если эта строчка прокатит
nabor.Add (n1)
End Function

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.10.2005 (Ср) 7:47

У метода .Add есть параметры Before и After, укажи Before = nabor.Item(1).
А еще лучше, послушай GSergа, он плохого не посоветует.
Lasciate ogni speranza, voi ch'entrate.

uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

Сообщение uzer_@ » 26.10.2005 (Ср) 15:21

Набор есть, просто в процессе работы приложения сначала один элемент будет нужен, через неделю другой и т. д. (если появляется метод Add пользователь не факт что захочет использовать добавившийся item как item по умолчанию для данного набора, он его просто добавит и все а работать ему надо например со 2) приложение будет выгружаться, загружаться и т. д. таким образом я передвигая item на 1 место при очередной загрузке приложения решаю задачу - для пользователя нет необходимости снова выбирать из набора нужный элемент, т. к. он когда-то стал 1 и на 1 месте был сохранен и соответственно как item1 загружен (ну типа значения по умолчанию).

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.10.2005 (Ср) 15:29

И где же, хотелось бы спросить, хранится набор между запусками приложений?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

Сообщение uzer_@ » 27.10.2005 (Чт) 13:23

HKEY_CURRENT_USER\Software\VB and VBA Program Settings

uzer_@
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 16.08.2005 (Вт) 16:44
Откуда: Санкт-Петербург

Сообщение uzer_@ » 27.10.2005 (Чт) 13:26

с большим удовольствием хранил бы в другом месте но пока не разобрался где еще можно эду дрянь хранить, чтобы не испортить, так что пока там.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList