Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Поиск и замена Добавлено: 12.09.09 10:53  

Автор вопроса:  ηikolaŠ~rus | ICQ: 604058327 
Делаем ПОИСК и Замену
Ну вот, сейчас мы сделаем Поиск и Замена, как в Word Pad.
На форму кинь 3 текстовых поля(Text1 - Текст, в котором будет осуществляться поиск и замена,
Text2 - искомое слово, Text3 - Слово, на которое будет замененно найденное слово)
У тебя должно получиться что - то на подобие этого:
Теперь, перейдем к программной части:
Dim Zamena As Boolean
Private Sub Command1_Click()
' Если слово не найденно, то выводим сообщение, и выходим из процедуры:
If InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) = 0 Then
MsgBox "Слово '" & Text2.Text & "' Не найденно", 64, "Найти и Заменить"
Exit Sub ' Выходим из процедуры
End If
If Zamena = True Then ' Если переменная zamena = True, т.е. слово уже найденно(и выделенно), то:
Text1.SetFocus ' Ставим курсор в текстовое поле
Text1.SelStart = InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) ' Устанавливаем курсор
перед найденным словом
Text1.SelLength = Len(Text2.Text) ' Выделяем столько символов, сколько вписанно в Text2
Text1.SelText = Text3.Text ' Заменяем выделенное слово, на текст Text3
Zamena = False
Exit Sub
End If
If InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) <> 0 Then ' Если слово найденно, то:
Text1.SetFocus ' Ставим курсор в текст. поле
Text1.SelStart = InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) ' Устанавливаем курсор
перед найденным словом
Text1.SelLength = Len(Trim(LCase(Text2.Text))) ' Выделяем
Zamena = True
End If
End Sub


почему не идет ????мож он с ошибкой написал??

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #1
Добавлено: 12.09.09 12:06
Exit Sub ' Выходим из процедуры
End If

Поменяй местами

End If
Exit Sub ' Выходим из процедуры

Конструкция должна быть типа:
  1. Sub BlaBlaBla()
  2.   If Bla... then
  3.   End if
  4. End Sub


А тут у тебя вообще всё в кашу.
Private Sub
If
Exit Sub
End If
If
Exit Sub
End If
If
End If
Exit Sub

3 If'a, 3 End If'а
1 Sub, 3 End Sub'a
ЧТо это такой? Осмысли текст!

Ответить

Номер ответа: 2
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #2
Добавлено: 12.09.09 12:08
Туплю!

Ответить

Номер ответа: 3
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #3
Добавлено: 12.09.09 12:22
  1. Dim I As Long
  2. ' Если слово не найденно, то выводим сообщение, и выходим из процедуры:
  3. I = InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) ' Чтобы сохранить переменную
  4. If I = 0 Then
  5.   MsgBox "Слово '" & Text2.Text & "' Не найденно", 64, "Найти и Заменить"
  6.   Exit Sub ' Выходим из процедуры
  7. End If
  8.  
  9. If Zamena = True Then ' Если переменная zamena = True, т.е. слово уже найденно(и выделенно), то:
  10.   Text1.Text = Mid$(Text1.Text, 1, I - 1) & Text3.Text & Mid$(Text1.Text, I + Len(Text2.Text))
  11.   Text1.SetFocus
  12.   Text1.SelStart = I - 1
  13.   Text1.SelStart = I
  14.   Zamena = False
  15.   Exit Sub
  16. End If
  17.  
  18. If InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) <> 0 Then ' Если слово найденно, то:
  19.   Text1.SetFocus ' Ставим курсор в текст. поле
  20.   Text1.SelStart = InStr(1, Trim(LCase(Text1.Text)), Trim(LCase(Text2.Text))) - 1 ' Устанавливаем курсор
  21.   Text1.SelLength = Len(Trim(LCase(Text2.Text))) ' Выделяем
  22.   Zamena = True
  23. End If

Ответить

Номер ответа: 4
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #4 Добавлено: 12.09.09 14:11
ето прога из учебника 9етот код писал автор)

Ответить

Номер ответа: 5
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #5
Добавлено: 13.09.09 00:46
Вот тут готовый блокнотец. Функции поиска и замены присутствуют, писан в VS 2005.
http://rapidshare.com/files/279210171/NPD.rar.html

Ответить

Номер ответа: 6
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #6
Добавлено: 13.09.09 00:46
оппа! Я так понимаю, надо в VB6 :). Прошу прощения...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам