Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Программный код




Описание компонентов приложения

Постановка задачи

Разработка приложения

При выполнении проекта перед нами была поставлена задача, создать приложение в среде разработки Delphi позволяющее выполнять сортировку записей из базы данных по трём категориям:

· гуманитарный,

· физико-математический,

· химико-биологический.

Для выполнения поставленной задачи необходимо было создать базу данных, содержащую список учащихся и оценки по нескольким предметам. База данных «Spisok» была создана с помощью СУБД MS Access 2010. Создана таблица «Soolers», имеющая структуру представленную на рисунке 5. Таблица содержит сведения об оценках учеников за определенный период времени по предметам: русский язык, литература, история, алгебра, геометрия, физика, биология, анатомия, химия.

 

 

Рис. 5 Структура таблицы.

Данные представленные в таблице «Sollers» на рисунке 6 содержат информацию об оценках учащихся.

Рис. 6 Таблица «Soolers»

Для разработки приложения была использована среда визуального программирования Delphi 2009.

При создании приложения нами были использованы следующие стандартные компоненты, имеющиеся в среде Delphi 2009: TPageControl, TTabSheet, TDBGrid, TADOConnection, TADOTable, TDataSource, TADODataSet, TButton, TLabel, Tedit, TForm.

Компонент TPageControl был использован для создания многостраничного приложения, в свойствах этого компонента был изменен параметр Align, в нем было установлено значение alClient (занять всю клиентскую область приложения). В компоненте TPageControl было создано 4 вкладки TTabSheet1 - (Caption-Список с оценками), TTabSheet2 - (Caption-Химико-биологический), TTabSheet3 - (Caption-Физико-математический), TTabSheet4 - (Caption-Гуманитарный).

Для работы с базой данных были использованы следующие компоненты:

1. TADOConnection1 – в нем были добавлены следующие

· параметры:

· Provider - Microsoft.ACE.OLEDB.12.0 – драйвер базы данных;

· Connection String – адрес и параметры подключения к БД;

· Login Prompt – False - отключение запроса имени пользователя и пароля при подключении к БД;

2. TADOTable1 - в нем были добавлены следующие параметры:

· Connected – True – активация соединения с БД;

· Connection – ADOConnection1- связь с компонентом ADOConnection1;

· Table Name – soolers – название таблицы в БД;

· Active – True – активация компонента TADOTable1;

3. TDataSource1 – компонент для связи TADOTable1 и TDBGrid1 в нем

были добавлены следующие параметры:

TDataSet – TADOTable1 – установление связи с компонентом TADOTable1;

4. TDBGrid1 – компонент для вывода таблицы из БД - в нем

были добавлены следующие параметры:

DataSource – DataSource1 – связь с компонентом DataSource1;

5. TADODataSet1- в нем были добавлены следующие параметры:

Connected – True – активация соединения с БД;

Connection – ADOConnection1- связь с компонентом ADOConnection1;

CommandText – SQL запрос – «Select Фамилия, Имя, Отчество, Биология, Анатомия, Химия from soolers where Химия='5' and Биология='5' and Анатомия='5' – вывод из таблицы soolers записей в которых значения оценок по химии, биологии и анатомии равны «5»;»

Active – True – активация компонента ADOData Set1;

6. TDataSource2 – компонент для связи ADODataSet1 и DBGrid2 в

нем были добавлены следующие параметры:

DataSet – ADODataSet1 – установление связи с компонентом ADODataSet1;

7. TDBGrid2 – компонент для вывода таблицы из БД - в нем

были добавлены следующие параметры:

DataSource – DataSource2 – связь с компонентом DataSource2;

8. TADODataSet2- в нем были добавлены следующие параметры:

Connected – True – активация соединения с БД;

Connection – ADOConnection1- связь с компонентом ADOConnection1;

Command Text – SQL запрос - select Фамилия, Имя, Отчество, Алгебра, Геометрия, Физика from soolers where Алгебра='5' and Геометрия='5' and Физика='5'' – вывод из таблицы soolers записей в которых значения оценок по алгебре, геометрии и физике равны «5»;

Active – True – активация компонента ADODataSet2;

9. TDataSource3 – компонент для связи ADODataSet2 и DBGrid3 в

нем были добавлены следующие параметры:

DataSet – ADOData Set2 – установление связи с компонентом ADO Data Set2;

10. TDBGrid3 – компонент для вывода таблицы из БД - в нем

были добавлены следующие параметры:

DataSource – DataSource3 – связь с компонентом DataSource3;

11. TADODataSet3- в нем были добавлены следующие параметры:

Connected – True – активация соединения с БД;

Connection – ADOConnection1- связь с компонентом ADOConnection1;

CommandText – SQL запрос - select Фамилия, Имя, Отчество, История, Русский язык, Литература from soolers where История='5' and Русский язык='5' and Литература='5' – вывод из таблицы soolers записей в которых значения оценок по русскому языку, литературе и истории равны «5»;

Active – True – активация компонента ADODataset3;

12. TDataSource4 – компонент для связи ADODataset3 и DBGrid4 в

нем были добавлены следующие параметры:

Dataset – ADODataset3 – установление связи с компонентом ADODataSet3;

13. TDBGrid4 – компонент для вывода таблицы из БД - в нем

были добавлены следующие параметры:

DataSource – DataSource4 – связь с компонентом DataSource4.

Также в приложении использовались компоненты Button, Label и Edit:

1. TButton1 – кнопка добавления новой записи в БД - в нем

были добавлены следующие параметры:

Caption – ‘Добавить новую запись’ – надпись на кнопке;

Button1Click – событие нажатия кнопки (On Click);

2. TButton2 – кнопка удаления записи из БД - в нем

были добавлены следующие параметры:

Caption – ‘Удалить запись’ – надпись на кнопке;

Button2Click – событие нажатия кнопки (On Click);

3. TLabel – надпись - в нем были добавлены следующие параметры:

Caption – содержание надписи;

4. TEdit – поле редактирования;

unit Unit1;

interface

uses

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

Dialogs,Unit3, Grids, DBGrids, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, DB,

ADODB;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

DBGrid1: TDBGrid;

DBGrid3: TDBGrid;

TabSheet4: TTabSheet;

DBGrid4: TDBGrid;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

DataSource3: TDataSource;

ADODataSet3: TADODataSet;

DataSource4: TDataSource;

Button1: TButton;

ADOTable1: TADOTable;

Button2: TButton;

ADODataSet1: TADODataSet;

DBGrid2: TDBGrid;

DataSource2: TDataSource;

ADODataSet2: TADODataSet;

procedure PageControl1Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure TForm1.Button1 Click (Sender: TObject); // объявление процедуры;

begin // начало процедуры;

Form3:=form3.create (application); // создание формы (функция Create);

Form3.Caption:='Добавить запись'; // заголовок формы;

Form3.Show; // вывод новой формы;

end; // конец процедуры;

Процедура TForm1.Button1 Click является обработчиком события Button1Click результатом ее выполнения является открытие формы для ввода новой записи (Form3).

procedure TForm1.Button2Click(Sender: TObject); // объявление процедуры;

begin // начало процедуры;

form1.ADO Table1.Delete; // функция удаления записи из БД;

end; // конец процедуры;

Процедура TForm1.Button2 Click является обработчиком события Button2 Click, результатом ее выполнения является удаление записи из БД.

procedure TForm1.Page Control1 Change (Sender: TObject); // объявление процедуры;

begin // начало процедуры;

Form1.ADO Table1.Requery(); // обновление данных в ADO Table1;

Form1.ADO Data Set1.Requery();// обновление данных в Data Set1;

Form1.ADO Data Set2.Requery();// обновление данных в Data Set2;

Form1.ADO Data Set3.Requery();// обновление данных в Data Set3;

end; конец процедуры;

unit Unit3;

interface

uses

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

Dialogs, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, DB, ADODB;

type

TForm3 = class(TForm)

procedure FormShow(Sender: TObject);

procedure Button2click(Sender: TObject);

private

button2:Tbutton;

lb1:TLabel;

lb2:TLabel;

lb3:TLabel;

lb4:TLabel;

lb5:TLabel;

lb6:TLabel;

lb7:TLabel;

lb8:TLabel;

lb9:TLabel;

lb10:TLabel;

lb11:TLabel;

lb12:TLabel;

ed1:Tedit;

ed2:Tedit;

ed3:Tedit;

ed4:Tedit;

ed5:Tedit;

ed6:Tedit;

ed7:Tedit;

ed8:Tedit;

ed9:Tedit;

ed10:Tedit;

ed11:Tedit;

ed12:Tedit;

Процедура TForm1.Page Control1Change является обработчиком события Page Control1 Change, результатом ее выполнения является обновление донных в формах при переходе с одной формы на другую. Это необходимо для того, чтобы при изменении данных на одной вкладке эти изменения происходили и на других вкладках несущих в себе изменённые данные.

procedure TForm3.FormShow(Sender: TObject); // объявление процедуры;

begin // начало процедуры;

button2:=Tbutton.Create(form3);// создание кнопки button2;

button2.Parent:= Form3; // место создания кнопки button2 (form3);

button2.Caption:='Добавить'; // добавление надписи на кнопке;

button2.OnClick:=button2 click; // добавление события button2 click нажатие на кнопку;

lb1:=Tlabel.create(form3); // создание элемента надпись (label);

lb1.parent:=form3; // место создания надписи (form3);

lb1.caption:='Фамилия'; // Текст надписи;

lb1.top:=50; // смещение относительно вертикальной оси;

lb1.Left:=10; // смещение относительно горизонтальной оси;

lb2:=Tlabel.create(form3); // создание элемента надпись (label);

lb2.parent:=form3; // место создания надписи (form3);

lb2.caption:='Имя'; // Текст надписи;

lb2.top:=80; // смещение относительно вертикальной оси;

lb2.Left:=10; // смещение относительно горизонтальной оси;

lb3:=Tlabel.create(form3); // создание элемента надпись (label);

lb3.parent:=form3; // место создания надписи (form3);

lb3.caption:='Отчество'; // Текст надписи;

lb3.top:=110; // смещение относительно вертикальной оси;

lb3.Left:=10; // смещение относительно горизонтальной оси;

lb4:=Tlabel.create(form3); // создание элемента надпись (label);

lb4.parent:=form3; // место создания надписи (form3);

lb4.caption:='Алгебра'; // Текст надписи;

lb4.top:=140; // смещение относительно вертикальной оси;

lb4.Left:=10; // смещение относительно горизонтальной оси;

lb5:=Tlabel.create(form3); // создание элемента надпись (label);

lb5.parent:=form3; // место создания надписи (form3);

lb5.caption:='Геометрия'; // Текст надписи;

lb5.top:=170; // смещение относительно вертикальной оси;

lb5.Left:=10; // смещение относительно горизонтальной оси;

lb6:=Tlabel.create(form3); // создание элемента надпись (label);

lb6.parent:=form3; // место создания надписи (form3);

lb6.caption:='Физика'; // Текст надписи;

lb6.top:=200; // смещение относительно вертикальной оси;

lb6.Left:=10; // смещение относительно горизонтальной оси;

lb7:=Tlabel.create(form3); // создание элемента надпись (label);

lb7.parent:=form3; // место создания надписи (form3);

lb7.caption:='Русский язык'; // Текст надписи;

lb7.top:=140; // смещение относительно вертикальной оси;

lb7.Left:=160; // смещение относительно горизонтальной оси;

lb8:=Tlabel.create(form3); // создание элемента надпись (label);

lb8.parent:=form3; // место создания надписи (form3);

lb8.caption:='Литература'; // Текст надписи;

lb8.top:=170; // смещение относительно вертикальной оси;

lb8.Left:=160; // смещение относительно горизонтальной оси;

lb9:=Tlabel.create(form3); // создание элемента надпись (label);

lb9.parent:=form3; // место создания надписи (form3);

lb9.caption:='История'; // Текст надписи;

lb9.top:=200; // смещение относительно вертикальной оси;

lb9.Left:=160; // смещение относительно горизонтальной оси;

lb10:=Tlabel.create(form3); // создание элемента надпись (label);

lb10.parent:=form3; // место создания надписи (form3);

lb10.caption:='Биология'; // Текст надписи;

lb10.top:=140; // смещение относительно вертикальной оси;

lb10.Left:=320; // смещение относительно горизонтальной оси;

lb11:=Tlabel.create(form3); // создание элемента надпись (label);

lb11.parent:=form3; // место создания надписи (form3);

lb11.caption:='Анатомия'; // Текст надписи;

lb11.top:=170; // смещение относительно вертикальной оси;

lb11.Left:=320; // смещение относительно горизонтальной оси;

lb12:=Tlabel.create(form3); // создание элемента надпись (label);

lb12.parent:=form3; // место создания надписи (form3);

lb12.caption:='Химия'; // Текст надписи;

lb12.top:=200; // смещение относительно вертикальной оси;

lb12.Left:=320; // смещение относительно горизонтальной оси;

