Система програмування Visual Basic, Контент-платформа

система

МОУ ЗОШ №1 с. В.Балкарія

Робота написана з метою допомогти вчителю інформатики під час підготовки та проведення уроків на тему "Основи об'єктно-орієнтованого програмування".

visual

програмування

/З досвіду роботи/

Попередня робота містила переважно теоретичний матеріал. Тут же наводиться покрокова інструкція програмування на Visual Basic

вчитель математики та інформатики

Програмуємо таблицю множення

Звичайно, комп'ютери призначені в першу чергу для автоматизації математичних обчислень. Таблиця множення, яку ми зараз запрограмуємо, для комп'ютера дуже проста задача. Але наше завдання – навчиться працювати серед Visual Basic. Тут в основному ми будемо працювати з такими компонентами як двигун і прапорець. Тому, співмножники, що беруть участь в операції, будуть вводиться не з клавіатури, а вибиратимуться графічним способом - за допомогою елемента управління, який називається двигуном.

Двигун це новий для нас елемент управління. Він складається з шкали і бігунка, що рухається по ній. Бігунок пересувають шляхом перетягування або за допомогою кнопок управління курсором. Для двох співмножників нам знадобляться два двигуни. Першим двигуном вибирається перший співмножник, а другим - другий співмножник. При цьому значення, встановлене двигуном, можна побачити в полі, зробленому за допомогою об'єкта Напис.

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

visual
Загальний вигляд вікна програми повинен вийти приблизно такий, як показано на малюнку.

Готуємось до роботи.

Запустимо систему Visual Basic та створимо новий проект. Збережемо його в папці Множення. Для системи Visual Basic движки – це додаткові компоненти. Давайте підключимо їх. Клацніть правою кнопкою миші на панелі компонентів. Відкриється контекстне меню. Виберіть Components (Компоненти). Відкриється однойменне діалогове вікно. Встановіть у списку прапорець біля Microsoft Windows Common Controls 6.0 (Стандартні елементи керування Windows). Натисніть кнопку ОК. Внизу панелі компонентів з'являться додаткові кнопки.

Тепер на панелі компонентів з'явилася кнопка Sl/>

Нехай наша графічна таблиця множення працюватиме лише з однозначними та двозначними числами. Тобто значення співмножників можуть змінюватися від 2 до 99. Нам треба так настроїти властивості двигунів, щоб ними було зручно користуватися. Обидва двигуни повинні працювати абсолютно однаково, так що їх властивостям можна задати однакові значення. За допомогою панелі властивостей змінимо наступні властивості двигунів.

Min (Мінімум). Мінімальне значення двигуна. Воно досягається, коли бігун знаходиться на лівому краю смуги. Задамо тут значення 2.

Max (Максимум). Максимальне значення движка - бігунок на правому краю смуги. Задамо при цьому властивості значення 99.

Value (Значення). Ця властивість визначає поточне положення бігунка. При його русі ця властивість змінюється автоматично. За допомогою цієї властивості зручно задати початкове положення бігунка. Нехай спочатку бігун знаходиться в крайньому лівому положенні. Вкажемо для якості значення 2.

SmallChange (Мала зміна).Бігунок не обов'язково перетягувати за допомогою миші. Його можна рухати і курсорними клавішами: ВЛІВО і ВПРАВО, ВВЕРХ і Вниз. При цьому значення, задане двигуном, змінюється на величину, задану цією властивістю. Тут треба встановити мінімальне значення: 1.

LargeChange (Велика зміна). Бігунок також можна рухати клавішами PAGE UP та PAGE DOWN. Той самий ефект дає клацання лівою кнопкою миші на смузі движка поруч із бігунком. Значення движка у своїй змінюється на величину, задану цією властивістю. Давайте поставимо тут значення 7.

TickFrequency (Частота засічок). Ця властивість показує, наскільки щільно будуть розташовуватися засічки на смузі двигуна. Засічки допомагають стежити за становищем бігунка. Давайте вкажемо тут число 7, таке саме, як значення властивості LargeChange (Велика зміна). В цьому випадку по клацанню на смузі бігунок буде

перестрибувати від однієї засічки до наступної.

Вигляд двигуна після налаштування частоти засічок

Для другого движка всі налаштування задайте так само.

Укладемо твір у рамку. Рамка - це новий для нас елемент управління, досі ми таким компонентом ще не користувалися. Рамка може мати свій заголовок та оточувати групу інших елементів керування. Ми додаємо рамку просто для краси. Для цього є компонент Frame (Рамка). Виберіть його на панелі компонентів та намалюйте рамку на формі методом протягування. Можна відразу помістити її нижче і правіше двигунів. Пізніше ми уточнимо положення рамки.

Заголовок рамки, прийнятий за умовчанням, не підходить. Змініть її властивості Caption (Заголовок). Нехай над рамкою буде написано Твір. Заголовок рамки завжди знаходиться біля її верхнього лівого кута. Змінити його становище не можна.

Написи, як ми знаємо, створюються придопомоги компонента Label (Напис). Нам будуть потрібні три написи: два для співмножників і один для твору. Виберіть компонент Label (Напис) та намалюйте напис на формі методом протягування. Перший напис треба розмістити праворуч від верхнього двигуна. Інші написи додаються на форму так само. Другий напис помістіть поруч із другим двигуном, а третій розташуйте всередині заготовленої рамки. Щоб цифри виглядали красиво, вирівняйте праві межі написів на одній вертикальній лінії.

Почнемо налаштування створених об'єктів. Числа, які мають відображатися у написах, можуть бути однозначними, двозначними, тризначними та чотиризначними. Хотілося б, щоб відведене місце не залежало від довжини числа. Для цього треба, щоб значення властивості AutoSize (Автопідбір) для всіх трьох написів дорівнювало False (Ні). На щастя, саме це значення задається за умовчанням, тож міняти його не треба.

За допомогою маркерів уточніть розміри кожного напису. Ще нам треба змінити їхній текст. Оскільки наші двигуни встановлені в крайнє ліве положення, початкові значення множників дорівнюють 2, а початкове значення твору дорівнює, відповідно, 4. Введемо необхідні значення як Caption (Заголовок) кожної з написів.

basic
Форма все ще не дуже гарна, тому що наші числа примикають не до правого, а до лівого краю області напису. Але це легко виправити, змінивши значення якості Alignment (Вирівнювання) для об'єктів-написів. Задайте для всіх трьох написів значення 1 - Right Justify (Вирівнювання з правого краю).

Додаємо та налаштовуємо прапорець.

Виберіть компонент CheckBox (Прапорець) на панелі компонентів і намалюйте прапорець під двигунами

В отриманому об'єкті нас влаштовує все, окрім підпису. Тому змінітьCaption (Заголовок) — Введіть підпис Квадрат. Також можна змінити значення властивості Alignment (Вирівнювання). Якщо вибрати значення 1 - Right Justify (Вирівнювання з правого краю), то мітка прапорця виявиться не ліворуч, а праворуч від підпису.

Тепер форма готова, і ми можемо приступати до програмування.

Програмуємо роботу двигунів.

Двигуни у нашій програмі – це основні елементи управління. Для них ми маємо передбачити два режими роботи. Коли прапорець скинутий, двигуни працюють незалежно. Однак якщо прапорець встановлений, то співмножники повинні збігатися, а це означає, що обидва движки повинні завжди мати те саме значення, а їх бігунки - те саме положення. Перший режим (з вимкненим прапорцем) здається більш простим, так що спочатку запрограмуємо його.

Двигун — це лічильник, але не кнопковий, а графічний. Його найважливіша властивість – поточне значення. При цьому абсолютно неважливо, як було змінено стан двигуна: перетягуванням бігунка або клацанням на смузі, а може бути клавішами Вправо-ліворуч або PAGE UP - PAGE DOWN. Важливе лише нове значення. Тому нам треба опрацювати подію Change (Зміна). Воно виникає щоразу, коли становище бігунка змінюється.

Клацніть правою кнопкою миші на верхньому движку. Відкриється контекстне меню. Виберіть у ньому пункт View Code (Показати код) – відкриється вікно коду.

Перший об'єкт-движок називається Slider 1. Виберіть назву цього об'єкта у вікні коду в списку зліва. У списку праворуч виберіть Change (Зміна). Система Visual Basic створить процедуру Slider1_Change обробки цієї події.

(Система Visual Basic могла створити і заготівлю процедури Slider 1_Click. Її можна знищити, як обробляти клацаннями не збираємось).

Наша програма повинна міняти тільки написи, але не треба забувати, що якщо зміниться хоча б один із

співмножників, то зміниться і твір. Так, її зміниться положення першого бігунка, то треба змінювати властивості написів Label 1.Caption і Label3.Caption. Аналогічно, якщо зміниться становище другого бігунка, то треба змінювати як властивість Label2.Caption, так і властивість Label3.Caption.

Все це нам знайоме, але тут є одна проблема: напис містить рядок тексту, а положення движка - це число. Це не страшно – перетворити число в рядок може стандартна функція Str$. Отже, нам треба змінити два написи, а отже, додати два оператори.

Private Sub Sliderl_Change()

Labell. Caption = Str $ (Sliderl. Value)

Label3.Caption = Str$(Sliderl. Value * Slider2.Value)

1 та 4 оператори ввела система

2 та 3 оператори додали ми самі

Для обробки зміни другого двигуна треба створити аналогічну процедуру-обробник. Виберіть об'єкт Slider2 у вікні коду в розкривному списку ліворуч. У списку праворуч виберіть Change (Зміна). Нам потрібно зробити майже те саме, що й раніше. Різниця в тому, що ми змінюємо вміст іншого напису, виходячи зі значення іншого двигуна. Ось як виглядають потрібні оператори:

Label3.Caption = Str$(Sliderl. Value * Slider2.Value)

Перевіряємо нашу програму.

Найважливіше ми вже зробили. Програму можна запустити, натиснувши F5. Наша таблиця множення працює – обчислює добуток двох цілих чисел. Більше того, ми вже можемо встановлювати та скидати прапорець – це його базова функція. Однак жодного ефекту на роботу програми це поки що не робить.

Прапорець треба обробити особливо. Зараз ми цим ізаймемося. Закрийте вікно програми клацанням на кнопці, що закриває.

Програмуємо вплив прапорця.

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

Виберіть у вікні коду в списку зліва об'єкт Check 1 (це і є прапорець). Система Visual Basic сама створить процедуру обробки клацання Check1_Click. Ми можемо привести двигуни до однакового вигляду, просто зробивши значення другого двигуна таким же, як у першого. Для цього потрібний оператор:

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

А чому ми не змінюємо вміст напису? Тому що подія Change (Зміна) відбудеться при будь-якій зміні значення двигуна, у тому числі програмному. Ми вже маємо оброблювач цієї події — він і виконає всю роботу.

Ця процедура готова. Тепер нам треба внести зміни в обробники події Change (Зміна) для двигунів. Ці процедури наведені тут у вікні коду.

З'ясувати, чи встановлено прапорець або скинутий, можна за допомогою властивості Value (Значення). Якщо прапорець скинутий, ця властивість містить 0, а якщо встановлено — 1. Ми вже знаємо, що для виконання перевірок у програмах використовується умовний оператор, наприклад:

Checkl. Value = 1 Then

Якщо прапорець встановлений, наводимо другий двигун до значення першого:

Завершуєтьсяумовний оператор ключовими словами:

Такі самі оператори треба вставити і в другу процедуру обробки. Єдина відмінність полягає в тому, що ми наводимо перший двигун у відповідність до другого.

If Checkl. Value = 1 Then

Всі! Програма готова. Запустіть програму, натиснувши клавішу F5. Перевірте, як працюють двигуни і як впливає на роботу програми встановлення та скидання прапорця. Випробуйте різні способи управління двигунами.