8.1.3        Элементы Список, Счетчик, Выключатель

Упражнение 14.      

Работу с элементами управления Список ,Счетчик и Выключатель рассмотрим на примере программы для расчетов  ипотечных кредитов.

Постановка задачи.  Известны: цена приобретаемого имущества; величина первоначального взноса, выраженная в процентах; годовая ставка (в процентах); срок погашения ссуды (в месяцах или в количестве лет).

Требуется разработать программу с диалоговым окном, вычисляющую: величину периодических выплат; общую сумму выплат; общую сумму комиссионных и величину начального взноса.

Метод. Для расчета  величины постоянных периодических выплат в библиотеке Visual Basic есть специальная функция Pmt (аналог функции Excel ППЛАТ). Ее синтаксис следующий:

Pmt(Ставка, Кпер, Нз, [Бз [, Тип]])

Где Ставка – процентная ставка за период;

        Кпер – количество периодов выплат для погашения кредита;

    Нз    - сумма, которую нужно погасить;

    Бз     - баланс наличности, который нужно достичь после последней выплаты;

    Тип   - признак того, когда производится выплата (0 - в конце периода, 1 – в начале периода платежа).

Разработка формы пользователя

В диалоговом окне должны быть предусмотрены элементы для ввода исходных данных и для вывода результатов. Для ввода данных используем три элемента Поле (для ввода цены имущества, величины первого взноса, и количества периодов выплаты). Для удобства установки количества периодов выплаты поместим в форму элемент Счетчик. Для указания типа периодов (месяцы или годы) используем два элемента Переключатель. Для указания, когда производится платеж (в начале периода или в конце) используем элемент Выключатель. Для ввода годовой процентной ставки применим элемент Список. Для вывода рассчитанных величин используем элементы Надпись. Для управления расчетом поместим элемент Кнопка. Вторую кнопку используем для выхода из программы. После размещения в форме всех элементов управления и установки свойств Caption для элементов управления и самой формы она будет выглядеть примерно так, как изображено на рис.8.3.


Рис. 8.3. Форма пользователя для расчета ипотеки

Для определения свойств элементов управления и обрабатываемых событий составим таблицу.

Таблица 8.3

Элемент

Присваеваемое имя

Значение свойства

Обрабатываемое событие

UserForm

Ipoteca

Caption –Расчет по ипотечному кредиту

Initialize:

1.       Установка границ элемента Счетчик

2.       Определение значений для элемента Список

3.       Удаление текста из надписей, в которые выводится результат.

 

TextBox1

TextBox1

 

Change:

1.       Записывает свое значение в элемент Счетчик

 

ToggleButton1

ToggleButton1

ControlTipText – “Щелкните, чтобы переключить

Click:

2.       Устанавливает значение признака (1 –если платеж делается в начале периода и 0 –если в конце)

 

SpinButton1

SpinButton1

 

Change:

3.       Записывает свое значение в элемент TextBox1

 

CommandButton1

CommandButton1

 

Click:

Подготовка переменных и выполнение расчетов

 

CommandButton2

CommandButton2

 

Click:

Завершает работу программы

 

ListBox1

ListBox1

ControlTipText – “Выберите из списка величину ставки

 

 

Далее выполните следующие действия:

1.       Для процедуры обработки события Initialize Формы запишите следующий код программы:

Private Sub UserForm_Initialize()

Назначение значений элементу Список

ListBox1.List = Array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)

Установка минимального и максимального значения счетчику

SpinButton1.Min = 0

SpinButton1.Max = 1000

OptionButton1.Value = True

Label1.Caption = "Месяцев"

ToggleButton1.Caption = "В начале периода"

Label7.Caption = ""

Label8.Caption = ""

Label9.Caption = ""

Label11.Caption = ""

End Sub

2.       Для процедуры обработки события Change элемнта TextBox1 запишите следующий код:

Private Sub TextBox1_Change()

If TextBox1.Text = "" Then Exit Sub

SpinButton1.Value = CInt(TextBox1.Text)

End Sub

 3.       Для процедуры обработки события Change элемента Счетчик запишите код:

Private Sub SpinButton1_Change()

TextBox1.Value = SpinButton1.Value

End Sub

4.       Для процедуры обработки события Click элемента Кнопка запишите код:

Private Sub CommandButton1_Click()

Dim Ставка As Double

Dim Кпер As Integer

Dim Тип As Byte

Dim Нз As Double

Нз = TextBox2.Value - TextBox2.Value * TextBox3.Value / 100

Label9.Caption = Нз

Ставка = ListBox1.Value

Ставка = Ставка / 100

If OptionButton1.Value = True Then

Ставка = Ставка / 12

End If

Кпер = TextBox1.Value

If ToggleButton1.Value = True Then Тип = 1 Else Тип = 0

Label7.Caption = Int(Pmt(Ставка, Кпер, -Нз, , Тип))

Label8.Caption = Label7.Caption * Кпер

Label11.Caption = Label8.Caption - Label9.Caption

End Sub

5.       Для процедуры обработки события Click другого элемента Кнопка запишите код:

Private Sub CommandButton2_Click()

End

End Sub

6.       На рабочем листе Лист1 поместите кнопку формы и назначьте для нее макрос для обработки события Щелкнуть. Запишите код:

Sub Кнопка1_Щелкнуть()

Показать форму

Ipoteca.Show

End Sub

7.       Перейдите на рабочий лист Лист1 и щелкните на размещенной в нем форме. На экране появится созданная форма (рис.8.4).

8.       Введите данные для расчета и проверьте, правильно ли выполняются вычисления. В случае необходимости отладьте программу.

Рис.8.4. Вид диалогового окна с результатами расчета

Задание для самостоятельной работы

Разработайте программу с диалоговым окном для расчета величины постоянных периодических выплат при погашении кредита. Исходными данными для расчета являются:

·         Величина кредита;

·         Количество выплат за год;

·         Срок кредита (в количестве годов);

·         Годовая процентная ставка.

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

  
Hosted by uCoz