Робота з базами даних через інтерфейс

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Білоруський державний університет інформатики і радіоелектроніки
кафедра інформаційних технологій автоматизованих систем
РЕФЕРАТ
на тему:
«РОБОТА З БАЗАМИ ДАНИХ ЧЕРЕЗ ВІЗУАЛЬНИЙ ІНТЕРФЕЙС»
МІНСЬК, 2008

ПЛАН
1. Опис візуальних компонентів
2. Компонент Grid
3. Приклад програми з компонентами

Кожен візуальний компонент має набір властивостей, які можна встановлювати програмно або під час проектування програми. Для ознайомлення з деякими візуальними елементами напишемо перше просте додаток "біжить тарган". Створимо форму, як показано на рис.1.

Рис.1
На формі розміщена кнопка (компонент класу CommandButton), таймер (компонент класу Timer) і малюнок (компонент класу Image). Підготуємо два малюнки, які будуть змінювати один одного по події від таймера. У таймера є властивість Interval, спочатку рівне 0. У цьому випадку таймер не активний. Але якщо значення Interval одно, скажімо, 200, то кожні 200 мілісекунд (1 мілісекунди = однієї тисячної секунди) настає подія від таймера. За події від таймера і слід змінити малюнок таргана і перемістити його вправо на невелику відстань, створивши імітацію руху. Спочатку запрограмміруем кнопку наступним чином
timer1. Interval = 200
Form1. Tag = "1"
Перша з цих команд запускає таймер, друга - задає у властивості Tag об'єкта форми номер поточного відображуваного малюнка. Тепер запрограмміруем подія від таймера. Клацнемо мишею на іконці таймера двічі і напишемо наступний код
if Form1.Tag = "1" then
Form1.Image1.Picture = "d: \ msdev \ german \ croach2.bmp"
Form1.Tag = "2"
Form1.Image1.Left = Form1.Image1.Left +10
else
Form1.Image1.Picture = "d: \ msdev \ german \ croach1.bmp"
Form1.Image1.Left = Form1.Image1.Left +10
Form1.Tag = "1"
endif
Оброблювач події перевіряє, яка картинка завантажена: if Form1.Tag = "1" then ...
Якщо завантажена перша картинка, то вантажимо другу:
Form1.Image1.Picture = "d: \ msdev \ german \ croach2.bmp"
Змінюємо номер завантаженої картинки:
Form1.Tag = "2"
Після цього зміщуємо картинку ліворуч на 10 пікселів на формі:
Form1.Image1.Left = Form1.Image1.Left +10
Дії в частині else симетричні. Результуюче вікно програми має такий вигляд (рис.2).
Тепер відобразимо вікно, в якому будемо змінювати час руху таргана. Розмістимо на формі компонент Label (ярлик). Дамо йому фон кольори - жовтий. Вікно редагування прийме вигляд, показаний на рис. 3. Задамо значення властивості Alignment компонента Label1, рівним Center. Запам'ятайте, для того щоб поставити ту чи іншу властивість компонента на формі, потрібно виділити його клацанням миші і у вікні властивостей прописати потрібне значення для цієї властивості. Якщо вікно властивостей відсутній, то клацніть на компоненті правою кнопкою миші для відкриття контекстного меню і виберіть п. Properties. При установці, наприклад, кольору фону компонента Label1, слід у вікні властивостей знайти BackColor, виділити клацанням миші цей рядок, а потім відкрити палітру кольорів, натиснувши кнопку з трьома крапками у вікні властивостей безпосередньо під закладкою Other вгорі вікна.

Рис.2

Рис.3
Нам слід тепер дещо змінити обробник події від таймера:
if Form1.Tag = "1" then
Form1.Image1.Picture = "d: \ msdev \ german \ croach2.bmp"
Form1.Tag = "2"
Form1.Image1.Left = Form1.Image1.Left +10
else
Form1.Image1.Picture = "d: \ msdev \ german \ croach1.bmp"
Form1.Image1.Left = Form1.Image1.Left +10
Form1.Tag = "1"
Endif
Form1.Label1.Caption = TIME ()
Тут додано рядок Form1.Label1.Caption = TIME () для відображення часу.
Тепер задамо розмір і колір шрифту на компоненті LABEL1: FontSize = 16 (розмір шрифту), ForeColor - колір шрифту. Крім того, від часу залишимо тільки секунди:
if Form1.Tag = "1" then
Form1.Image1.Picture = "d: \ msdev \ german \ croach2.bmp"
Form1.Tag = "2"
Form1.Image1.Left = Form1.Image1.Left +10
else
Form1.Image1.Picture = "d: \ msdev \ german \ croach1.bmp"
Form1.Image1.Left = Form1.Image1.Left +10
Form1.Tag = "1"
Endif
s = TIME ()
k = AT (":", s)
s = SUBSTR (s, k +1, LEN (s))
k = AT (":", s)
s = SUBSTR (s, k +1, LEN (s))
s = ALLTRIM (s)
Form1.Label1.Caption = s
Спробуйте самостійно осмислити текст, поміщений відразу після ключового слова EndIf.
Тепер зробимо наступне. Розмістимо на формі список з назвами тарганів. При подвійному клацанні мишею на назві в списку буде проводитися видача короткої інформації (назви "бігуна") у текстовому полі (компонент TextBox) - рис.4.

Рис.4
Щоб запрограмувати обробку подвійного клацання на елементі списку, слід знайти подія DblClick у вікні властивостей списку (List) і вписати наступний код:
form1.text1.value = form1.list1.List (form1.list1.listindex)
Номер вибраного елемента у списку задається через властивість listIndex. Взагалі, елементи списку доступні через властивість List (i), де i визначає номер елемента списку. Вміст текстового поля доступно через властивість value компонента TextBox.
Додавання початкових значень в список по команді addItem реалізується в обробнику події Init для форми:
Do menu1.mpr with thisform
thisform.list1.addItem ("barbate")
thisform.list1.additem ("dreadfull")
thisform.list1.additem ("rapid")
Перший рядок збережемо для наступних цілей. Рядки
thisform.list1.addItem ("barbate")
thisform.list1.additem ("dreadfull")
thisform.list1.additem ("rapid")
Додають в список нові елементи під час ініціалізації форми. Зауважимо, що їх не можна включати в обробник події Load для форми, тому що при завантаженні форми список програмно не видно.
Достатній інтерес представляє використання чужорідних компонентів - ACTIVEX. Для цього скористаємося контейнером OLEBoundControl. Компонент OleBoundControl розташований на панелі елементів керування поруч із кнопками, текстовими полями, списками, малюнками та ін Цей компонент призначений для зберігання в ньому об'єкта OLE. Таким об'єктом може бути документ WORD, мультимедійний файл, малюнок PaintBrush та ін Компонент OleBoundControl зазвичай використовують для відображення полів таблиць, що містять OLE-об'єкти. Для того щоб скористатися OleBoundControl створимо нову таблицю, в якій буде всього два поля: nickname (кличка) таргана і photo (малюнок, який ми підготуємо PaintBrush). Таблицю назвемо runners (бігуни). Полю nickname при формуванні таблиці в конструкторі привласнимо тип Character, а полю photo - тип General. У FoxPro тип General як раз і використовується для зберігання OLE-об'єктів.
Нам потрібно занести малюнки із зображеннями тарганів в General-поля. Це робиться наступним чином. Відкриємо таблицю runners командою (кнопкою) Browse. Потім двічі клацаємо по полю General в кожному записі. Відкриється вікно редактора. Виберемо в головному меню FoxPro п. Edit, а в ньому - п.Insert Object. У новому вікні слід вибрати тип вставляється об'єкта (якщо він створюється вперше) та вказати, чи є він новим (тобто його потрібно створити) або знаходиться у файлі. Тут вибираємо другий варіант, тому тип об'єкта вказувати не треба. Слід вибрати файл зі вставляється об'єктом, використовуючи кнопку Browse. Ніяких інших установок не виробляємо. Відзначимо, що в цьому вікні можна встановити опцію Зв'язати. Якщо це зробити, то будь-яка зміна об'єкта-оригіналу автоматично призведе до зміни об'єкта, поміщеного в таблицю. Отже, після цих пояснень і попередніх дій вважаємо, що в таблиці runners поля photo містять малюнки із зображеннями тарганів.
Розмістимо на формі компонент OleBoundControl (перекреслений на рис.5).

Рис.5

Тепер розширимо наш додаток таким чином, щоб при виборі зі списку клички, обрана кличка знаходяться в таблиці runners і на компоненті OleBoundControl з'являвся відповідний малюнок. Для цього потрібно зв'язати компонент OleBoundControl з полем photo таблиці runners. Виділіть мишею об'єкт OleBoundControl і у вікні його властивостей знайдіть властивість ControlSource. Вручну встановіть в якості значення цієї властивості рядок runners.photo (Рис.6).

Рис.6

Тепер змінимо обробник події, що виникає при виборі елемента зі списку подвійним клацанням миші, наступним чином:
form1.text1.value = form1.list1.List (form1.list1.listindex)
close tables
use runners
locate for nickname = form1.text1.value
if found () =. T.
Form1.OleBoundControl2.Refresh
Endif
У наведеному фрагменті частина рядків
close tables
use runners
спочатку закриває всі відкриті таблиці, а потім вантажить таблицю runners в пам'ять. Команда
locate for nickname = form1.text1.value
виконує пошук запису, де значення поля nickname збігається з вмістом вибраного елементу списку.
Команди
if found () =. T.
Form1.OleBoundControl2.Refresh
перевіряють, знайдена чи запис, і в разі успіху оновлюють вміст компонента OleBoundControl. Оновлення вмісту виконується командою
Form1.OleBoundControl2.Refresh.
У результаті використання нового обробника для події подвійного клацання на елементі списку буде отримано вікно програми, поміщене на рис.7.

Рис.7
На закінчення розглянемо ще одну дуже цікаву можливість - використання елементів ACTIVEX, створених в інших системах програмування. Ми створимо два елементи ACTIVEX - один у DELPHI, другий - в Visual Basic. Обидва ці елементи будуть дуже прості та будуть представляти собою кнопку, після натиснення на яку виводиться повідомлення "Hello To participants!" ("Привіт учасникам змагання !!!"). Почнемо з DELPHI.
Для створення ACTIVEX у DELPHI потрібно створити спочатку порожній проект (Application), а потім закрити його. Після цього слід у меню системи вибрати п.File, потім - New. Далі виберіть закладку Other (для Delphi 7.0), а у вікні, - елемент ACTIVEXFORM. Система попросить ввести ім'я створюваного об'єкту ActiveX та ім'я OCX-файлу (файлу імплементації). Введіть ім'я елемента ActiveTable1, а ім'я OCX-файлу ActiveTableProj1. Натисніть кнопку OK. На екрані з'явиться звичайна форма Delphi. Розмістіть на ній кнопку (рис.8) і запрограмуйте її таким чином.

Рис.8

procedure TActiveTable.Button1Click (Sender: TObject);
begin
showmessage ('Hello To participants !!!');
end;
Більше робити нічого не треба. Відкомпілюємо цей файл. Для цієї мети натисніть комбінацію клавіш CTRL + F 9. Потім через меню File збережіть все за допомогою пункту Save All. При збереженні вкажіть місце, куди система помістить створені файли. Зауважимо, що в результаті описаних дій створений нами ACTIVEX-компонент буде також зареєстрований у реєстрі із зазначенням місця збереження. Більше DELPHI нам не потрібен. Повернемося до проекту Visual FoxPro. Наше завдання - розмістити створений компонент ActiveX на формі. Для цієї мети перейдемо до вікна дизайнера форми і в меню системи виберемо пункт Tools, підпункт Options. У вікні, виберемо закладку Controls. Після цього відкриється вікно діалогу, де виберемо віконце ActiveXControls (ріс9) і знайдемо в списку елементів той, який ми створили - ActiveTable.

Рис.9

Натиснемо кнопку OK після виділення даного елемента (квадратне віконце має бути перехрещені). Тепер на палітрі елементів виберемо праву іконку у верхньому ряду (праворуч від стрілки). Потім вкажемо ActiveX Controls (рис.10)

Рис.10 Рис.11

Після цього з'явиться віконце, показане на рис.11. Наш елемент - єдиний в середньому ряду (при наведенні на елемент курсору миші на ньому з'являється ідентифікує напис). Виберемо цей елемент і прорісуем його на формі (рис.12)

Рис.12

Програмувати цей елемент не треба. Результат, який ми досягли, показаний на рис.13

Рис.13
Того ж результату можна домогтися і за допомогою Visual Basic. Використовуємо Visual Basic 6.0.
1. Виберемо при відкритті головного вікна Visual Basic тип проекту ActiveXControl. Натисніть кнопку Відкрити. З'явиться звичайна форма, така ж як і для проекту. Розмістіть на ній кнопку і запрограмуйте так:
Private Sub Command1_Click ()
MsgBox "Hello to participants"
End Sub
2. Змінимо у вікні властивостей проекту ім'я створюваного елементу ACTIVEX і ім'я проекту з UserControl1 на myCTRL (Рис.14). Вікно проекту розташоване у правій частині екрана. Клацніть правою кнопкою миші на імені елемента UserControl1 і в контекстному меню виберіть пункт Properties (властивості). У вікні властивостей (справа внизу) встановіть нове значення властивості Name - myCTRL. Аналогічно змініть ім'я проекту з Project1 на MyCTRLProj. Для цього клацніть правою кнопкою миші на імені проекту - Project1 і у вікні властивостей введіть нове ім'я -. MyCTRLProj.


Рис.14

2. Скопіліруем ActiveX. Для цього з меню File запустимо команду Make myCTRLProj. ocx. Система запросить ім'я файлу, в якому слід зберегти скомілірованний елемент. Якщо повідомлень про помилку не було, то все закінчилося успішно.
4. Створений файл myCTRLProj.ocx підключається до проекту Visual Foxpro аналогічно тому, як це робили для DELPHI.

ЛІТЕРАТУРА
1. Педдок Р., Петерсон Дж., Телмейдж Р. Visual FoxPro 6. Розробка корпоративних додатків. М.: ДМК, 2006.-590С.
2. Фаронов В.В. Програмування баз даних у Delphi 6. - СПб., Пітер, -2002. -352с.
3. Пирогов В.П. MS SQL Server 2000. Управління та програмування. - СПб. БХВ.-2005,-600С.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
25.9кб. | скачати


Схожі роботи:
Робота з базами даних 2
Робота з базами даних
Робота з базами даних в MS Excel
Робота з базами даних Microsoft
Робота з базами даних в JAVA на основі з`єднання JDBC
Реляційна модель даних у системах управління базами даних
Інтерфейс передачі даних оптоволоконними каналами
Система управління базами даних 2
Системи управління базами даних
© Усі права захищені
написати до нас