КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Практическая часть. Пример №1. Определить количество слов в строке, разделенных пробелами
Пример №1. Определить количество слов в строке, разделенных пробелами.
Private Sub Command1_Click() s = Split(Text1, " ") ' Слова разделяются пробелами s1$ = "" ' n - дает верхнюю границу массива, n- Количество слов n% = UBound(s) For i% = 0 To n s1 = s1 & s(i) & vbCrLf Next Text2 = s1 & n + 1 End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "" Text2 = "" End Sub
Пример №2. Дана строка. Поменять местами первый и последний символы каждого слова. Слова разделены пробелами.
DefStr V Private Sub Command1_Click() s = Split(Text1, " ") v1 = "": v2 = "": v3 = "": v4 = "": v5 = "" n% = UBound(s) ' n - дает верхнюю границу массива For i% = 0 To n 'количество слов r = s(i) v1 = Left(r, 1) v2 = Right(r, 1) v3 = Replace(r, v1, v2, 1, 1) v4 = Left(v3, Len(v3) - 1) v5 = v5 & v4 & v1 & vbCrLf Next Text2 = v5 & n + 1 End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №3. Подсчитать количество слов, разделенных множеством разделителей: пробелами, запятыми или точками.
Option Base 1 Dim ss(10) As String ‘ Описан массив из 10 слов Private Sub Command1_Click() s$ = Text1 s = LTrim(s) k% = Len(s) n% = 1 ' номер слова ss(n) = "" For i% = 1 To k s1$ = Mid(s, i, 1) If s1 = " " Or s1 = "," Or s1 = "." Then s1 = Mid(s, i + 1, 1) 'Проверяем следующий символ, если он не окажется символом разделителем, ' то переходим к следующему слову If Not (s1 = " " Or s1 = "," Or s1 = ".") And (i <> k) Then n = n + 1 'And (i <> k) - если в конце строки запятая, то ss(n) = "" ' счетчик числа слов не будет увеличиваться End If ' Если второй и последующие символы являются разделителями, ' то ничего не делать во внутреннем IF Else ss(n) = ss(n) & s1 End If Next i st$ = "" 'Печать слов For i = 1 To n st = st & ss(i) & vbCrLf Next Text2 = st & n End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №4. Заменить в строке все символы % на $ и наоборот.
Option Base 1 Dim ss() As String * 1 'Описан массив, длиной компоненты в 1 символ Private Sub Command1_Click() s$ = Text1 k% = Len(s) ReDim ss(k) For i% = 1 To k s1$ = Mid(s, i, 1) ss(i) = s1 Next For i% = 1 To k If ss(i) = "%" Then ss(i) = "$" ElseIf ss(i) = "$" Then ss(i) = "%" End If Next s1 = "" For i% = 1 To k s1 = s1 & ss(i) Next Text2 = s1 End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №5. Подсчитать количество слов «Саша» в строке.
Private Sub Command1_Click() k% = 1 'указатель поиска n% = 0 'счетчик слов S$ = Text1 Do k = InStr(k, S, "Саша") 'определить позиция слова в строке If k <> 0 Then k = k + Len("Саша") 'передвинуть указатель поиска n = n + 1 'подсчитать это слово End If Loop Until k = 0 Text2.Text = n End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №6. Удалить из строки все русские буквы «о».
Private Sub Command1_Click() s$ = Text1 ss$ = "" k% = Len(s) j = 1 Do While j <= k st = Mid(s, j, 1) If st = "о" Then d1$ = Mid(s, 1, j - 1) d2$ = Mid(s, j + 1, k) s = d1 & d2 k = k - 1 End If st = Mid(s, j, 1) If st = "о" Then j = j - 1 j = j + 1 Loop Text2 = s End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №7. Подсчитать, какое количество каждой буквы русского алфавита находится в строке.
Private Sub Command1_Click() Dim a(192 To 255) As Byte Dim ch As String * 1 For i% = 192 To 255 a(i) = 0 Next s$ = Text1 k% = Len(s) For i = 1 To k ch = Mid(s, i, 1) If ch >= Chr(192) And ch <= Chr(255) Then a(Asc(ch)) = a(Asc(ch)) + 1 End If Next s = "" For i = 192 To 255 If a(i) <> 0 Then s = s & Chr(i) & vbTab & a(i) & vbCrLf End If Next Text2 = s End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №8. Отсортировать строку по алфавиту.
DefStr S 'm - указатель на символ в строке для перестановки Dim m As Integer Dim n As String * 1
Private Sub Command1_Click() s$ = Text1 k% = Len(s) For i% = 1 To k - 1 m = i For j% = i + 1 To k If Mid(s, j, 1) < Mid(s, m, 1) Then m = j Next j n = Mid(s, i, 1) s1 = Left(s, i - 1) s = Replace(s, Mid(s, i, 1), Mid(s, m, 1), i, 1) s = s1 + s s2 = Left(s, m - 1) s = Replace(s, Mid(s, m, 1), n, m, 1) s = s2 + s Next i Text2 = s End Sub Private Sub Form_Load() Text1 = "": Text2 = "" End Sub
Пример №9. Подсчитать сколько раз в текстовом файле встречаются русские буквы «а» и «А». Дописать полученное число в конец проверяемого файла.
Private Sub Command1_Click() Dim s As String n% = 0 Open "C:\Мои документы\Массивы.txt" For Input As #1 Do Line Input #1, s k = Len(s) For i% = 1 To k y$ = Mid(s, i, 1) If UCase(y) = "А" Then n = n + 1 Next Loop Until EOF(1) Text1 = n Close #1 Open "C:\Мои документы\Массивы.txt" For Append As #1 Write #1, n Close #1 End Sub Private Sub Form_Load() Text1 = "" End Sub
Пример №10. Прочитать содержимое файла в текстовое поле. Заменить в каждой строке слова «размера» на слова «порядка» и записать в новый файл.
Private Sub Command1_Click() Open "C:\Мои документы\Массивы.txt" For Input As #1 Open "C:\Мои документы\Result.txt" For Output As #2 Text1 = Input(LOF(1), 1) s$ = Replace(Text1, "размера", "порядка") s1$ = StrReverse(s) ' перевернуть текст и вывести в поле Print #2, s Text2 = s1 Close End Sub
Дата добавления: 2014-12-23; Просмотров: 588; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |