Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Затуп.. помогите... / 8 сообщений из 8, страница 1 из 1
29.05.2009, 00:28
    #36014654
Slavich11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Даны 2 текстовых файла, один в файле, другой в textbox. Нужно сравнить каждое слово из textbox, с каждым словом из файла, и в случае если они совпадают выделить это слово в тексте(в textbox) цветом. Вот мой код...

Private Sub Command3_Click()
Dim txt As String
Dim alltxt As String
Dim mas As Variant
Open "M:\КУРСОВОЙ\Прога VB\noun.txt " For Input As #1
Do Until EOF(1)
Line Input #1, txt
alltxt = alltxt + txt + vbCrLf
Loop
mas = Split(alltxt, vbCr)
Close #1

For Each itm In mas
Print itm
Next itm


Dim s As String
Dim m As Variant
m = Split(Text1.Text)
For Each itm In m
p% = InStr(itm, ".")
If p <> 0 Then
itm = Left(itm, p - 1)
End If
Print itm
Next itm


For Each itm In mas
For Each itm In m
If itm = itm Then
Print itm
Next m
Next mas

End Sub

Считал с файла, разбил сплитом на пробелы и строки (в файле каждое слово записано с новой строки), записал в массив.
То же самое сделал и с текстом из textbox , убрал знаки препинания в конце слов.

А вот со сравнением массивов меня застопорило... For each во вложенном цикле не работает... Задавать длину массива мне почему то кажется стремным... Или всетаки придется задать??? Что посоветуете??? Спасибо!
...
Рейтинг: 0 / 0
29.05.2009, 06:48
    #36014761
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
если for each во вложенном цикле не работает может использовать другой цикл? увеличивать счётчик на единицу и проверять пока существует такой элемент массива
...
Рейтинг: 0 / 0
29.05.2009, 10:05
    #36014985
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Slavich11А вот со сравнением массивов меня застопорило... For each во вложенном цикле не работает... Что посоветуете??? Спасибо!попробуйте в качестве итераторов двух циклов две разные переменные
...
Рейтинг: 0 / 0
29.05.2009, 10:29
    #36015058
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Это голова не работает, а не циклы. Почему в качестве энумераторов в РАЗНЫХ циклах ипользуется ОДНА И ТА ЖЕ переменная? Ну а сравнивать ее саму с собой — вообще за гранью добра и зла. Я уже не говорю про такую мелочь, как переменные массивов, подставленные в next.
...
Рейтинг: 0 / 0
29.05.2009, 10:36
    #36015081
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Antonariy, строка Open "M:\КУРСОВОЙ\Прога VB\noun.txt " многое объясняет
...
Рейтинг: 0 / 0
29.05.2009, 10:43
    #36015102
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Тогда снимаю шляпу. Один из немногих представителей студенчества, здесь объявлявшихся, кто хотя бы пытается заставить свою голову работать. Однако If itm = itm непростительно в любом случае.
Код: plaintext
1.
2.
3.
4.
For Each itm1 In mas
    For Each itm2 In m
        If itm1 = itm2 Then Print itm1
    Next itm2
Next itm1
...
Рейтинг: 0 / 0
29.05.2009, 18:18
    #36016544
Slavich11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Antonariy,
Спасибо...
я просто for each никогда не использовал , и считал itm -ключевым словом :) хехе..
...
Рейтинг: 0 / 0
29.05.2009, 19:05
    #36016611
Slavich11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Затуп.. помогите...
Сделал как надо.
For Each itm1 In mas
For Each itm2 In m
If itm1 Like (или "=") itm2 Then
Print itm1
End If
Next itm2
Next itm1

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


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