Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic в примерах.docx
Скачиваний:
17
Добавлен:
18.08.2019
Размер:
1.1 Mб
Скачать

Заполнение массива

Пример:

Dim MyStr(5) As String

MyStr(0) = “Добрый день”

MyStr(1) = “Здравствуйте”

MyStr(2) = “Привет”

MyStr(3) = “Добрый вечер”

MyStr(4) = “До свидания”

MyStr(5) = “Пока”

Как видно из примера, массив удобнее всего заполнять в цикле For…Next (так как количество индексов заранее известно и они идут по порядку)

Динамический массив

Хотя обычно число элементов в массиве определяется при его объявлении, иногда необходимо изменить размеры массива во время выполнения программы.

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

ReDim [Preserve] ИмяМассива(Размер) As ТипМассива

Preserve – необязательное ключевое слово, указывающее на необходимость сохранения прежних значений элементов массива при переопределении.

Пример:

Dim MyStr() As String

ReDim MyStr(5)

MyStr(0) = “Добрый день”

MyStr(1) = “Здравствуйте”

MyStr(2) = “Привет”

MyStr(3) = “Добрый вечер”

MyStr(4) = “До свидания”

MyStr(5) = “Пока”

ReDim Preserve MyStr(6)

MyStr(6) = “How do you do”

Мы рассматривали одномерные массивы (массив-строка). Так же используются двумерные и более массивы. Двумерный массив-таблица объявляется следующим образом:

Dim|Public|Private ИмяМассива(Столбец, Строка) As ТипМассива

Например, массив для фамилий и адресов удобнее сделать двумерным:

Dim FamAdr(1,4) As String

FamAdr(0, 0) = “Иванов“

FamAdr(0, 1) = “Петров“

FamAdr(0, 2) = “Сидоров“

FamAdr(0, 3) = “Кузнецов“

FamAdr(0, 4) = “Андреев“

FamAdr(1, 0) = “Свердлова, 12/58“

FamAdr(1, 1) = “Папанина, 25/7“

FamAdr(1, 2) = “Сивко 4/87“

FamAdr(1, 3) = “Сафонова 5/8“

FamAdr(1, 4) = “Старостина 58/9“

Такой массив представляется в виде таблицы, и его можно обрабатывать не только весь, но и отдельно строки или столбцы.

Используя массив, обычно заполняют списки и поля со списками.

Самостоятельно

Создать 2 массива – один для ввода фамилий сотрудников, другой для ввода их зарплаты. Заполнить их в процедуре Form_Load. По нажатии кнопки вывести всех сотрудников с их зарплатами в элемент список в виде:

Петров 5642

Сидоров 2567

И т. д.

Не забудьте объявить массив в разделе general. (Dim)

Работа со строками

Основная задача при работе со строками – возможность выделить части строки и перестроить их согласно определенным требованиям.

Определение длины строки

Функция Len() возвращает число символов, из которых образована строка.

Формат записи:

ЦелаяПеременная = Len(строка)

Пример:

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

Код:

Private Sub Command1_Click()

Label1.Caption = Len(Text1.Text)

End Sub

Усечение строк

Функция Left() берет начальное число заданных символов строки.

Функция Right() выбирает указанное число символов с правого края.

Формат записи:

ЦелаяПеременная = Left(Строка, ЧислоСимволовCлева)

ЦелаяПеременная = Right(Строка, ЧислоСимволовСправа)

Пример:

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

Код:

Private Sub Command1_Click()

Label1.Caption = Left(Text1.Text,3)

End Sub

Эта программа выводит в метку первые три символа введенного в Text1 слова

Аналогично для Right

Получение произвольной подстроки:

Функция Mid() возвращает определенное число символов строки, начиная с указанной позиции.

Формат записи:

ЦелаяПеременная = Mid(Строка, Начало, ДлинаПодстроки)

Начало – целое число, указывающее на начальную позицию извлекаемой подстроки

Длина – длина извлекаемой подстроки.

Если в функции Mid() опустить ДлинуПодстроки, то будет выведена подстрока от начальной позиции до конца строки.

Пример:

Выделить подстроку «Аллан» из строки «Эдгар Аллан По»

Result = Mid(“Эдгар Аллан По”, 7, 5)

Поиск символов в строке:

Функция InStr() используется для того, чтобы выяснить, является некоторый символ или подстрока частью другой строки. Возвращает число, соответствующее начальной позиции подстроки в проверяемой строке.

Формат записи:

ЦелаяПеременная = InStr()

Пример:

Форма:

Код:

Private Sub Command1_Click()

Text3.Text = InStr(Text1.Text, Text2.Text)

End Sub

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