Установить значения свойств объектов формы




Задание по разработке линейного алгоритма (алгоритм следования)

Написать блок-схемный алгоритм и код исполнения в среде VBA для решения следующей задачи (п.1).

 

1. Постановка задачи. Магазин в течение месяца снизил цену товара стоимостью S рублей дважды: сначала на n1 процентов и, затем на n2 процентов. Определить цену товара s1 после первого снижения и цену товара s2 после второго снижения.Определить N — на сколько процентов снизилась первоначальная цена товара S.

Разработка математической модели решения задачи (формализация задачи).

Модель решения задачи:

s1 = S – S*n1/100 — цена товара после первого снижения цен.

s2 = s1 –s1*n2/100 — цена товара поcле второго снижения цен

N = 100 – s2/S*100 — на столько процентов снизилась за месяц первоначальная цена товара

Разработка блок-схемного линейного алгоритма решения задачи

Блок-схема решения

 
 

 


Рис. 1 Блок - схема алгоритма линейной структуры


 

Разработка проекта решения задачи

Выполним второй шаг на этапе создания программного обеспечения современного приложения. Для решения поставленной задачи достаточно написать две процедуры:

  • Расчет по алгоритму
  • Выход из программы

Выполнение этих процедур требуется привязать к нажатию кнопок соответственно:

  • Расчёт
  • Выход (см. Рис. 5)

 

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

1. Открыть приложение Excel.

2. Для доступа в среду VBA необходимо выполнить команды меню Сервис:

a Сервис Ø Макрос Ø Редактор Visual Basic

или

a нажать комбинацию клавиш <Alt + F11>

Окно структуры проекта

В результате появится экран среды программирования VBA (Рис. 2)

Рис. 2 Первоначальный вид экрана редактора VBA

Окно свойств объекта Лист1 класса Worksheet

 

3. Выполнить команду Insert Ø UserForm. В результате на экране появится объект – форма с именем UserForm1 и панель Toolbox с элементами управления, которую можно передвинуть (Рис. 3).

 


Рис. 3 Окно среды визуальной разработки пользовательского интерфейса

 

Проектирование программного обеспечения VBA включает выполнение трех пунктов:

1) Планирование пользовательского интерфейса на объекте UserForm1.

2) Установка значений свойств объектов – самой формы, кнопок, надписей, полей и др.

3) Написание программного кода – кодов процедур расчёта и выхода.

 

Чтобы понять систему программирования VBA, необходимо разобраться в понятии объект.

Перед Вами первый объект, с которым встречается пользователь среды программирования VBA, это форма UserForm1. Нажатием правой кнопкой мыши на форму открывается контекстное меню, в котором можно вывести на экран окно свойств формы и окно программного кода (Рис. 4):

 
 


 

 

Рис. 4

В окне свойств формы установите свойство Tехt равное строке “Снижение цены товара за месяц” без кавычек.В результате заголовок формы будет содержать введенный Вами Text.

Планирование пользовательского интерфейса

Для создания проекта на форме нужно разместить объекты: кнопки, метки и др. Объекты Visual Basic берём с панели Toolbox (опция меню Viw или значок ), перетаскиваем на форму UserForm1 и располагаем в соответствии с Рис. 5 и спецификацией:

 
 

Рис. 5 Пользовательский интерфейс проекта

 

Спецификация элементов формы пользовательского интерфейса:

§ 6 элементов Label — метка - это надписи.

§ 6 элементов TextBox — текстовое поле - это окошки ввода и вывода данных.

§ 2 элемента CommandButton — кнопка - это кнопки Расчёт и Выход для запуска кодов соответствующих процедур.

§ 1 элемент Image— рисунок - разделительная линия

§

Установить значения свойств объектов формы

Каждый объект имеет набор свойств. Важнейшим является свойство (Name) – имя. Значение этого свойства используется в программном коде для обращения к данному объекту. Внимательно следите за совпадением имени объекта в окне свойств и в коде программы!

Ниже перечислены свойства, которые нужно у объектов изменить. Если свойства нескольких объектов совпадают, то можно предварительно выделить эти объекты щелчком мыши с нажатой клавишей Shift, а затем задать значение свойства. Значение присвоится всей группе объектов.

§ Все 6 обектов Label имеют свойство Caption- надписи в соответствии с Рис. 5.
Тринижние метки имеют также свойство ForeColor = Purple и свойство Font = Arial; 9pt ( группа объектов ).

§ Все 6 объктов TextBox имеют свойство Text (устанавливается программно, просто посмотрите).

§ Две кнопки Button имеют свойство Caption Расчёт и Выход соответственно.

§ Объект — изображение Image имеет свойства BackColor = &H00C000C0& или любой другой цвет по вашему выборуи Height =3

Написать код программы

Программа имеет две процедуры, которые выполняются при событии Click (щелчок) по кнопкам CommandButtin1 (Расчёт) и CommandButton2 (Выход)

О ткрыть окно кода, дважды кликнув по кнопке Расчёт.

Появится заготовка процедуры события Click() для кнопки с именем CommandButton1.

Private Sub - начало процедуры

End Sub - конец процедуры

Между этими командами нужно написать программный код, выполняющий расчёт цен товара после скидок и процент скидки. Код программы пишется в соответствии с алгоритмом решения задачи - Рис. 1. и нижеприведённым текстом кодов процедур.

Аналогично создаётся код процедуры для кнопки Выход.

Пояснения в коде даются зелёным цветом и начинаются с апострофа'. Дайте чёткие и однозначно понятные пояснения к каждому оператору кода.

Тексты кодов процедур


Private Sub CommandButton1_Click() ‘Кнопка Расчет

Dim s, s1, s2 As Single ' Объявление переменных

Dim N, n1, n2 As Integer

s = Val(TextBox1.Text) 'Присвоение переменной s значения вводимого в поле

n1 = Val(TextBox2.Text)

n2 = Val(TextBox3.Text)

s1 = s - s * n1 / 100 'присвоение s1 значения вычисленного выражения

s2 = s1 - s1 * n2 / 100

N = 100 - s2 * 100 / s

TextBox4.Text = s1 'отображение значения s1 в поле

TextBox5.Text = s2

TextBox6.Text = Format(N, "Fixed")

End Sub


Private Sub CommandButton2_Click() 'Кнопка Выход

End

End Sub

Функция Val()

Val – функция преобразования строкового аргумента в числовой тип данных. Синтаксис Val(string). Эту функцию необходимо использовать, поскольку при вводе с клавиатуры числа в окошко объекта TextBox1, это число воспринимается языком Visual Basic как строковое значение, а нам нужно в дальнейшем использовать это значение в вычислениях как число.

В нашем случае в функции Val(TextBox1.Text) аргумент TextBox1.Text имеет тип string - строковый. Поэтому значение свойства Text объекта TextBox1 преобразуется функцией Val из строки в число и это значение числа присваивается переменной s. Далее переменная s используется в числовых вычислениях. Аналогично получаем значения переменных n1 и n2.

 

Проектирование закончено!

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: