2.3.5 Створення форм

Всі форми БД «Теорія та практика прикладного програмування» були створені за допомогою Майстра. Відкриття форм здійснюється натисканням відповідних кнопок на кнопковій формі (Рисунок 2.3.31), яка створена за допомогою Диспетчеру кнопкових форм. При запуску БД кнопкова форма запускається автоматично.

Рисунок 2.3.31 – Кнопкова форма

Форми «Использование компонент в параграфе» (Рисунок 2.3.32), «Использование компонент в параграфе» (Рисунок 2.3.33), «Использование операторов в параграфах» (Рисунок 2.3.34), «Количество рисунков в параграфе» (Рисунок 2.3.35), «Количество страниц в параграфе» (Рисунок 2.3.36), «Операторы и листинги в параграфах» (Рисунок 2.3.37), «Операторы в главе» (Рисунок 2.3.38), «Рисунки в главе» (Рисунок 2.3.39) та «Таблицы в параграфах на И» (Рисунок 2.3.40) відображають зміст однойменних запитів.

Рисунок 2.3.32 – Форма «Использование компонент в параграфе»

Рисунок 2.3.33 – Форма «Использование операторов в листингах»

Рисунок 2.3.34 – Форма «Использование операторов в параграфах»

Рисунок 2.3.35 – Форма «Количество рисунков в параграфе»

Рисунок 2.3.36 – Форма «Количество страниц в параграфе»

Рисунок 2.3.37 – Форма «Операторы и листинги в параграфах»

Рисунок 2.3.38 – Форма «Операторы в главе»

Рисунок 2.3.39 – Форма «Рисунки в главе»

Рисунок 2.3.40 – Форма «Таблицы в параграфах на И»

Форма «Краткое содержание главы» відображає зміст запиту «Содержательность главы».

Рисунок 2.3.41 – Форма «Краткое содержание главы»

Форма «Таблицы в главе» відображає таблиці, що містяться у главі, та інформацію про їх розміщення.

Рисунок 2.3.42 – Форма «Таблицы в главе»

Форми «Примечания в главе» (Рисунок 2.3.43) та «Листинги в главе» (Рисунок 2.3.44) надають аналогічну інформацію, але стосовно приміток та лістингів відповідно.

Рисунок 2.3.43 – Форма «Примечания в главе»

Рисунок 2.3.44 – Форма «Листинги в главе»


3 ІНСТРУКЦІЯ КОРИСТУВАЧА

База даних «Теорія та практика прикладного програмування» призначена для зберігання довідкової інформації, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi7).

Головна кнопкова форма запускається автоматично, відразу після запуску БД.

Рисунок 3.1 – Інтерфейс кнопкової форми

де кнопка:

1 – відкриває форму «Краткое содержание главы» (Рисунок 2.3.41);

2 – відкриває форму «Операторы в главе» (Рисунок 2.3.38);

3 – відкриває фору «Таблицы в главе» (Рисунок 2.3.42);

4 – відкриває форму «Рисунки в главе» (Рисунок 2.3.39);

5 – відкриває форму «Примечания в главе» (Рисунок 2.3.43);

6 – відкриває форму «Листинги в главе» (Рисунок 2.3.44);

7 – відкриває форму «Запроси» (Рисунок 3.2),

Рисунок 3.2 – Інтерфейс кнопкової форми «Запроси»

яка містить компоненти для відображення існуючих запитів, де кнопка:

9 – відкриває форму «Использование компонент в параграфе» (Рисунок 2.3.32);

10 – відкриває форму «Таблицы в параграфах на И» (Рисунок 2.3.40);

11 – відкриває форму «Использование операторов в листингах» (Рисунок 2.3.33);

12 – відкриває форму «Использование операторов в параграфах» (Рисунок 2.3.34);

13 – відкриває форму «Количество рисунков в параграфе» (Рисунок 2.3.35);

14 – відкриває форму «Количество страниц в параграфе» (Рисунок 2.3.36);

15 – відкриває форму «Операторы и листинги в параграфах» (Рисунок 2.3.37);

16 – повертає користувача до попередньої кнопкової форми (Рисунок 3.1).

Натискання кнопки (8) призведе до закриття всієї бази даних.


ВИСНОВКИ

У процесі даної курсової роботи була спроектована та реалізована в СУБД MS Access інформаційна система «Теорія та практика прикладного програмування».

У цій базі даних зберігається довідкова інформація, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi 7). База містить запити, що дозволяють здійснювати пошук необхідних даних та відображати статистичну інформацію, як то: інформацію про зміст глави; які таблиці, компоненти та лістинги містяться у параграфі; який оператор у якому лістингу знаходиться; інформація про загальну кількість сторінок.

Дана система пройшла всі три етапи проектування. На інфологічному рівні структура бази даних була відображена у вигляді ER-діаграми, яка надалі була приведена до третьої нормальної форми. На даталогічному рівні — представлена реляційною моделлю. У таблицях був усунений надлишок. Безпосередня робота з СУБД з формування таблиць і їх заповнення на комп'ютері була проведена на стадії фізичного проектування.

Таким чином, було створено 7 таблиць, 11 запитів та 14 форм. Розмір файлу БД — 8,28 Мб.

Надалі дану систему можна вдосконалювати, відповідно до потреб користувачів.


ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

 

1.       Кузин А.В., Левонисова С.В. Базы данных. — Академия, 2008. — 320 с.

2.       ГОСТ 34.003-90. Государственный стандарт Российской Федерации: «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения». — М.: ИПК Издательство стандартов, 2002.

3.       http://www.intuit.ru/ . — Інтернет університет інформаційних технологій.

4.       Дейт Д. Введение в систему баз данных. — М., СПб.: BHV — Санкт-Петербург, 1977. — 312 с.

5.       http://ru.wikipedia.org/ . — Вільна енциклопедія.

6.       Гринченко Н. Н., Гусев Е. В., Макаров Н. П. Проектирование баз данных. СУБД Microsoft Access — Горячая Линия-Телеком, 2004. — 240 с.

7.       Горев А., Макашарипов С., Ахаян Р. Эффективная работа с СУБД. — К.: Академія, 2003. — 344с.

8.       Бекаревич Ю., Пушкина Н. Самоучитель Microsoft Access 2003. — БХВ-Петербург, 2004. — 738 с.

9.       Степанов В. Скачать книгу Microsoft Access 2003 для начинающих. — Аквариум-Принт, Дом печати – Вятка, 2004. — 128 с.

10.  http://www.lessons-tva.info/ . — Безкоштовне дистанційне навчання інформатиці, телекомунікаціям та основам електронного бізнесу.


Листинг

Unit Phone_u;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Edit1: TEdit; //поле ввода длительности разговора

Edit2: TEdit; //поле ввода номера дня недели

Button1: TButton; //кнопка Вычислить

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

procedure Button1Click(Sender: TObject);

const

PAY=0.15; //цена одной минуты разговора 0,15 рубля

DISCOUNT=0.2; //скидка 20 процентов

var

Time: real; //длительность разговора

Day: integer; //день недели

Summa: real; //стоимость разговора

begin

//получить исходные данные

Time:=StrToFloat(Edit1.Text);

Day:=StrToInr(Edit2.Text);

//Вычислить стоимость разговора

Summa:=PAY*Time;

//Если день суббота или воскресенье, то уменьшить

//стоимость на величину скидки

if (Day=6) or (Day=7)

then Summa:=Summa*(1-DISCOUNT);

//Вывод результата вычисления

Label1.Caption:=’К оплате’+FloatToStr(Summa)+’руб.’;

end;

end.

Unit wtest_;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit; //поле ввода Веса

Edit2: TEdit; //поле ввода Роста

Button1: TButton; //кнопка Вычислить

Label3: TLabel; //поле вывода сообщения – результата работы программы

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

procedure Button1Click(Sender: TObject);

var

w : real; //вес

h: real; //рост

opt: real; //оптимальный вес

d: real; //отклонение от оптимального веса

begin

w:=StrToFloat(Edit1.Text);

h:=StrToInt(Edit2.Text);

opt:=h-100;

if w=opt

then

Label3.Caption:=’Вы в хорошей форме!’

else

if w<opt

then

begin

d:=opt-w;

Label3.Caption:=’Вам надо поправиться на ’

+FloatToStr(d)+’кг.’;

end;

else

begin

d:=w-opt;

Label3.Caption:=’Надо немного похудеть, на ’

+FloatToStr(d)+’кг.’;

end;

end;

end.

Unit 1;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Label2: TLabel;

Edit1: TEdit; //поле ввода веса в фунтах

Button1: TButton; //кнопка Вычислить

Label1: TLabel;

Label3: TLabel;

ListBox1: TlistBox; //список стран

Label4: TLabel; //поле вывода результата – веса в килограммах

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

procedure FormCreate(Sender: TObject);

begin

ListBox1.Items.Add(Россия);

ListBox1.Items.Add(Австралия);

ListBox1.Items.Add(Англия);

ListBox1.Items.Add(Германия);

ListBox1.Items.Add(Дания);

ListBox1.Items.Add(Исландия);

ListBox1.Items.Add(Италия);

ListBox1.Items.Add(Нидерланды);

ListBox1.ItemIndex:=0;

end;

procedure Button1Click(Sender: TObject);

var

funt: real; //вес в фунтах

kg: real; //вес в килограммах

k: real; //коэффициент пересчета

begin

case ListBox1.ItemIndex:=0 do

0: k:=0.4095; //Россия

1: k:=0.453592; //Англия

2: k:=0.56001 //Австралия

3..5,7 k:=0.5 //Германия, Дания, Исландия, Нидерланды

6: k:=0.31762 //Италия

end;

funt:=StrToFloat(Edit1.Text);

kg:=kg*funt;

Label4.Caption:=Edit1.Text

+’ф. - это’

+FloatToStrF(kg,ffixed,6,3)

+’кг.’;

end;

end.

Unit rub_1;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Label1: TLabel;

Edit1: TEdit; //поле ввода длительности разговора

Label2: TLabel;

Edit2: TEdit; //поле ввода номера дня недели

Button1: TButton; //кнопка Вычислить

Label3: TLabel;

procedure Edit1KeyPress(Sender: Tobject; var Key: Char);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

//нажатие клавиши

procedure Edit1KeyPress(Sender: Tobject; var Key: Char);

var

n: integer; //число

r: integer; //остаток от деления n на 10

text: string[10]; //формируемый поясняющий текст

begin

if Key=chr(VK_RETURN) then

begin

n:=StrToInt(Edit1.Text);

if n>100

then n:=n mod 100;

if (n>=11) and (n<=14)

then

text:=’рублей’

else

begin

r:=n mod 10

case r of

1: text:=’ рубль’;

2..4: text:=’ рубля’

else text:=’ рублей’;

end;

end;

Label2.Caption:=IntToStr(n)+text;

end;

end.

//вычисление даты следующего дня

day: integer; //день

month: integer; //месяц

year: integer; //год

last: boolean; //если день – последний день месяца,

//то last:=True

r: integer; //если год не високосный, то остаток

//от деления year на 4 не равен нулю

begin

//переменные day, month и year содержат сегодняшнюю дату 1

last:=False //пусть день – не последний день месяца

case month of

4, 6, 9, 11: if day=30 then last:=True;

2: if day=28 then

begin

r:=year mod 4;

if r<>0 then last:=True;

end;

else: if day=31 then last:=True

end;

if last then

begin //последний день месяца

day:=1;

if month=12 then

begin //последний месяц

month:=1;

year:=year+1;

end;

else

month:=month+1;

end;

else

day:=day+1;

// переменные day, month и year содержат завтрашнюю дату

end;

Unit pi;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Edit1: TEdit; //точность вычисления

Button1: TButton; //кнопка Вычислить

Label1: TLabel;

Label2: TLabel; //поле вывода результата

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

procedure Button1Click(Sender: TObject);

var

pi: real; //вычисляемое значение ПИ

t: integer; //точность вычисления

n: integer; // номер члена ряда

elem: real; //значение члена ряда

begin

pi:=0;

n:=1;

t:=StrToFloat(Edit1.Text);

elem:=1; //чтобы начать цикл

while elem>=t do

begin

elem:=1/(2*n-1)

if n mod 2 =0

then pi:=pi-elem

else pi:=pi+elem;

n:=n+1;

end;

pi:=pi*4;

Label1.Caption:= ‘ПИ равно’+FloatToStr(pi)+#13

+‘Просуммировано’+IntToStr(n)+ ‘членов ряда.’;

end;

end.

Unit simple_;

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1= class{TForm}

Button1: TButton; //кнопка Проверить

Label1: TLabel;

Edit1: TEdit; //поле ввода числа

Label2: TLabel; //поле вывода результат

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

implementation

{SR*.dfm}

procedure Button1Click(Sender: TObject);

var

n: integer; //проверяемое число

d: integer; //делитель

r: integer; //остаток от n деления на d

begin

n:=StrToInt(Edit1.Text);

d:=2; //сначала будем делить на два

repeat

r:=n mod d;

if n <>0 //n не делилось нацело на d

then d:=d+1;

until r=o //найдено число, на которое n делилось без остатка

Labe2.Caption:=Edit1.Text;

if d=n

then

Label2.Caption:= Label2.Caption+‘- простое число’

Label2.Caption:= Label2.Caption+ ‘ - обычное число’

end;

end.

procedure Button1Click(Sender: TObject);

label //раздел объявления меток

bye;

var

n: integer; //проверяемое число

d: integer; //делитель

r: integer; //остаток от n деления на d

begin

n:=StrToInt(Edit1.Text);

if n<=0 then

begin

MessageDlg(‘Число должно быть больше нуля.’,

mtError,mb[OK],0);

Edit1.Text:=’’;

goto bye;

end;

//Введено положительное число

d:=2; //сначала будем делить на два

repeat

r:=n mod d;

if n <>0 //n не делилось нацело на d

then d:=d+1;

until r=o

Labe2.Caption:=Edit1.Text;

if d=n

then

Label2.Caption:= Label2.Caption+‘- простое число’

Label2.Caption:= Label2.Caption+ ‘ - обычное число’

end;

end.


Информация о работе «База даних "Теорія та практика прикладного програмування"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 42781
Количество таблиц: 8
Количество изображений: 49

Похожие работы

Скачать
24958
0
0

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

Скачать
60436
0
26

... записів необхідно створювати досить складні програми;· незалежність від даних існує лише у мінімальному ступені;· відсутність загальновизнаних теоретичних основ. 2 Інструментальна система управління базами даних CronosPRO 2.1 Загальна характеристика системи ІСУБД CronosPro – це система, призначена для організації інформації у вигляді банків даних та їх подальшої обробки. Інформація зберігається в ...

Скачать
50803
0
11

... функцією з чітко певними вхідними і виходять даними. Основна мета використовування модуля – можливість його повторного використання для вирішення різних задач. 2 РОЗРОБКА РІШЕННЯ ЗАДАЧІ СТВОРЕННЯ БАЗИ ВІДЕОФІЛЬМІВ 2.1 Бази даних 2.1.1 Основні положення та моделі БД Взагалі технологія баз даних як самостійна гілка розвитку інформатики з’явилася порівняно недавно: початок досліджень в ...

Скачать
104532
0
2

... ів з професій (Типові навчальні плани і програми, кваліфікаційні характеристики і т. ін.), що входять до цього переліку, практично робить неможливим перехід на підготовку робітничих кадрів згідно з означеним документом, оновлення змісту професійно-технічної освіти. Сьогодні, на нашу думку, першочерговим завданням у розв'язанні проблеми розробки і впровадження державних стандартів профтехосвіти у ...

0 комментариев


Наверх