Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_Razv_VBA.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
385.02 Кб
Скачать

6. Код проекта

Для реализации задачи в коде проекта необходимо предусмотреть обработку следующих процедур:

1) загрузка (инициализация) формы;

2) вычисление суммы к оплате за купленный товар;

3) расчет сдачи и вывод результата.

4) подготовка рабочего места к работе.

Тексты соответствующих процедур представлены ниже.

Загрузка формы (установка системного времени и даты)

На рис. 3.3 представлен программный код процедуры установки на форме системного времени и даты, ввода исходных данных (значений скидок и порогового значения стоимости), а также установка движка полосы прокрутки на текущий день недели. Данная реализуется при наступлении события – загрузка формы (нажатие на панели управления кнопки Run Sub/UserForm).

Private Sub UserForm_Initialize()

'Установка движка полосы прокрутки на текущий день недели

If Weekday(Date) = 1 Then ScrlНеделя.Value = 7 Else _

ScrlНеделя.Value = Weekday(Date) - 1

'Заполнение полей значения скидок

TxtОбычный.Text = 0

TxtОптовый.Text = 5

TxtЛьготный.Text = 10

TxtПорог.Text = 100

TxtПн.Text = 0

TxtВт.Text = 1

TxtСр.Text = 2

TxtЧт.Text = 3

TxtПт.Text = 4

TxtСб.Text = 5

TxtВс.Text = 6

TxtСкидка1.Text = 2

'Вывод системного времени и даты

Dim DtmSegodnya As Date

Dim DtmSejchas As Date

DtmSegodnya = Date

DtmSejchas = Time

TxtДата.Text = FormatDateTime(DtmSegodnya, vbShortDate)

TxtВремя.Text = FormatDateTime(DtmSejchas, vbLongTime)

End Sub

Рис. 3.3. Процедура загрузки формы

Вычисление суммы к оплате за купленный товар

На рис. 3.4 представлен программный код процедуры расчета суммы к оплате за купленный товар с учетом скидок при наступлении события – щелчок по кнопке на форме «РАСЧЕТ» (CmdРасчет).

Option Explicit

Public CurZena As Currency, CurSum As Currency, CurOpl As Currency, _

CurNalch As Currency, CurSdasha As Currency, CurPorog As Currency, _

SngSk1 As Single, SngSk2 As Single, SngSk3 As Single

Private Sub CmdРасчет_Click()

'Объявление переменных

Dim IntKolich As Integer

'Ввод исходных данных

CurZena = CCur(TxtЦена.Text)

CurPorog = CCur(TxtПорог.Text)

IntKolich = CInt(TxtКоличество.Text)

'Расчеты

CurSum = CurZena * IntKolich

'Однострочный оператор If

If (ChkСкидка.Value = True) And (CurSum >= CurPorog) _

Then SngSk1 = CCur(TxtСкидка1.Text) Else SngSk1 = 0

'Расширенный оператор If

If (OptОбычный.Value = True) Then

SngSk2 = CCur(TxtОбычный.Text)

ElseIf (OptОптовый.Value = True) Then

SngSk2 = CCur(TxtОптовый.Text)

Else

SngSk2 = CCur(TxtЛьготный.Text)

End If

'Оператор выбора Select Case

Select Case ScrlНеделя.Value

Case 1: SngSk3 = CCur(TxtПн.Text)

Case 2: SngSk3 = CCur(TxtВт.Text)

Case 3: SngSk3 = CCur(TxtСр.Text)

Case 4: SngSk3 = CCur(TxtЧт.Text)

Case 5: SngSk3 = CCur(TxtПт.Text)

Case 6: SngSk3 = CCur(TxtСб.Text)

Case 7: SngSk3 = CCur(TxtВс.Text)

End Select

CurOpl = CurSum * (1 - (SngSk1 + SngSk2 + SngSk3) / 100)

'Вывод результата

TxtОплата.Text = Format(CurOpl, "# ##0.00")

End Sub

Рис. 3.4. Процедура расчета суммы к оплате за купленный товар

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