/
Содержание
В данном курсовом проекте требуется реализовать программу «Учет компьютерной техники» в среде визуального программирования Delphi 7. Предусмотреть хранение информации. Приложение должно обеспечивать детальное описание каждого компьютера , его комплектующие и назначение. Для выполнения задачи поставленной в курсовой работе применяются знания и умения, полученные в процессе изучения дисциплины «Основы алгоритмизации и программирования».
При исследовании существующих программных продуктов, я пришел к мнению, что для выполнения данной программы нужно использовать комплексное программное обеспечение компании Microsoft, базы данных Access можно создать такое же приложение, выполняющее поставленную задачу. При этом затрачивается минимум усилий на проработку интерфейса и процедур сортировки. Для создания подобного приложения необходимо как минимум:
a) Компоненты для визуального представления данных в табличной форме;
b) Набор компонентов для добавления, изменения, удаления записей в базу данных и их применение;
Таким образом, для выполнения поставленных пунктов, касающихся будущей структуры приложения я использовал:
1) для визуального отображения данных в табличной форме выбрать компонент DBGrid1, который в текстовой форме обеспечивает ввод, изменение, удаление и просмотр данных.
2) для добавления, изменения, удаления, применения в базе данных использовать компонент BitBtn.
Основной задачей данной программы является предоставление пользователю всевозможных данных о каждом компьютере: комплектующие, описание, предназначение.
Анализ предметной области позволяет дать ответ на информацию помещенную в базе данных. Пользователями базы данных могут быть как программисты так и обычные пользователи. Таким образом разработчик должен представить программу с легким и понятным интерфейсом. Модель предметной области - это наши знания о продукте программы. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств.
Такими средствами могут быть как вкладки справки программы, так и дополнительные информационные ресурсы. Также могут использоваться скриншоты работы программы и её отдельных аспектов.
Предметной областью моего проекта является учет компьютерной техники.
Каждый компьютер имеет следующие характеристики : наименование, описание, комплектующие.
2.Разработка алгоритма
Данная блок схема показывает ход работы программного проекта с содержанием всех меню и подменю.
3. Создание программного продукта
Проект программы был разработан с помощью программных ресурсов Delphi 7 и MS Access 2007. Delphi, в свою очередь, является универсальной системой программирования, с помощью которой производится управление базой данных,a MS Access 2007 - хранилищем базы данных.
Процесс создания базы данных состоит из одного шага - создания базы данных.
Создадим базу данных в MS Access 2007. Используемая база данных будет состоять из восьми таблиц, в ней будет 5 строк отображающих: номер, наименование компьютера, описание компьютера, комплектующие.
Первые 4 таблицы имеют одинаковую структуру поэтому отобразим их в одной таблице данных.
Создадим следующие таблицы:
Таблица 1
Название таблицы |
Имя поля |
Тип данных |
Размер поля |
|
36,41,42,48 |
id |
Счетчик |
Длинное целое |
|
Nazvanie |
Текстовый |
255 |
||
sostovlaushie |
Поле МЕМО |
|||
opisanie |
Поле МЕМО |
|||
№ |
Числовое |
Длинное целое |
Конструктор(Рисунок 1):
Рисунок 1
Обычный вид(Рисунок 2):
Рисунок 2
Последующие 4 таблице также имеют одинаковую структуру поэтому отобразим их в одной таблице данных.
Таблица 2
36,41,42,48 Удаление |
Имя поля |
Тип данных |
Размер поля |
|
id |
Счетчик |
Длинное целое |
||
Nazvanie |
Текстовый |
255 |
||
sostovlaushie |
Поле МЕМО |
|||
opisanie |
Поле МЕМО |
|||
№ |
Числовое |
Длинное целое |
Конструктор(Рисунок 3):
Рисунок 3
Обычный вид(Рисунок 4):
Рисунок 4
Перейдём к работе со средой Delphi 7.
На главной форме Form1(Учет компьютерной техники) представлено меню из трех выпадающих подменю : выход, о программе , справка.
Выбор аудитории реализован при помощи компонентов ComboBox и Button.
Все возможности подменю реализованы при помощи компонента MainMenu1.
Рабочая форма представлена на рисунке 5:
Рисунок 5
На формах Form2,3,4,5(Аудитории)представлены установленные компьютеры с их комплектующими и описанием. Также реализовано добавление, изменение, удаление, поломка компьютеров , реализован ремонт техники и поиск по номеру компьютера.
Рабочая форма представлена на рисунке 6:
Рисунок 6
Поиск по номеру компьютера организован с помощью компонентов Edit1.
Поломка компьютера, его ремонт и замена реализованы с помощью компонента BitBtn.
Вывод таблицы на форму реализован при помощи компонентов:
DBGrid1, ADOConnection1, DataSource1,, ADOTable1.
Меню реализовано с помощью компонента MainMenu1.
Добавление, удаление, редактирование организованы с помощью компонентаBitBtn.
На форме Form6,7,8,9(ПК на ремонте) возможно замена комплектующих компьютера. Сохранение и обновление данных в таблице происходит при помощи компонента BitBtn.
Починка выполняется с помощью компонента BitBtn.
Меню реализовано с помощью компонента MainMenu1.
Информация о комплектующих выполняется с помощью компонента DBMemo1.
Вывод таблицы на форму реализован при помощи компонентов:
DBGrid1, ADOConnection1, DataSource1, ADOTable1.
Рабочая форма представлена на рисунке 7:
Рисунок 7
На форме Form10(О программе) представлена информация о разработчике данного продукта.
Рабочая форма представлена на рисунке 8:
Рисунок 8
На форме Form11(Справка) представлена информация о разработчике данного продукта.
Рабочая форма представлена на рисунке 9:
Рисунок 9
4.Тестирование программы
В данном проекте выполняется несколько задач:
1)Выбор аудитории.
При выборе аудитории и нажатия кнопки вход в систему ошибок не обнаружено.
2)Работа с компьютерами в аудитории:
а)добавление нового компьютера происходит путем ввода данных в таблицу и компоненты Memo без ошибок(Рисунок 10).
Рисунок 10
б)удаление компьютера происходит при выборе компьютера и нажатии кнопки удалить без ошибок.
в) поломка компьютера выполняется путем нажатия кнопки Поломка без ошибок(рисунок 11)
Рисунок 11
г)ремонт компьютера производится путем нажатия кнопки починено без ошибок.
3)Сортировка по :
а)убыванию (рисунок 12):
Рисунок 12
б)возрастанию(рисунок 13):
Рисунок 13
Заключение
программа запрос база данные
В данной курсовой работе был разработан программный проект «Учет компьютерной техники». В данном проекте представлена предметная область, логическое и физическое проектирование системы, созданы запросы по выборке данных, добавлению, удалению, применению и редактированию записей находящихся в базе данных. При создании программного проекта «Учет компьютерной техники» я использовал программы: Microsoft Access - для создания базы данных «auditoria» и BorlandDelphi7 для подключения к базе данных, созданию и модификация данных таблицы и форм.
Главным результатом проведенной работы является создание функционирующего программного проекта, который выполняет требуемый круг задач по ведению и использованию базы данных «Учет компьютерной техники».
В заключении можно сказать, что созданный программный проект лёгок в использовании, понятен не только программисту но и обычному пользователю т.к. его интерфейс прост и не вызывает трудностей. Для пользователей которые работают в школе, колледже и государственных организациях по учету компьютерной техники «Учет компьютерной техники» я считаю, является одним из лучших программных проектов.
Список источников литературы
[1]Сто уроков Delphi.
[2]Технологии Delphi 2006. Новые возможности, автор: Сергей Бобровский, издательство: Питер, год издания: 2006.
[3] Delphi в задачах и примерах, автор: Никита Культин, издательство: БХВ-Петербург , год издания: 2003.
Приложение А(Код)
Unit1.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, XPMan, Menus, ExtCtrls, ComCtrls, jpeg;
type
TForm1 = class(TForm)
mm1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
img1: TImage;
btn1: TButton;
cbb1: TComboBox;
lbl1: TLabel;
procedure btn1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit10, Unit11;
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
case cbb1.ItemIndex of
0 : begin
Form2.ShowModal;
end
end;
case cbb1.ItemIndex of
1 : begin
Form3.ShowModal;
end
end;
case cbb1.ItemIndex of
2 : begin
Form4.ShowModal;
end
end;
case cbb1.ItemIndex of
3 : begin
Form5.ShowModal;
end
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
if MessageDlg('Вы действительный хотите выйти из ПС 'Учет компьютерной техники колледжа'?',
mtConfirmation, [mbyes, mbNo], 0) = mrYes then
begin
Application.Terminate;
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form10.show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form11.show;
end;
end.
Unit 2,3,4,5(Одинаковая структура кода)
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, jpeg, ExtCtrls, DB, ADODB, Grids, DBGrids, StdCtrls,
DBCtrls, Buttons;
type
TForm2 = class(TForm)
mm1: TMainMenu;
N1: TMenuItem;
img1: TImage;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBMemo1: TDBMemo;
ADOTable1: TADOTable;
DBMemo2: TDBMemo;
Label1: TLabel;
Label2: TLabel;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
DBNavigator1: TDBNavigator;
Label3: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
N5: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit6;
{$R *.dfm}
procedure TForm2.N1Click(Sender: TObject);
begin
Close;
end;
procedure TForm2.N3Click(Sender: TObject);
begin
ADOTable1.IndexFieldNames:='№ DESC';
end;
procedure TForm2.N4Click(Sender: TObject);
begin
ADOTable1.IndexFieldNames:='№ ASC';
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
ADOTable1.Locate('№',edit1.Text,[lopartialkey]);
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
form6.show;
Form6.ADOTable1.Insert();
Form6.ADOTable1.FieldByName('nazvanie').Value:=Form2.ADOTable1.FieldByName('nazvanie').Value;
Form6.ADOTable1.FieldByName('sostovlaushie').Value:=Form2.ADOTable1.FieldByName('sostovlaushie').Value;
Form6.ADOTable1.FieldByName('№').Value:=Form2.ADOTable1.FieldByName('№').Value;
Form6.ADOTable1.FieldByName('opisanie').Value:=Form2.ADOTable1.FieldByName('opisanie').Value;
Form6.ADOTable1.Post();
Form2.ADOTable1.Delete;
end;
procedure TForm2.BitBtn3Click(Sender: TObject);
begin
ADOTable1.IndexFieldNames:='№ ASC';
end;
procedure TForm2.N5Click(Sender: TObject);
begin
form6.Show;
end;
end.
Unit 6,7,8,9(одинаковая структура кода)
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids,
Menus;
type
TForm9 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
DBGrid1: TDBGrid;
DBMemo1: TDBMemo;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Label1: TLabel;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DBMemo2: TDBMemo;
procedure N1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit5;
{$R *.dfm}
procedure TForm9.N1Click(Sender: TObject);
begin
Close;
end;
procedure TForm9.BitBtn1Click(Sender: TObject);
begin
Form5.ADOTable1.Insert();
Form5.ADOTable1.FieldByName('nazvanie').Value:=Form9.ADOTable1.FieldByName('nazvanie').Value;
Form5.ADOTable1.FieldByName('sostovlaushie').Value:=Form9.ADOTable1.FieldByName('sostovlaushie').Value;
Form5.ADOTable1.FieldByName('№').Value:=Form9.ADOTable1.FieldByName('№').Value;
Form5.ADOTable1.FieldByName('opisanie').Value:=Form9.ADOTable1.FieldByName('opisanie').Value;
Form5.ADOTable1.Post();
Form9.ADOTable1.Delete;
end;
end.