14.09.2006, 16:20
общий
это ответ
Здравствуйте, Pithon!
Посмотрите мой ответ на вопрос 40011.
А для ответа привожу код преобразования и определения количества предложений, слов и букв в вводимом тексте.
На форме Form1 имеется TextBox1 и Label1.
Данные вводятся в TextBox1 по правилам, описанным в приложении, а в Label1 выводится результат.
С уважением.
Приложение:
Private Sub Text1_Change()Dim simv As String * 1b = 0s = 0p = 0p1 = Falses1 = False‘В состав набранного текста входят буквы, символы пунктуации, из которых нам важна точка‘как символ разделения между предложениями, и пробелы, которые разделяют слова.‘Правило написания предложений:‘1. Слова разделяются пробелами‘2. Первое слово, заключенное в скобки (кавычки), пишется без пробела‘3. Закрывающая скобка (кавычка) пишется без пробела‘4. После знаков пунктуации ставится пробел‘5. Точка, восклицательный и вопросительный знаки используются только как признак конца предложения‘6. При обработке начальные и конечные пробелы обрезаютсяIf Len(Trim(Form1.Text1)) > 0 Then‘Если длина текста ненулевая, есть первое слово и первое предложение p = 1 s = 1 For i = 1 To Len(Trim(Form1.Text1)) simv = Mid(Trim(Form1.Text1), i, 1) If p1 And Not (simv = "." Or simv = "!" Or simv = "?") Then ‘если после точки еще есть символы кроме знаков препинания, значит следующее предложение p = p + 1 p1 = False End If If s1 And Not simv = " " Then ‘если после пробела еще есть символы кроме пробела, значит следующее слово s = s + 1 s1 = False End If Select Case simv Case ".", "!", "?" ‘признак возможного начала следующего предложения p1 = True Case " " ‘признак возможного начала следующего слова s1 = True Case "A" To "Z", "a" To "z", "А" To "Я", "а" To "я", "Ё", "ё" b = b + 1 End Select NextEnd IfForm1.Label1 = "предложений - " & p & " слов - " & s & " букв - " & bEnd Sub