Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2009, 18:02   #1
Berckyt
 
Регистрация: 15.03.2009
Сообщений: 5
По умолчанию Определить количество вхождений строки S1 в строку S2

Задачу нужно решить двумя способами:
1) С использованием любых функций для работы со строками
2)С использованием только функций Mid, Len, Asc, Chr
вот первый код
Код:
Private Sub CommandButton1_Click()
Dim s1, s2 As String
s1 = TextBox1.Text
s2 = TextBox2.Text
MsgBox (InStr(1, s2, s1))
End Sub
Но тут только находится номер строки, с какого s1 входит в s2, как сделать подсчет количества вхождений?
Во втором коде ступор
Berckyt вне форума Ответить с цитированием
Старый 15.03.2009, 20:58   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Что-то функций многовато. Хватит двух.
Код:
Private Sub CommandButton1_Click()
  Dim s1$, s2$, i#, Counter#
  s1 = TextBox1.Text
  s2 = TextBox2.Text
  If s1 = "" Or s2 = "" Or Len(s2) <= Len(s1) Then Exit Sub
  For i = 1 To Len(s2) - Len(s1)
    If Mid(s2, i, Len(s1)) = s1 Then Counter = Counter + 1
  Next i
  
  MsgBox "Строка «" & s1 & "» встречается в строке «" & s2 & "» " & Counter & " раз.", _
    vbOKOnly + vbInformation
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 15.03.2009, 22:45   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Berckyt, ну и нахрена такое делать?!
тема продублирована:
http://www.programmersforum.ru/showthread.php?t=41891
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.03.2009, 23:51   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Серж, про дубль я не знал.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 16.03.2009, 00:17   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

viter.alex, Да ну что Вы! К Вам никаких претензий!! Наоборот, Вы здесь "пострадавшая" сторона — если бы Вы знали про дубли, то может и не тратили время...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.03.2009, 00:27   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
viter.alex, Да ну что Вы! К Вам никаких претензий!! Наоборот, Вы здесь "пострадавшая" сторона — если бы Вы знали про дубли, то может и не тратили время...
Какое там время! Пока сынок пытался разобрать машинку, у меня руки освободились, вот и наваял.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vba определить количество вхождения строки S1 в строку S2 Berckyt Помощь студентам 4 17.08.2011 20:24
Определить сумму и количество четных элементов массива KREGI Общие вопросы Delphi 10 05.03.2009 18:18
Определить строку на численность. Небесный Общие вопросы Delphi 9 11.11.2008 08:25
Возможно ли определить количество акаунтов Windows bayern JavaScript, Ajax 1 22.09.2007 22:46