Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_6.doc
Скачиваний:
97
Добавлен:
01.12.2018
Размер:
3.77 Mб
Скачать

6.8. Определение длины текста.

Len:

Функция Len возвращает количество символов в строке. Её синтаксис:

n = Len(<строка>)

Здесь параметр <строка> может быть переменной типа String, выражением типа String или переменной типа Variant.

При подсчёте количества символов в строке, функция Len учитывает все символы строки, включая пробелы, символы перевода каретки, символы перевода строки и т.д.

Пример. Вводится исходный текст, разделителями слов в котором служат символы “пробел”, “,”, “.”, “;”, “:”, “!”, “?”. Зеркально отобразить

каждое слово текста.

Private Sub Command1_Click()

Dim i%, k%, n%

Dim si$, s$, r$, sr$, srev$, f As Boolean

r = “ ,.;:!?”: f = True

si = InputBox(“Введите исходный текст”)

Проверяем, является ли последний символ текста разделителем.

s = Right$(si, 1)

For i = 1 To 7

If s = Mid$(r, i, 1) Then f = False

Next i

Если нет, то добавляем в конец исходного текста символ любого разделителя, например, пробел.

If f Then si = si & “ “

Text1.Text = si

Чтобы не портить исходный текст, копируем его во вспомогательную переменную sr, в которой будет формироваться результат решения задачи.

sr = si

Формируем массив всех слов исходного текста. Примем, что k – начальная позиция очередного слова, т.е. позиция его первого символа, а n – текущая позиция символов текста.

k = 1: n = 0

Do

n = n + 1

Для поиска очередного разделителя выделяем в переменную s последовательно все символы текста.

s = Mid$(si, n, 1)

For i = 1 To 7

If s = Mid$(r, i, 1) Then

Если да, то заносим очередное слово текста в переменную s, инвертируем его и в переменной sr заменяем исходное слово его инверсией.

s = Mid$(si, k, n – k)

srev = StrReverse(s)

sr = Replace(sr, s, srev)

Меняем начальную позицию поиска на позицию, следующую за найденным разделителем, и выходим из цикла For для поиска позиции следующего разделителя.

k = n + 1

Exit For

End If

Next i

Loop Until n = Len(si)

Text2.Text = sr

End Sub

Выполнив приложение, получим:

Рис. 6.1. Вид формы с решением задачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]