Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Practica.TSPiS.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3.4. Власний ScreenSaver

3.4. Створення власного ScreenSaver (Хранитель экрана) (додатки\ScreenSaver.sWO.zip)

3.4.1. Створюємо проект в середовищі C++Builder 6. Встановлюємо Project->Options->Application->Target file extension значення scr (Рис3.19)

Рисунок 3.19 – налаштування проекту

Виконуємо пункт 3.1.3 даної практичної роботи. Зберігаємо проект.

3.4.2. Встановлюємо на формі Label1 та Timer1.

3.4.3. В вікні інспектора подій головного вікна в подію OnActivate вписуємо наступний код:

// Дозволяємо змінювати прозорість вікна.

Form1->AlphaBlend=True;//

// Встановлюємо значення прозорості вікна, максимум 255.

Form1->AlphaBlendValue=210;//

/* Встановлюємо стиль рамки віка "без рамки" .*/

Form1->BorderStyle==bsNone;//

/* Встановлюємо відкриття вікна на весь екран.*/

Form1->WindowState=wsMaximized;//

// Встановлюємо вивід нашого вікна поверх всіх вікон.

Form1->FormStyle==fsStayOnTop;//

// Встановлюємо колір форми.

Form1->Color=clBlack;//

// Надаємо ім"я формі.

Form1->Caption="МОЯ ЗАСТАВКА";//

//=========================================================

// Встановлюємо колір виводу тексту.

Form1->Label1->Font->Color=clGreen;//

// Встановлюємо шрифт тексту.

Form1->Label1->Font->Name="Vivaldi";//

// Встановлюємо розмір шрифту.

Form1->Label1->Font->Size=38;//

3.4.4. В вікні інспектора подій Timer1 в подію OnTimer вписуємо наступний код:

Label1->Caption=Time().FormatString("hh:mm:ss:zz");//

Timer1->Interval=1;//

      1. Зберігаємо проект. Компонуємо проект.

      2. Скомпонований файл з розширенням scr копіюємо до папки WINDOWS, що розміщується C:\WINDOWS. Виконуємо ПУСК->Панель управления->Экран (Рис 3.20)

Рисунок 3.20 – встановлення налаштувань екрана

переходимо до вкладки Заставка та в випадаючому списку вибираємо нашу заставку рис 3.21.

Рис 3.21 – Вибір заставки.

Перелік контрольних запитань:

  1. Що необхідно зробити щоб скомпонавана програма не вимангала підключення RTL ресурсів ?

  2. Що встановлюється властивостями BorderStyle властивостей форми.

  3. Як встановлюється внутрішнє імя проекту?

  4. Основні властивості форми.

  5. Підключення форм проекту, вибір головної форми проекту.

Практична робота № 4

Тема: Типи даних в C++ Builder.

Мета: Ознайомитися з використанням основних типів даних.

Завдання:

  1. Ознайомитися з використанням основних типів даних.

  2. Створити програму – таблицю множення.

  3. Створити програму-калькулятор

  4. Виконати індивідуальні завдання відповідно до варіанту.

Хіт роботи

  1. Запустити програму C++Builder. Створити та зберегти проект.

  2. Встановити на форму два компоненти TrakcBar з закладки палітри компонентів Win32 (рис 4.1),

Рис. 4.1 – компонент TrackBar

встановлюємо CheckBox (рис 4.2) закладки палітри компонентів Standard, основні властивості компонента представлені в таблиці 4.1

Рис. 4.2 – компонент ChekcBox

Таблиця 4.1.

Властивості компоненту CheckBox

Властивість

Опис

Name

Ім'я компоненту. Використовується для доступу до властивостей компоненту

Caption

Текст, який знаходиться праворуч від прапорця

Checked

Стан, зовнішній вигляд прапорця. Якщо прапорець встановлений (у квадратику є "галочка"), то значення властивості checked рівне true; якщо прапорець скинутий (немає "галочки"), то значення Checked рівне false

State

Стан прапорця. На відміну від властивості Checked, дозволяє розрізняти встановлений, скинутий і проміжний стани. Стан прапорця визначає одна з констант: cbchecked (встановлений); cbGrayed (сірий, невизначений стан); cbUnChecked (скинутий)

AllowGrayed

Властивість визначає, чи може прапорець бути в проміжному стані: якщо значення AllowGrayed рівне false, то прапорець може бути тільки встановленим або скинутим; якщо значення AllowGrayed рівне true, то допустимий проміжний стан

Left

Відстань від лівої межі прапорця до лівої межі форми

Top

Відстань від верхньої межі прапорця до верхньої межі форми

Height

Висота поля виведення пояснюючого тексту

Width

Ширина поля виведення пояснюючого тексту

Font

Шрифт, використовуваний для відображення пояснюючого тексту

Parent Font

Ознака спадкоємства характеристик шрифту батьківської форми

  1. Встановлюємо властивості для компонентів TrackBar (рис 4.3), таким чином щоб значення кроку прогресора становив одну одиницю, мінімальне значення прогресора щоб становив 0 одиниць, а максимальне значення становив 100 одиниць.

Рис. 4.3 – встановлення властивостей компонента TrackBar.

Встановлюємо на форму три компоненти Label (рис. 4.4), компонент Label призначений для виведення тексту на поверхню форми. Властивості компоненту (табл. 4.2) визначають вигляд і розташування тексту.

Рис. 4.4 – компонент Label закладки палітри компонентів Standard

Таблиця 4.2.

Властивості компоненту Label (поле виведення тексту)

Властивість

Опис

Name

Ім'я компоненту. Використовується в програмі для доступу до компоненту і його властивостей

Caption

Текст, що відображається

Left

Відстань від лівої межі поля виводу до лівої межі форми

Top

Відстань від верхньої межі поля виводу до верхньої межі форми

Height

Висота поля виводу

Width

Ширина поля виводу

AutoSize

Ознака того, що розмір поля визначається його вмістом

Wordwrap

Ознака того, що слова, які не поміщаються в поточному рядку, автоматично переносяться на наступний рядок (значення властивості AutoSize повинне бути false)

Alignment

Задає спосіб вирівнювання тексту усередині поля. Текст може бути вирівняний по лівому краю (taLeftJustify), по центру (taCenter) або по правому краю (taRight Justify)

Font

Шрифт, використовуваний для відображення тексту. Уточнюючі властивості визначають шрифт (Name), розмір (size), стиль (style) і колір символів (Color)

Parent Font

Ознака спадкоємства компонентом характеристик шрифту форми, на якій знаходиться компонент. Якщо значення властивості рівне true, то текст виводиться шрифтом, встановленим для форми

Color

Колір фону області виведення тексту

Transparent

Управляє відображенням фону області виведення тексту. Значення true робить область виведення тексту прозорої (область виводу не закрашується кольором, заданою властивістю Color)

Visible

Дозволяє приховати текст (false) або зробити його видимим (true)

так як це показано на рисунку 4.5. Компоненти TrackBar1 i TrackBar2 призначені для встановлення певних значень (в даному випадку від 0 до 100) бігунком прогресора, Label1 i Label2 відображають значення відповідних значень бігунків прогресора, Label3 призначений для представлення результатів виконання операції (в даному випадку множення) над змінними – значеннями бігунків прогресора. При встановлені ChekcBox1 значення бігунків першого та другого прогресора будуть рівними тобто виконається операція піднесення до квадрату.

Рис. 4.5 – розміщення компонентів на формі.

  1. Встановити в інспекторі подій (Object Inspector закладка Events) компонента TrackBar1, в значення, OnChange наступного програмного коду (Рис. 4.6):

Label1->Caption=IntToStr(TrackBar1->Position);

Label3->Caption="Результат "+IntToStr(TrackBar1->Position*TrackBar2->Position);

if(CheckBox1->Checked)// при визначеному компоненті прогресори будуть однаковими.

TrackBar2->Position=TrackBar1->Position;

В даному коду використовувалися функції перетворення а саме перетворення стрічкового значення в числове IntToStr та інші опис яких представлений в таблиці 4.1.

Таблиця 4.1.

Функції перетворення

Функція

Значення функції

IntToStr(k)

Рядок, що є зображенням цілого k

FloatToStr(n)

Рядок, що є зображенням речового n

FloatToStrF(n, f, к,m)

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

f — формат;

k — точність;

m— кількість цифр після десяткової крапки.

Формат визначає спосіб зображення числа:

ffGeneral— універсальний;

ffExponent— науковий;

ffFixed — з фіксованою крапкою;

ffNumber — з роздільниками груп розрядів;

ffCurrency— фінансовий.

Точність — потрібна загальна кількість цифр: 7 або менше для значення типу single, 15 або менше для значення типу Double і 18 або менше для значення типу Extended

StrToInt(s)

Ціле число, зображенням якого є рядок s

StrToFloat(s)

Дробове число, зображенням якого є рядок s

Рис. 4.6 – Визначення програмного коду, через інспектор подій.

  1. Аналогічно встановити значення для другого прогресора:

Label2->Caption=IntToStr(TrackBar2->Position);

Label3->Caption="Результат "+IntToStr(TrackBar1->Position*TrackBar2->Position);

if(CheckBox1->Checked)// при визначеному компоненті прогресори будуть однаковими.

TrackBar1->Position=TrackBar2->Position;

  1. Зберігаємо, компонуємо проект. Переглядаємо результати виконання програми, завершуємо виконання програми.

  2. Встановлюємо на нашій формі кнопку, відповідно елемент Button1, закладки Standard палітри компонентів.

  3. Створюємо нову форму, для цього необхідно виконати: File->New->Form (Рис. 4.7)

Рис. 4.7 – Створення нової форми.

Далі засвідчуємо нову форму в проекті для цього добавляємо стрічку

#include "Unit2.h" в вікні редактора коду Unit1.cpp (рис. 4.8)

Рис. 4.8 – Оголошення нової форми в проекті.

  1. Зберігаємо форму, або проект повністю.

  2. В встановлену кнопку на першій формі надаємо значення: Form2->Visible=True;

  3. На другій формі встановити три компоненти Edit та чотири компоненти Button. Тут Edit1 та Edit2 використовується як поля для введення зміних, Edit3 використовується як поле для виведення зміних, Button1 – Button4 – кнопки виконання операцій.

Рис. 4.9 – Розміщення компонентів на другій формі.

В кнопку Button1 вписуємо наступний текст:

/*визначення тексту Edit1 як число, та оголошення його як zmina1*/

float zmina1= FloatToStr (Edit1->Text);//

/*визначення тексту Edit2 як число, та оголошення його як zmina2*/

float zmina2= FloatToStr (Edit2->Text);//

/*оголошення додаткової зміної*/

float zmina3;//

/*виконання операції над зміними*/

zmina3=zmina1*zmina2;//

/*вивід результату виконання операції в поле Edit3*/

Edit3->Text=StrToFloat(zmina3);//

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

Індивідуальні завдання

Аналогічно до програми-калькулятор, скласти програму яка обраховує значення С якщо відомо залежні зміни А, В, Д, - які вводяться з клавіатури. Значення С обраховується за формулою відповідного варіанту:

Перелік контрольних запитань:

  1. Основні властивості компоненту Label

  2. Основні властивості компоненту CheckBox

  3. Функції перетворення.

  4. Визначення границь прогресора.

  5. Дійсний тип числових даних, його необхідність для використання в обрахункових задачах.

Практична робота 5

Тема : Створення навчальної системи керування базами даних.

Мета : Ознайомитися з сучасними методами та засобами проектування СКБД.

Обсяг роботи : 4 години.

Завдання :

  1. Ознайомитися з методикою побудови СКБД.

  2. Побудувати власну навчальну систему керування базою даних.

  3. Виконати індивідуальні завдання.

Хіт роботи

1. Створити проект. Зберегти проект в папці «Навчальна СКБД» та розміщуємо її в папці проектів

C:\Program Files\Borland\CBuilder6\Projects

2. Розмістити елементи користувацького інтерфейсу:

Встановити на форму компонент ADODataSet1:TADODataSet панелі ADO

Встановити компонент ADOConnection1: TADOConnennection панелі ADO

Встановити DataSource1:TDataSource панелі DataAccess

Встановлюємо DBGird1:TDBGird панелі DataControls – власне таблиця, засіб для вводу, виводу та редагування даних (рис 5.4).

Рис. 5.4 – DBGird

Ми отримали форму з елементами для управління даними (рис 5.5)

Рис. 5.5 – розміщення компонентів на формі.

3. Далі необхідно налагодити між цими компонентами зв'язок таким чином щоб ми могли керувати базою даних. Базу даних db1.mdb (лабораторна №1) розміщаємо в папці де знаходиться наш проект:

C:\Program Files\Borland\CBuilder6\Projects\Навчальна СКБД\db1.mdb

Зв'язок між компонентами керування базою даних будемо налагоджувати як це показано на рис 5.6.

Рис. 5.6 – Зв’язок між компонентами

Після того як ми встановили необхідні компоненти на форму а також визначилися з зв’язками між компонентами, можемо приступити до власне налагодження зв’язків. Першим кроком у налагодженні зв’язків є встановлення постачальника даних (провайдера), у нас постачальником даних є ADODataSet. У вікні Object Inspector відносно ADOConnection натискаємо на піктограму відкриття діалогу введення в стрічці ConnectionString (рис 5.7) після чого з’являється вікно визначення стрічки з’єднання з файлом (рис 5.8) у якому ми будемо визначати файл для з’єднання.

Рис 5.7 Стрічка ConnectionString

У вікні визначення стрічки з’єднання з файлом (рис 5.8) встановлюємо налаштування з’єднання (Source of Connection) на перемикач Use Connection String та натискаємо кнопку Build.(рис 5.8)

Рис. 5.8 – Стрічка з’єднання з файлом

У вікні що з’явилося «Свойства связи с даными» ми виконуємо:

Крок 1 – вибір драйвера провайдера: встановлюємо (рис 5.9) драйвер провайдера Microsoft Jet 4.0 OLE DB Provider (можна і Microsoft Jet 3.51 OLE DB Provider – це старіша його версія ) та натискаємо кнопку « Далее>> »

Рис. 5.9 – вибір драйвера провайдера

Крок 2 – встановлення бази даних: переходимо до закладки « Подключение » (рис 5.10) встановлюємо галочку в значенні « Пустой пароль » вводимо значення Пользователь-> Admin

Рис 5.10. – встановлення підключення бази.

Після чого ми натискаємо на піктограму вводу(рис 5.10 //підкреслено) для відкриття діалогу вибору відкриття файлу(рис 5.11).

Рис 5.11. – вибір бази даних.

Вибираємо нашу базу даних та натискаємо на кнопку «Проверить подключение» після чого отримаємо повідомлення про валідність з’єднання з файлом бази даних. Якщо зв'язок працює (рис 5.12) ми можемо приступити до подальшої роботи над проектом, в іншому випадку нам потрібно повернутися на попередні кроки побудови СКБД і виправити помилку.

Рис 5.12 Валідне з’єднання з файлом бази даних.

Після чого переходимо (Крок 3) на закладку «Дополнительно» де встановлюємо права доступу до нашої бази даних таким чином щоб ми могли її не лише переглядати але й редагувати (рис 5.13)

Рис.5.13. – встановлення приорітетів СКБД.

Натискаємо ОК і налаштування постачальник даних у нас проведено.

Відповідно до нашої схеми (рис. 5.6) наступним у нас є встановлення зв’язку типу Connection між компонентами ADODataSet1 та ADOConnection, для цього у вікні Object Inspector відносно ADODataSet натискаємо на прихований список у стрічці Connection (рис.5.14) та вибираємо нашого провайдера ADOConnection

Рис.5.14. – встановлення зв’язку типу Connection між компонентами ADODataSet1 та ADOConnection

Далі нам необхідно провести налаштування SQL - зв’язків в середині бази даних, для цього у вікні Object Inspector відносно ADODataSet натискаємо на піктограму відкриття діалогу введення в стрічці CommandText , у вікні що з’явиться(рис 5.15) в полі Tables вибираємо наше робочу таблицю students, робимо на ній двійний клік, після чого встановлюємо SQL - зв’язки, для цього в полі SQL вводимо SQL- запит:

select*

from students;

Рис.5.15 – встановлення SQL- зв’язків в середині бази даних

Натискаємо ОК та активуємо зв'язок з файлом бази даних для цього нам необхідно потрібно у вікні Object Inspector відносно ADODataSet (рис.5.16) значення Active в положення true.

Рис.5.16.- активація зв’язку.

Далі відносно нашої схеми (рис 5.6) встановлюємо зв'язок DataSet між компонентами DataSet та DataSource для цього у вікні Object Inspector (5.17) відносно DataSource в полі DataSet вибираємо ядро нашої СКБД - ADODataSet

Рис. 5.17. - встановлюємо зв'язок між компонентами DataSource та DataSet

Далі відносно нашої схеми (рис 5.6) – визначення зв'язку DataSet для компоненту DBGird, для цього у вікні Object Inspector (5.18) відносно DBGird в полі DataSet вибираємо ядро нашої СКБД - ADODataSet

Рис. 5.18. – визначення зв'язку DataSet для компоненту DBGird

Після чого ми отримаємо готову до компіляції СКБД (рис. 5.19.)

Рис. 5.19. – готова до компіляції СКБД

4. Зберігаємо та компілюємо проект.

5. Перериваємо виконання програми (Run->Program Reset) встановлюємо на форму три кнопки (панель Standart,елемент Button). Змінюємо значення Caption (напис на кнопці) елементів Button наступним чином:

Button1 –

SELECT num, priz, imja, stip FROM students;

Button2 –

SELECT count (*) FROM students;

Button3 –

SELECT* FROM students;

У результаті ми отримаємо форму аналогічну до форми на рис. 5.20.

Рис. 5.20. – користувацький інтерфейс «СКБД Навчальна»

6. Далі потрібно надати значення виконанню дій при натисненні на кнопки:

Робимо подвійний клік на елементу Button1 та прописуємо наступний код:

ADODataSet1->Active=False;

ADODataSet1->CommandText=("SELECT num, priz, imja, stip FROM students;");

ADODataSet1->Active=True;

Робимо подвійний клік на елементу Button2 та прописуємо наступний код:

ADODataSet1->Active=False;

ADODataSet1->CommandText=("SELECT count (*) FROM students;");

ADODataSet1->Active=True;

Робимо подвійний клік на елементу Button3 та прописуємо наступний код:

ADODataSet1->Active=False;

ADODataSet1->CommandText=("SELECT* FROM students;");

ADODataSet1->Active=True;

Пояснення:

Стрічка ADODataSet1->Active=False; робить переривання зв’язку ядра СКБД з файлом. Це необхідно для того щоб було можливим провести налаштування SQL - зв’язків в середині бази даних.(рис. 5.21)

Стрічка ADODataSet1->CommandText=("........."); встановлює SQL - зв’язків в середині бази даних, тут потрібно вводити SQL- запит в дужках між знаками " "

Стрічка ADODataSet1->Active=True; відновлює (активує) зв’язок ядра СКБД з файлом. Це необхідно для того щоб відновити роботу СКБД (рис.5.21)

Рис. 5.21. – залежність встановлення налаштувань ADO- компонентів

Завдання для виконання :

  1. Побудувати СКБД.

  2. Реалізувати кнопки з SQL- запитами відповідно до варіанта

Варіанти індивідуальних завдань

  1. Реалізувати SQL- запит таким чином щоб в таблиці відображалися поля «Прізвища», «Ім’я», «Стипендія», лише тих студентів у кого стипендія більша ніж 480 грн.

  2. Реалізувати SQL- запит таким чином щоб в таблиці відображалися поля «Прізвища», «Ім’я», «Оцінка», лише тих студентів у кого є хоча одна двійка.

  3. Реалізувати SQL- запит таким чином щоб в таблиці відображалися поля «Прізвища», «Ім’я», «Оцінка», лише тих студентів у кого немає двійок

  4. Реалізувати SQL- запит таким чином щоб в таблиці відображалися поля «Прізвища», «Імя», «Стипендія», лише тих студентів у кого немає стипендії.

  5. Реалізувати SQL- запит таким чином щоб в таблиці відображалися поля «Прізвища», «Імя», «Оцінка», лише тих студентів у кого є п’ятірки

Практична робота №6

Тема: Робота з базами даних. Використання зв'язку один-до-одного між таблицями бази даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]