Литмир - Электронная Библиотека
Содержание  
A
A
Офисное программирование - i_040.png

Рис. 21. Форма примера 7 в режиме конструктора и в рабочем состоянии

Листинг примера 7

Dim a As Variant

Dim b As Integer

Dim c As Integer

Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)

For i = 1 To 12 Step 5

b = a + i

c = a + b

Next i

Label1.Caption = a & "+" & b & "=" & c

End Sub

Пример 8. Создать программу, которая выполняет следующие действия: организованный цикл for each присваивает переменной b, объявленной в программе, последнее значение массива, также определенного программой. После этого происходят вычисления, предложенные в программе:

в метку label2 выдается результат увеличения полученной переменной на значение первого элемента массива;

в метку label3 выдается результат увеличения полученной суммы на значение второго элемента массива;

в метку label4 выдается результат увеличения полученной суммы на значение третьего элемента массива;

в метку label6 выдается результат увеличения полученной суммы на значение последнего элемента массива.

Результат выдается для наглядности в различные метки на форме (рис. 22).

Офисное программирование - i_041.png

Рис. 22. Форма примера 8 в режиме конструктора и в рабочем состоянии

Листинг примера 8

Dim b As Variant

Private Sub CommandButton1_Click()

Dim d(1 To 4) As Variant

d(1) = 15

d(2) = 0

d(3) = -10

d(4) = 25

For Each b In d

b = d(1) + b

Label2.Caption = «d(1)=» & d(1) & « b=» & b

b = d(2) + b

Label3.Caption = « d(2)=» & d(2) & « b=» & b

b = d(3) + b

Label4.Caption = « d(3)=» & d(3) & « b=» & b

b = d(4) + b

Label6.Caption = « d(4)=» & d(4) & « b=» & b

Next b

End Sub

Примечание. Как говорилось выше, For Each … Next не использует счетчик цикла. Циклы For Each … Next выполняются столько раз, сколько имеется элементов в определенной группе, такой как коллекция объектов или массив. Другими словами, цикл For Each … Next выполняется один раз для каждого элемента в группе. Вследствие чего данный цикл используется в основном в специфических действиях, таких как поиск необходимого листа в коллекции объектов и т. д., и не используется при решении простых задач.

Задачи на закрепление материала

Пример 9. Создать программу, которая, используя данные, считанные из текстовых полей формы, после нажатия на кнопку выводит сообщение:

«Здравствуй, введенное имя, студент группы номер группы специальности название специальности!»,

где введенное имя – значение из первого текстового поля;

номер группы – значение из второго текстового поля;

название специальности – значение из третьего текстового поля.

Пример 10. Создать программу, которая, используя данные, считанные из текстовых полей формы, выполняет следующие действия: если введенный текст одинаков, то выдается сообщение «значение1 совпало с значением2», если введенный текст неодинаков, то выдается сообщение «значение1 не совпало с значением2», где значение1 и значение2 – введенные слова.

Примечание. При разработке программы лучше использовать оператор Like (рис. 23).

Офисное программирование - i_042.png

Рис. 23. Форма примера 10 в рабочем режиме

Глава 3

Массивы, процедуры, функции

3.1. Организация массивов

Одномерные массивы

Массив (array) – это коллекция переменных, которые имеют общие имя и базовый тип. Массив является удобным способом хранения нескольких связанных элементов данных. Все элементы данных, сохраняемых в массиве, должны иметь один и тот же тип.

Наименее сложный массив – это просто список элементов данных; такого рода массив называется простым, или одномерным, массивом. Подобный массив можно представить в виде очереди, где каждому элементу очереди присваивается не только порядковый номер (место в очереди), но и его конкретное значение (имярек).

Чтобы создать массив, нужно определить: его имя, количество элементов (размер массива), тип данных, которые будут храниться в массиве.

Массивы создаются при помощи оператора Dim:

Dim ИмяМассива (размер) As ТипДанных

Если вместо слова Dim набрать слово Public, будет создан массив, областью видимости которого станет вся программа.

Пример:

Dim МойМассив(3) As Integer

Создан массив по имени МойМассив, состоящий из четырех элементов и способный хранить значения типа Integer.

Так как отсчет элементов начинается с нулевого номера, то ставится цифра 3.

Другая версия задания массива: указать первый и последний номера элементов массива:

Dim МойМассив (1 То 3) As Integer

Элементы созданного массива не содержат никаких данных. Чтобы сохранить в массиве какое-нибудь значение, нужно указать, какому элементу оно должно быть присвоено. Предположим, создан массив, который может содержать в себе до пяти строк:

Dim Сотрудник(4) As String

Если необходимо первому элементу массива присвоить значение Иван Никитин, надо прописать такой код:

Сотрудник(0) = «Иван Никитин»

В большинстве программ при создании массива сразу же инициализируют его, присвоив каждому элементу нулевое значение или пустую строку. Это можно сделать, используя цикл for next, например:

Dim сотрудник(4) As String

Dim I As Integer

For I = 0 To 4

Сотрудник (i) = ""

Next I

Значения элементов массива можно присваивать другим переменным, например:

Dim сотрудник(4) As String

Dim отпуск As String

Сотрудник(3) = «Иван Никитин»

отпуск = сотрудник(3)

Здесь:

1) первой строкой создается массив Сотрудник, состоящий из пяти текстовых значений;

2) второй строкой создается текстовая переменная, именуемая отпуск;

3) третьей строкой четвертому элементу массива (которому соответствует третий порядковый номер) присваивается значение Иван Никитин;

4) в четвертой строке переменной отпуск присваивается значение элемента массива Сотрудник, которому соответствует третий порядковый номер.

Обычно элементы массива содержат значения, относящиеся к одному типу данных, например только строки или только целые числа. Если же необходимо, чтобы в массиве содержались данные разных типов, при создании массива укажите тип данных Object:

Dim МойМассив as object

Элементы такого массива могут содержать значения разных типов:

мойМассив(0) = «Спрут»

мойМассив(1) = 56

мойМассив(2) = 3.1415

Двумерные массивы

Порядок создания двухмерного массива тот же, что и одномерного, с той лишь разницей, что, указывая его размер, нужно указать два значения – строки и столбцы:

Dim ДвухММассив (Строки, Столбцы) As ТипДанных

9
{"b":"95947","o":1}