КАТЕГОРИИ: Архитектура-(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; Просмотров: 464; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |