Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклад застосування оператора Select Case




End Select

Case Else

...

Case <значенняN або віразN>

ділянка програми, що виконується, якщо Х = значенняN або выразN

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

фактичному значенню Х

Виконання оператору Select Case залежить від значення змінної Х – змінної варіанти. У першій гілці обчислюється значення виразу1, якщо він є в операторі, результат або значення1 порівнюється з фактичним значенням змінної Х. Якщо в наслідок порівняння отримано значення “істина”, виконуються оператори, які йдуть після рядка Case. Коли отримано значення “брехня”, обчислюється значення виразу2, змінна Х порівнюється з отриманим результатом або значенням2, якщо значення рівні, виконується друга гілка і т.д. Гілка Case Else в операторі не обов'язкова, виконується, якщо жодна з умов не відповідає фактичному значенню Х.

Щоб розглянути використання оператора Select Case на прикладі потрібно доробити програму, створену в п.1 Після редагування програма повинна включати засоби аналізу клавіші, натиснутої при введенні даних у полях txta, txtb, txtx, txty. Припустимим вважається натискання спеціальних клавіш (наприклад, клавіш керування курсором, Del, Home), клавіші Backspace, десяткової крапки, цифр від 0 до 9. У форму необхідно помістити ще один елемент - етикетку lblMesKey для виведення повідомлення у випадку натискання неприпустимої клавіші. Після натискання будь-якої клавіші в текстовому полі, якому відповідає подія KeyPress, потрібно виконати аналіз натиснутої клавіші. Якщо натиснута неприпустима клавіша, то видається повідомлення про помилку і вміст текстового поля знищується, у противному випадку ніяких дій не виконується. Аналіз натиснутої клавіші виконується за допомогою цілої числової змінної KeyAscii. Через цю змінну в момент натискання (подія KeyPress) процедурі, яка відповідає події, передається значення ASCII-коду натиснутої клавіші. Процедура повинна перевіряти символ, що вводиться, на припустимість. Список припустимих у процедурах кодів наведено в таблиці:

Значення змінної KeyAscii Пояснення
  Спеціальні клавіші
  Backspace
  Десяткова крапка
48..57 Цифри від 0 до 9

 
 

На етапі візуального програмування потрібно змінити ім'я форми, помістити у форму додатковий елемент - етикетку lblMesKey.

Рисунок 3 - Вікно програми -приклада використання оператора Select Case

 

До коду програми потрібно додати процедуру, яка подана в таблиці.

Дані в рядку коду Коментар
Private Sub txta_KeyPress (KeyAscii As Integer) Процедура, що виконується у випадку натискання будь-якої клавіші в полі txta для введення перемінної а. Для створення процедури потрібно виконати подвійне клацання лівою кнопкою миші на текстовому полі.
lblMesKey.Caption = " " Властивості Caption етикетки lblMesKey (для виведення повідомлення про помилку) привласнюється значення “ëû“ (порожній рядок).
Select Case KeyAscii Початок оператора Select Case, що реалізує розгалуження виконання програми в залежності від значення стандартної змінної KeyAscii
Case 0, 8, 46, 48 To 57 У тому випадку, якщо змінна KeyAscii дорівнює 0, 8 або 46, або знаходиться в діапазоні від 48 до 57 ніяких дій не виконується.
'Припустиме значення Рядок коментарю, який введено для зручності читання коду програми.
Case Else інакше, коли жодна з умов не відповідає значенню змінної KeyAscii виконуються такі дії
'Неприпустиме значення  
lblMesKey.Caption = "Натиснута неприпустима клавіша" Властивості Caption етикетки lblMesKey привласнюється значення " Натиснута неприпустима клавіша ".
txtа.Text = " " Властивості Text текстового поля txtа привласнюється значення “ëû“ (порожній рядок).
KeyAscii = 0 Змінної KeyAscii присвоюється значення 0.
End Select Завершення оператора Select Case.
End Sub Завершення процедури txtа_KeyPress
Private Sub txtb_KeyPress (KeyAscii As Integer) Процедура, що виконується у випадку натискання будь-якої клавіші в полі txtb для введення перемінної b. Для створення процедури потрібно виконати подвійне клацання лівою кнопкою миші на текстовому полі.
lblMesKey.Caption = " " Властивості Caption етикетки lblMesKey (для виведення повідомлення про помилку) привласнюється значення “ëû“ (порожній рядок).
Select Case KeyAscii Початок оператора Select Case, що реалізує розгалуження виконання програми в залежності від значення стандартної змінної KeyAscii
Case 0, 8, 46, 48 To 57 У тому випадку, якщо змінна KeyAscii дорівнює 0, 8 або 46, або знаходиться в діапазоні від 48 до 57 ніяких дій не виконується.
'Припустиме значення Рядок коментарю, який введено для зручності читання коду програми.
Case Else інакше, коли жодна з умов не відповідає значенню змінної KeyAscii виконуються такі дії
'Неприпустиме значення  
lblMesKey.Caption = "Натиснута неприпустима клавіша" Властивості Caption етикетки lblMesKey привласнюється значення " Натиснута неприпустима клавіша ".
txtb.Text = " " Властивості Text текстового поля txtb привласнюється значення “ëû“ (порожній рядок).
KeyAscii = 0 Змінної KeyAscii присвоюється значення 0.
End Select Завершення оператора Select Case.
End Sub Завершення процедури txtb_KeyPress

 

Private Sub txtx_KeyPress (KeyAscii As Integer) Процедура, що виконується у випадку натискання будь-якої клавіші в полі txtx для введення перемінної x. Для створення процедури потрібно виконати подвійне клацання лівою кнопкою миші на текстовому полі.
lblMesKey.Caption = " " Властивості Caption етикетки lblMesKey (для виведення повідомлення про помилку) привласнюється значення “ëû“ (порожній рядок).
Select Case KeyAscii Початок оператора Select Case, що реалізує розгалуження виконання програми в залежності від значення стандартної змінної KeyAscii
Case 0, 8, 46, 48 To 57 У тому випадку, якщо змінна KeyAscii дорівнює 0, 8 або 46, або знаходиться в діапазоні від 48 до 57 ніяких дій не виконується.
'Припустиме значення Рядок коментарю, який введено для зручності читання коду програми.
Case Else інакше, коли жодна з умов не відповідає значенню змінної KeyAscii виконуються такі дії
'Неприпустиме значення  
lblMesKey.Caption = "Натиснута неприпустима клавіша" Властивості Caption етикетки lblMesKey привласнюється значення " Натиснута неприпустима клавіша ".
txtx.Text = " " Властивості Text текстового поля txtx привласнюється значення “ëû“ (порожній рядок).
KeyAscii = 0 Змінної KeyAscii присвоюється значення 0.
End Select Завершення оператора Select Case.
End Sub Завершення процедури txtx_KeyPress

 

7. Програмування циклічних обчислювальних процесів.

Циклічними є алгоритмічні процеси, які дозволяють повторювати частину програми декілька разів. Кожне повторювання операторів всередині циклу називають ітерацією. Кількість повторювань (ітерацій) може бути відомою заздалегідь або залежати від істинності деякої логічної умови.




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 357; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.