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

start [/forum/topic.php?fid=60&tid=2160915]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
123ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 465ms |

| 0 / 0 |