ed1:=Tedit.create(form3); // создание поля ввода (Edit);

ed1.parent:=form3; // место создания поля ввода (form3);

with ed1 do

begin

top:=50; // смещение относительно вертикальной оси;

Left:=100; // смещение относительно горизонтальной оси;

end;

ed2:=Tedit.create(form3); // создание поля ввода (Edit);

ed2.parent:=form3; // место создания поля ввода (form3);

with ed1 do

begin

ed2.top:=80; // смещение относительно вертикальной оси;

ed2.Left:=100; // смещение относительно горизонтальной оси;

end;

ed3:=Tedit.create(form3); // создание поля ввода (Edit);

ed3.parent:=form3; // место создания поля ввода (form3);

with ed3 do

begin

ed3.top:=110; // смещение относительно вертикальной оси;

ed3.Left:=100; // смещение относительно горизонтальной оси;

end;

ed4:=Tedit.create(form3); // создание поля ввода (Edit);

ed4.parent:=form3; // место создания поля ввода (form3);

with ed4 do

begin

top:=140; // смещение относительно вертикальной оси;

Left:=100; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed5:=Tedit.create(form3); // создание поля ввода (Edit);

ed5.parent:=form3; // место создания поля ввода (form3);

with ed5 do

begin

top:=170; // смещение относительно вертикальной оси;

Left:=100; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed6:=Tedit.create(form3); // создание поля ввода (Edit);

ed6.parent:=form3; // место создания поля ввода (form3);

with ed6 do

begin

top:=200; // смещение относительно вертикальной оси;

Left:=100; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed7:=Tedit.create(form3); // создание поля ввода (Edit);

ed7.parent:=form3; // место создания поля ввода (form3);

with ed7 do

begin

top:=140; // смещение относительно вертикальной оси;

Left:=250; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed8:=Tedit.create(form3); // создание поля ввода (Edit);

ed8.parent:=form3; // место создания поля ввода (form3);

with ed8 do

begin

top:=170; // смещение относительно вертикальной оси;

Left:=250; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed9:=Tedit.create(form3); // создание поля ввода (Edit);

ed9.parent:=form3; // место создания поля ввода (form3);

with ed9 do

begin

top:=200; // смещение относительно вертикальной оси;

Left:=250; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed10:=Tedit.create(form3); // создание поля ввода (Edit);

ed10.parent:=form3; // место создания поля ввода (form3);

with ed10 do

begin

top:=140; // смещение относительно вертикальной оси;

Left:=400; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed11:=Tedit.create(form3); // создание поля ввода (Edit);

ed11.parent:=form3; // место создания поля ввода (form3);

with ed11 do

begin

top:=170; // смещение относительно вертикальной оси;

Left:=400; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

ed12:=Tedit.create(form3); // создание поля ввода (Edit);

ed12.parent:=form3; // место создания поля ввода (form3);

with ed12 do

begin

top:=200; // смещение относительно вертикальной оси;

Left:=400; // смещение относительно горизонтальной оси;

Width:=30; // задание ширины поля ввода;

end;

end;

Данная процедура после открытия формы (form3) создает элементы управления: кнопку 'Добавить', надписи (Label-Label12), поля ввода (edit1-edit12) и задает им необходимые свойства.

procedure TForm3.button2click(Sender: TObject); // объявление процедуры;

begin

form1.ADOTable1.insert(); // процедура вставки новой записи в БД;

form1.ADOtable1.FieldByName('Фамилия').Value:= ed1.Text;

form1.ADOtable1.FieldByName('Имя').Value:= ed2.Text;

form1.ADOtable1.FieldByName('Отчество').Value:= ed3.Text;

form1.ADOtable1.FieldByName('Алгебра').Value:= ed4.Text;

form1.ADOtable1.FieldByName('Геометрия').Value:= ed5.Text;

form1.ADOtable1.FieldByName('Физика').Value:= ed6.Text;

form1.ADOtable1.FieldByName('Русский_язык').Value:= ed7.Text;

form1.ADOtable1.FieldByName('Литература').Value:= ed8.Text;

form1.ADOtable1.FieldByName('История').Value:= ed9.Text;

form1.ADOtable1.FieldByName('Биология').Value:= ed10.Text;

form1.ADOtable1.FieldByName('Анатомия').Value:= ed11.Text;

form1.ADOtable1.FieldByName('Химия').Value:= ed12.Text;

end;




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


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


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



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




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