Нестандартні діалогові вікна

Іноді з’ясовується, що можливостей діалогових вікон MsgBox і InputBox не вистачає, і тоді вам доводиться конструювати власні діалогові вікна. У своїх проектах прагніть використовувати одні і ті ж діалогові вікна, щоб всі додатки виглядали однаково.

Оболонкою називається функція, в якій викликаються інші функції і процедури. Оболонки спрощують програму і дозволяють створювати модулі, призначені для багаторазового використовування. Основна перевага оболонки полягає у тому, що ви можете всього один раз написати програмний код, а користуватися ним знову і знову. Розглянемо приклад:

Відкрийте вікно програми для попереднього прикладу. Додайте наступний фрагмент:

Private Sub cmdTryMe_Click()

Dim rс As String

rс = InputBox("Введіть ім’я:")

If rс = "АДМІНІСТРАТОР" Then

MsgBox "Здрастуй, адміністратор!"

Else

MsgBox "Привіт, " & re & "!"

End If

End Sub

3. Запустіть додаток.

4. Введіть в текстовому полі АДМІНІСТРАТОР і натисніть кнопку ОК.

Використання структури Select Case для обробки вхідних значень із поля зі списком

Ви використовуєте властивості List1.Text і List1.Listlndex для отримання вхідних даних, скористаєтеся структурою Select Case для відображення вітального повідомлення на одній з чотирьох мов.

Об’єкт Властивість______Значення

Labell Caption (Напис) Міжнародна програма

Вітань

Font (Шрифт) Times New Roman, Bold,

14-point

Label2 Caption (Напис) Виберіть країну

Label3 Caption (Напис) (Порожньо)

Label4 Caption (Напис) (Порожньо)

BorderStyle 1 - Fixed Single

(Тип рамки) (Одинарна суцільна лінія)

ForeColor Dark red (Темно-

червоний)

(Колір напису) (&Н00000080&)

Commandl Caption (Напис) Вихід

Після встановлення властивостей ваша форма повинна виглядати таким чином. Тепер введемо текст програми для ініціалізації поля зі списком. Двічі клацніть на формі. У вікні Code з’явиться процедура Form_Load. Введіть наступний текст для ініціалізації поля із списком:

Private Sub Form_Load()

List1.AddItem "Англія"

List1.AddItem "Германія"

List1.AddItem "Іспанія"

List1.AddItem "Італія"

List1.AddItem "Росія"

End Sub

Відкрийте список об’єктів, клацніть на об’єкті з ім’ямList1.

У вікні Code з’явиться процедура List1_Click.

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

Private Sub List1_Click()

Label3.Caption = List1.Text

Select Case List1.ListIndex

Case 0

Label4.Caption = "Hello, programmer"

Case 1

Label4.Caption = "Hallo, Programmierer"

Case 2

Label4.Caption = "Hola, programador"

Case 3

Label4.Caption = "Ciao, programmatori"

Case 4

Label4.Caption = "Привет, программист"

End Select

End Sub

Відкрийте список об’єктів, виберіть об’єкт з ім’ям Command1. У вікні Code з’явиться процедура Commandl _Click. Ввести словоEnd в текст процедури, потім закрити вікно Code. Зберегти форму на диску під ім’ямMyCase.frm, зберегти проект під ім’ямMyCase.vbp. Клацнути на кнопці Start (Пуск) на панелі інструментів для запуску програми MyCase. Послідовно клацайте мишею на кожній назві країни в списку Вибирайте країну. Програма показує вітання на мові кожної з країн в списку. На наступному рисунку показане вітання на російській мові.

Контрольні питання.

1. Які типи діалогових вікон ви знаєте?

2. Що таке нестандартні діалогові вікна?

3. Призначення оператора Select Case?

Завдання для самостійного розв’язку.

Створити програму – перекладач (з російської мови на українську).

 

ПРАКТИЧНА РОБОТА 6

СТВОРЕННЯ ПРОСТИХ ПРОГРАМ

1. МЕТА РОБОТИ

Вивчення методики програмування обчислювальних процесів різних типів.

2. ЗАВДАННЯ І ПОРЯДОК ВИКОНАННЯ

2.1. Ознайомитися з наведеними прикладами.

2.2. Виконати задачі, для самостійної роботи.

 

Створити програму.

Private Sub Command1_Click()

Dim Prompt, FullName

Prompt = "введіть ім'я"

FullName = InputBox(Prompt)

MsgBox (FullName)

End Sub

Створити програму

Private Sub Command1_Click()

End

End Sub

Private Sub Form_Load()

'Формування списку

List1.AddItem "Integer"

List1.AddItem "Long integer"

List1.AddItem "Single precision"

List1.AddItem "Double precision"

List1.AddItem "Currency"

List1.AddItem "String"

List1.AddItem "Boolean"

List1.AddItem "Date"

List1.AddItem "Variant"

End Sub

Private Sub List1_Click()

' Оголошення змінних

Dim Birds%, Loan&, Price!, Pie#, Debt@, Dog$, Total

Dim Flag As Boolean

Dim Birthday As Date

'Оператор вибору

Select Case List1.ListIndex

Case 0

Birds% = 37

Label4.Caption = Birds%

Case 1

Loan& = 350000

Label4.Caption = Loan&

Case 2

Price! = -1234.123

Label4.Caption = Price!

Case 3

Pie# = 3.1415926535

Label4.Caption = Pie#

Case 4

Debt@ = 299950.95

Label4.Caption = Debt@

Case 5

Dog$ = "Мармуровий дог"

Label4.Caption = Dog$

Case 6 '"Істина" відображається як -1, "хибний" - 0

Flag = True

Label4.Caption = Flag

Case 7 використання символу # у форматі відображення дати

Birthday = #11/19/1963#

Label4.Caption = Format$(Birthday, "dddd, mmmm dd, yyyy")

Case 8

Price = 99.95

Label4.Caption = Price

End Select

End Sub

Виконати програму

Ця програма демонструє дії операторів додавання, віднімання, множення та ділення над числами, що вводяться з клавіатури. Вона також показує, як використовувати текстові поля, перемикачі і кнопки для введення даних користувачем.

Private Sub Command1_Click()

Dim First, Second ' Опис змінних

First = Val(Text1.Text)

Second = Val(Text2.Text)

If Option1.Value = True Then

Label1.Caption = First + Second

End If

If Option2.Value = True Then

Label1.Caption = First - Second

End If

If Option3.Value = True Then

Label1.Caption = First * Second

End If

If Option4.Value = True Then

Label1.Caption = First / Second

End If

End Sub

Private Sub Command2_Click()

End

End Sub

У вікні Code буде відображена процедура Command1_Click. Перший оператор процедури описує дві змінні - загального використання типу варіант. В них будуть зберігатися значення, введені в текстових полях. Цей тип змінних досить гнучкий для використання з будь-якими числовими даними.

First = Val (Text1 .Text) ‘надаємо значення змінним і

конвертуємо їх у числовий формат

Second = Val (Text2.Text)

Функція Val перетворить текстовий аргумент у числове значення. Це перетворення необхідне для коректного виконання наступних операцій у програмі. За замовчуванням дані, введені в текстове поле, представляються текстовим рядком. Оператори -, *,^, / працюють тільки з числами, тому при виборі користувачем однієї з цих операцій Visual Basic автоматичне перетворить значення у числа.

Оператор „+” працює як з текстовими рядками, так і з числами. Оскільки за замовчуванням введені дані повертаються у вигляді тексту, Visual Basic інтерпретує значення First і Second як текст при застосуванні операції додавання. Visual Basic здійснить об'єднання, чи конкатенацію, замість того, щоб арифметично скласти значення. (Наприклад, «100» + «17» буде дорівнювати «10017».)

Якщо, продивитися зміст вікна Code і розглянути чотири формули, що використовують основні математичні операції. У першій формулі процедури використовується операція додавання (+) умовній структурі If...Then:

If Optionl. Value = True Then

Labell. Caption = First + Second End If

Якщо властивість Value (Значення) першої кнопки вибору встановлена в True (Істина), то змінні додаються операцією +, а результат присвоюється полю Labell. В трьох інших формулах використовується той же принцип: у кожній з них застосовується структура If...Then і властивість Caption (Напіс) об'єкта Labell (Підписи).

Ідентифікація користувача за допомогою структури If...Then

Створити програму.

Private Sub Command1_Click()

UserName = InputBox("Введіть Ваше ім'я.")

If UserName = "Лаура" Then

MsgBox ("Ласкаво просимо, Лаура! Ви готові до включення ПК?")

Form1.Picture = LoadPicture("c:\1.bmp")

ElseIf UserName = "Макс" Then

MsgBox ("Ласкаво просимо, Макс! Ви готові до показу картотеки?")

Form1.Picture = LoadPicture("c:\2.bmp")

Else

MsgBox ("Вибачте! Я Вас не знаю:")

End

End If

End Sub

Контрольні запитання.

1. Призначення функції Val?

2. Яким оператором можна вивести картинку на форму?

Завдання для самостійного розв’язку.

1. Створити програму калькулятор з арифметичними операціями множення. піднесення до степеня, діленням.

2. Скласти програму – тестування.

 

ПРАКТИЧНА РОБОТА 7

Використання циклів

1. МЕТА РОБОТИ

Вивчення методики програмування обчислювальних процесів з використанням циклів.

2. ЗАВДАННЯ І ПОРЯДОК ВИКОНАННЯ

2.1. Ознайомитися з наведеними прикладами.

2.2. Виконати задачі, для самостійної роботи.

Створити програми:

Private Sub Command1_Click()

For і = 1 To 10

Print "ЛІНІЯ "; і

Next i

End Sub

 

Private Sub Command1_Click()

For i = 1 To 10

FontSize = 5 + i