Нестандартні діалогові вікна
Іноді з’ясовується, що можливостей діалогових вікон 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