powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопросы по структуре, организации и принципам кода в VB6->
25 сообщений из 180, страница 3 из 8
Вопросы по структуре, организации и принципам кода в VB6->
    #36642297
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Me.ListView1.ListItems(1).Height = 0
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642320
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: tutti-frutti
> Скажите, можно сделать невидимым ListItem у ListView?

Удалить или прокрутить вверх или вниз до состояния невидимости



Удалить у меня не получается. Если я удаляю ListItem внутри цикла, то цикл разрушается.
Код: plaintext
1.
2.
3.
4.
5.
        Dim TempListItem As ListItem
        For Each TempListItem In Me.lvListView.ListItems
        ...
        Next TempListItem

...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642336
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneMe.ListView1.ListItems(1).Height = 0
Пишет, что только чтение:(
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642340
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: tutti-frutti
> Удалить у меня не получается. Если я удаляю ListItem внутри цикла, то цикл разрушается.

А ты делай правильный цикл, от общего количества итемов, к 1 и удаляй сколько угодно, ничего не разрушится

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642341
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiKonst_OneMe.ListView1.ListItems(1).Height = 0
Пишет, что только чтение:(

тогда удаляйте, только в цикле без foreach в обратном порядке
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642347
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Onetutti-fruttiKonst_OneMe.ListView1.ListItems(1).Height = 0
Пишет, что только чтение:(

тогда удаляйте, только в цикле без foreach в обратном порядке
А это мысль.. Сейчас буду разбираться. Ты сатри, ка все хитренько получается:)
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642367
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, все получилось. А я его вперед кутил, индесами минусил ,а все равно не получалось.
Ну вы тут и черти однако...
Спасибо! (но я еще не закончил, бууду спрашивать)
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642369
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как? Эта тема и без меня?

tutti-fruttiСкажите, можно сделать невидимым ListItem у ListView?
сотрите его название, все subitem-ы и иконку
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642390
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удаляя Node TreeView делаю так:
Код: plaintext
1.
2.
            On Error Resume Next
            Me.tvTreeView.Nodes.Remove (TempListItem.Key)
            On Error GoTo  0 
на случай, если в дереве нет ключа TempListItem.Key (в дереве хранятся только папки)
как по другому/правильнее проверить существование Node?

И самое главное ,где вообще можно САМОМУ посмотреть ответы на свои вопросы?
У меня есть только Object Browser, но там все в виде оглавления к книге, а мне нужно контекстно смотреть и может быть с примерами. Ходил на сайт микрософот, но так как-то коряво все так..
Вот мне нужно много чего еще: сортировки по кликам на столбцах, копирование, вставка, я вас заморю тут распросами.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642401
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-frutti
как по другому/правильнее проверить существование Node?

Только если перебрать всю коллекцию, но это глупо, проще так.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642406
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiИ самое главное ,где вообще можно САМОМУ посмотреть ответы на свои вопросы?

У вас поразительная скорость обучения и развитый метод тыка.
Приятно с вами работать.

Я никак только не пойму, у вас есть опыт программирования в принципе? Если нет - то вы просто гений. Хотя есть предположение, что вы когда-то программировали на линейных языках, без использования ООП.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642421
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiИ самое главное ,где вообще можно САМОМУ посмотреть ответы на свои вопросы?

У вас поразительная скорость обучения и развитый метод тыка.
Приятно с вами работать.

Я никак только не пойму, у вас есть опыт программирования в принципе? Если нет - то вы просто гений. Хотя есть предположение, что вы когда-то программировали на линейных языках, без использования ООП.

Мне нужно в течении этого года написать не сложную программу, если не напишу, то буду вынужден и дальше проживать под одной крышей с Тещей. И я далеко не спроста написал "Теща" с большой буквы.
До этого немного работал с Access. Планирую читать книги по С# и решать что мне будет сподручнее:
Access,VB,VB.Net,C++,C#
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642435
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-frutti,

Наличие стимула - великая вещь. Она позволяет сдвинуть в горы и полететь в космос.
Я выражаю вам горячую поддержку! *THUMBS UP*
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642474
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую делать копирование элементов ListView.
Для этого хочу определить глобальный массив динамического типа в котором буду хранить ключи элементов. Заливать в него данные буду перебирая коллекцию ListItems проверяя свойство Selected ListItem.
Выделять память под элементы массива буду с помощью ReDim, аргументом выступает размер будущего массива.

Можно ли получить количество выделенных элементов ListView без перебора и анализа зн. свойства Selected?

Сейчас у меня вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim i, CountSelected As Integer

CountSelected =  0 

    For i =  1  To lvListView.ListItems.count
        If (lvListView.ListItems.Item(i).Selected) Then
            CountSelected = CountSelected +  1 
        End If
    Next i
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642480
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiДля этого хочу определить глобальный массив динамического типа ...
Выделять память под элементы массива буду с помощью ReDim, аргументом выступает размер будущего массива.

Вместо динамического массива лучше, удобнее использовать объект типа Collection
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642931
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую пользоваться Collection, есть парочка вопросов.
а) Если я определил CollectionCopyItems глобально, то правильно ли я очищаю CollectionCopyItems конструкцией
Код: plaintext
Set CollectionCopyItems = Nothing
?
б) У Collection есть метод .Add аргументами которого выступает (Item, [Key], [Before], [After]). Я прописываю в PopUpMenuListViewCopy_Click первый аргумент CollectionCopyItems.Add (StrKey) тоже не ясно правильно ли я это делаю ,зачем остальные аргументы?

Код: 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.
33.
34.
35.
36.
37.
Dim CollectionCopyItems As New Collection
...
Private Sub PopUpMenuListViewCopy_Click()
Dim TempListItem As ListItem
Dim i  As Integer
Dim StrKey As String


Set CollectionCopyItems = Nothing
   
    For i =  1  To lvListView.ListItems.count
        If (lvListView.ListItems.Item(i).Selected) Then
            StrKey = Mid(lvListView.ListItems.Item(i).Key,  2 , Len(lvListView.ListItems.Item(i).Key))
            CollectionCopyItems.Add (StrKey)
            Debug.Print StrKey
        End If
    Next i
    
    Me.lvListView.SelectedItem = Nothing

End Sub


Private Sub PopUpMenuListViewPaste_Click()

   Dim TempStr As String
   Dim i As Integer
   ...
   For i =  1  To CollectionCopyItems.count
      TempStr = CollectionCopyItems.Item(i)
      ...
   Next i
   ...

End Sub


...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642957
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiПробую пользоваться Collection, есть парочка вопросов.
а) Если я определил CollectionCopyItems глобально, то правильно ли я очищаю CollectionCopyItems конструкцией

Чтобы не запутаться в терминологии.
Очищают коллекцию методом .Clear
А вы ее уничтожаете
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642964
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiПробую пользоваться Collection, есть парочка вопросов.
а) Если я определил CollectionCopyItems глобально, то правильно ли я очищаю CollectionCopyItems конструкцией

Чтобы не запутаться в терминологии.
Очищают коллекцию методом .Clear
А вы ее уничтожаете

.Clear нету, есть .Remove
Но это нужно перебирать всю ее и по одному удалять, а если я делаю:
Код: plaintext
Set CollectionCopyItems = Nothing
, то как же потом не вызывает ошибки
Код: plaintext
CollectionCopyItems.Add (StrKey)
, ведь Collection уничтожена? И вообще нормально так делать? Мне нужно перед каждым копированием очистить этот самый Collection, чтоб в нем после заполнения были только данные актуальные.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642965
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiб) У Collection есть метод .Add аргументами которого выступает (Item, [Key], [Before], [After]). Я прописываю в PopUpMenuListViewCopy_Click первый аргумент CollectionCopyItems.Add (StrKey) тоже не ясно правильно ли я это делаю ,зачем остальные аргументы?

Key играет ту же роль, что и Key в ListItem. То есть
а) Он должен быть уникальным
б) По нему можно обращаться к элементу коллекции (а не по индексу)

Кроме того, коллекцию можно перебрать с помощью For Each

А еще элементом коллекции может быть не только переменная, но и экземпляр объекта. То есть можно соорудить свой класс с блэкджеком и шлюхами, плодить его экземпляры и класть в коллекцию (но это на будущее, тут вам это не нужно).

Ну а Before,After очевидно нужды для того, чтобы добавить элементы в коллекцию перед или после какого-нить элемента. Смысл имеет только если вы хотите перебирать коллекцию по индексу и последовательность элементов имеет значение. Лично я никогда не пользовался.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642969
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiведь Collection уничтожена? И вообще нормально так делать? Мне нужно перед каждым копированием очистить этот самый Collection, чтоб в нем после заполнения были только данные актуальные.

Тогда определяйте переменную коллекции так:
Код: plaintext
Dim CollectionCopyItems As Collection

Перед использованием делайте так:
Код: plaintext
Set CollectionCopyItems = New Collection

Ну и уничтожайте как уничтожаете.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36642973
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Спасибо.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36643332
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нужно мне пододвинуть элемент на форме не на шаг а на половину шага сетки формы, где это настроить/как это сделать?
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36643349
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiВот нужно мне пододвинуть элемент на форме не на шаг а на половину шага сетки формы, где это настроить/как это сделать?

в дизайнтайме?
шаг сетки в настройках редактора можно менять.

А вообще, если сетку не хочется кадлый раз перестраивать, можно просто менять руками свойства Top и Left элемента.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644344
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите какое событие возникает в тот момент ,когда форма становится активной?
Мне нужно после закрытия диалогового окна, в сл. необходимости, выполнить некоторые действия на вызывающей этот диалог форме.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644346
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiПодскажите какое событие возникает в тот момент ,когда форма становится активной?
Мне нужно после закрытия диалогового окна, в сл. необходимости, выполнить некоторые действия на вызывающей этот диалог форме.

Вы не поверите. Activate.

Тока эта... у вас диалоговое окно случайно не модальное?
...
Рейтинг: 0 / 0
25 сообщений из 180, страница 3 из 8
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопросы по структуре, организации и принципам кода в VB6->
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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