ListBoxЫЫЫ

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

ListBoxЫЫЫ

Сообщение _Мика_ » 18.10.2004 (Пн) 12:34

Есть три ЛистБокса. В первом :
123
456
789
012
345
678
Во втором:
--123--
--456--
--789--
--012--

Вринцапи это не важно что в них, я к примеру.
А в третьм должно быть все совпадшие значения из лист1 и лист2
Ну т.е. грубо говоря в лист3 должно быть --123--
--456--
--789--
--012--
Я так полагаю надо через InStr. Я пробовал, но у меня получалось что в Лист3 оказывались значения из лист2 и они повторялись в нем столько сколько значений в Лист1




Блиг че я сам уже запутался, если будет не понятно, гоаворите! :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.10.2004 (Пн) 13:04

Поставть на форму 3 List и кнопку.
Вот код:
Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
    Dim I As Long, J As Long, K As Long, L As Long
   
    For I = 0 To List1.ListCount - 1
        For J = 0 To List2.ListCount - 1
            If InStr(List2.List(J), List1.List(I)) <> 0 Then
                K = -1
                ''''''''''''''
                'эта часть проверяет список (list3) на повторяющие элементы
                For L = 0 To List3.ListCount - 1
                    If List3.List(L) = List2.List(J) Then
                        K = L
                        Exit For
                    End If
                Next
                ''''''''''''''
                If K = -1 Then
                    List3.AddItem List2.List(J)
                End If
               
            End If
        Next
    Next
   
End Sub

Private Sub Form_Load()
    List1.AddItem "123"
    List1.AddItem "456"
    List1.AddItem "789"
    List1.AddItem "012"
    List1.AddItem "345"
    List1.AddItem "678"

    List2.AddItem "--123--"
    List2.AddItem "--456--"
    List2.AddItem "--789--"
    List2.AddItem "--012--"
End Sub

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 18.10.2004 (Пн) 13:44

О спасибо, у меня код был приблизительно такой же только вместо InStr(List2.List(J), List1.List(I)) <> 0 я писал InStr(List2.List(J), List1.List(I)) <> ""
Еще раз спасибо!!
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.10.2004 (Пн) 14:21

Да незачто, мы и есть чтобы помогать друг-другу 8)


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList  
cron