Читаем Офисное программирование полностью

4) установить низкую безопасность, так как создаваемая форма не несет никакой угрозы для операционной системы вашего компьютера (рис. 17);

5) закрыть приложение (Word или Excel) и запустить его вновь.

Рассмотрим простейшие примеры работы с циклами.

Пример 5. Используя инструкцию case, создать программу, которая в зависимости от введенного значения переменной а производит различные вычисления с переменными b и c. Если значение переменной а не совпадает с программными, то выдается сообщение «Введено не то значение».

Все переменные вводятся в текстовые поля формы. При нажатии на кнопку «Результат» происходят выбор действия и вывод полученного значения в специальную метку формы.


Рис. 17. Включение режима низкой безопасности


Технология выполнения

1. Активизируйте приложение Word, сохраните документ под именем Case.

2. Перейдите в редактор VBA и создайте форму (рис. 18).

3. Пропишите обработчик кнопки «Результат».

Dim a, b, c, d As Integer

Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

Select Case a

Case 5

d = b + c

Label4.Caption = «Результат: d=» & d

Case 0

d = – b – c

Label4.Caption = «Результат: d=» & d

Case 10

d = b * c

Label4.Caption = «Результат: d=» & d

Case Else

Label4.Caption = «Введено не то значение»

End Select

End Sub

Рис. 18. Форма примера 5 в режиме конструктора


Для того чтобы программа работала корректно, необходимо перевести все текстовые значения, которые вводятся в текстовые поля, в числовые. Для этого прописывают в коде преобразование: a = Val(TextBox1.Text) и т. д. После чего программа уже работает с числовыми значениями.

Если программа в итоге выдает значение одного типа (числовое или строковое), то строку вывода результата можно прописывать по окончании всего блока Case. В данном примере сначала выводятся числовые значения (d), а затем строковое («Введено не то значение»). Поэтому вывод результата необходимо предусмотреть в каждой ветке Case.

Результаты работы показаны на рис. 19.

Пример 6. Создать программу, которая, используя пользовательское диалоговое окно (форму), выполняет следующие действия: при вводе трех переменных в текстовые поля она считывает данные и сравнивает с первой переменной а. Результат выдается в метку на форме (рис. 20).


Рис. 19. Некоторые результаты работы формы примера 5


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


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

Private Sub CommandButton1_Click()

Dim a, b, c As Integer

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

If a > b And a > c Then

Label1.Caption = «Значение а > b и a >c»

Else

Label1.Caption = «Значение а не всегда больше b и с» End If End Sub

Пример 7. Создать программу, которая, используя форму, выполняет следующие действия: при вводе переменной в текстовое поле она считывает данное значение а, после чего организует цикл for с шагом, равным 5, где при каждом шаге значение переменной b становится равным значению переменной а плюс шаг изменения. Итоговое значение с суммирует полученное значение b и введенное значение а. Результат выдается в метку на форме (рис. 21).


Рис. 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 выдается результат увеличения полученной суммы на значение последнего элемента массива.

Перейти на страницу:

Похожие книги

Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных