Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как убрать 2 и более пробелов!!!


Автор: Гость_Sergei 19.12.2005, 20:25
Проблема такая: в данной программе вычисляется кол-во слов с удвоенными согласными, написанными через пробел...Все хорошо, кроме одного - когда я нажимаю пробел более одного раза, программа его распознает как слово без удвоенных согласных...ВОПРОС: Как сделать так, чтобы один и более пробелов не распознавались как слова, а лишь средство связи слов в тексте! ПРОСЬБА: Помогите доработать код, чтобы не было такой проблемы...Заранее СПАСИБО!!!
Код

Private Sub txt1_Change()
Dim Word As String
Dim Schetchik%, j%, i%, count%, flag As Boolean
Const soglasnie$ = "бвгджзйклмнпрстфхцчшщ"
For i = 1 To Len(txt1)
    Word = Trim(Mid(txt1, i, InStr(i, txt1, " ", vbBinaryCompare)))
If Trim(Word) <> "" Then
j = 1
flag = False
   Do While j <= Len(Word$) And flag = False
     If Mid(Word, j + 1, 1) = Mid(Word, j, 1) And _
     InStr(soglasnie, Mid(Word, j, 1)) <> 0 Then Schetchik = Schetchik + 1: flag = True
   j = j + 1
 Loop
     count = count + 1
   i = InStr(i, txt1, " ", vbBinaryCompare)
End If
Next i
On Error Resume Next
lbl1 = Format(Schetchik / count * 100, "0.00") & "%"
If txt1.Text = "" Then lbl1.Caption = ""
End Sub

Автор: Exception 19.12.2005, 21:46
Используй теги для кода! Голый текст раздражает. Читать код в таком виде неудобно. Приведи пример, где не работает. А вообще есть такая супер-тулза: дебаг. Ее и пользуй

Автор: Voldemar2004 19.12.2005, 23:02
Вот, что он хочет:
Цитата
Как сделать так, чтобы один и более пробелов не распознавались как слова,
здесь надо использовать цикл, что-то наподобие: если следующий символ <> " " тогда пропускаем, иначе: i=i+1 до тех пор, пока не встретим символ, не равный 'пробелу'. Где i - счетчик цикла в строке (строку естественно пробегаем посимвольно).

Автор: Akina 20.12.2005, 00:04
перед строкой 5 вставить:

Код

while instr(txt1,"  ")>0
   txt1=replace(txt1,"  "," ")
wend


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)