Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 20:43, курсовая работа
Базы данных считаются основным достоинством Delphi. Это действительно так. Хотя язык и не создавался специально под эту предметную область программирования, но реализация работы с данными здесь просто поражает. Даже специализированные языки, которые предназначены для работы с базами данных (такие, как MS Visual FoxPro), явно уступают Delphi по простоте и мощи программирования. Delphi скрывает все сложности и в то же время предоставляет широчайшие возможности при создании баз данных. Практически любую задачу в этой предметной области можно реализовать средствами этого языка, причем задовольно короткий промежуток времени. Главное здесь то, что реализация приложения очень удобна и проста в понимании.
1. Введение
2. Цели и задачи курсовой работы
3. Руководство программиста
4. Руководство пользователя
5. Тестирование программы
6. Результаты работы программы и их анализ
7. Блок – схема
8. Выводы
9. Используемая литература
10. Листинг программы
1. Введение
2. Цели и задачи курсовой работы
3. Руководство программиста
4. Руководство пользователя
5. Тестирование программы
6. Результаты работы программы и их анализ
7. Блок – схема
8. Выводы
9. Используемая литература
10. Листинг программы
1. Введение
Базы данных считаются основным достоинством Delphi. Это действительно так. Хотя язык и не создавался специально под эту предметную область программирования, но реализация работы с данными здесь просто поражает. Даже специализированные языки, которые предназначены для работы с базами данных (такие, как MS Visual FoxPro), явно уступают Delphi по простоте и мощи программирования. Delphi скрывает все сложности и в то же время предоставляет широчайшие возможности при создании баз данных. Практически любую задачу в этой предметной области можно реализовать средствами этого языка, причем задовольно короткий промежуток времени. Главное здесь то, что реализация приложения очень удобна и проста в понимании. В этой главе мы познакомимся с основами построения баз данных и рассмотрим несколько полезных примеров. Для примеров будут использовать базы данных Access (Access — типовая система управления базами данных, поставляемая в пакете MS Office) и современный формат файлов баз данных — XML. В последствии мы рассмотрим самые простые и распространенные таблицы в формате DBF и Paradox. Многие программисты стараются не использовать их в своих проектах из-за ненадежности, а также потому, что в них регулярно нарушается индексная целостность, что приводит к неработоспособности программ. Однако из-за их довольно широкого распространения необходимо знать принципы работы с ними. Даже локальная версия 1C: Предприятия использует этот ужасный DBF-формат. Таким образом, если необходимо написать программу для работы с чужими данными, вы просто обязаны знать, как работать с этим форматом баз данных.
2. Цели и задачи курсовой работы
Цель курсовой работы создание телефонного справочника. Задача разработать программу на языке Turbo Paskal или Borland Delphi.
Я разработал программу в среде программирования Borland Delphi.
3. Руководство программиста
В разработке программы были использованы следующие компоненты:
Form-форма
ADOConnection – компонент обеспечивает соединение программы с базой данных
ADOtable – компонент для связи с таблицей внутри базы данных
DataSource – компонент для отображения данных из таблицы
DBGrid – это компонент сетка, которая отображает данные в виде талбицы
MainMenu – главное меню программы
Popup menu – контекстное меню
ImageList –
компонент для хранения
ComboBox – списки выбора, компонент где можно выбрать одно значение из списка.
MaskEdit – Маскированная строка ввода
ToolBar – панель инструментов.
{Осуществляет
поиск по фамилии, имени,
procedure TMainForm.
var Accept: Boolean);
begin
Accept:=false;
if CheckBox1.Checked then
case ComboBox1.ItemIndex of
0:if copy((AnsiUpperCase(
Accept:=true;
1:if copy((AnsiUpperCase(
Accept:=true;
2:if copy((AnsiUpperCase(
Accept:=true;
3:if copy((AnsiUpperCase(
Accept:=true;
4:if copy((AnsiUpperCase(BookTableД
Accept:=true;
5:if copy((AnsiUpperCase(
Accept:=true;
end
else
case ComboBox1.ItemIndex of
0:if copy(BookTableФамилия.
Accept:=true;
1:if copy(BookTableИмя.AsString,1,
Accept:=true;
2:if copy(BookTableОтчество.
Accept:=true;
3:if copy(BookTableТелефон.
Accept:=true;
4:if Copy(BookTableДата.AsString,1,
Accept:=true;
5:if copy(BookTableTown.AsString,1,
Accept:=true;
end
end;
{компонент с ниспадающим списком, критерий поиска}
procedure TMainForm.ComboBox1Select(
begin
case ComboBox1.ItemIndex of
0:MaskEdit1.Text:='введите фамилию';
1:Maskedit1.Text:='введите имя';
2:Maskedit1.Text:='введите отчество';
3:Maskedit1.Text:='введите телефон';
4:Maskedit1.Text:='введите дату рождения';
5:Maskedit1.Text:='введите название города';
end;
end;
{Поле ввода данных для поиска по БД}
procedure TMainForm.MaskEdit1Change(
begin
if (MaskEdit1.Focused) and (length(MaskEdit1.Text)>0) then
BookTable.Filtered:=true
else
BookTable.Filtered:=false;
case ComboBox1.ItemIndex of
0:BookTable.Filter:='Фамилия>=
1:BookTable.Filter:='Имя>='+
2:BookTable.Filter:='Отчество>
3:BookTable.Filter:='Телефон>=
4:BookTable.Filter:='Дата>='+
5:BookTable.Filter:='town>='+
end;
end;
{При получении курсора меняет на черный цвет текст в компоненте MaskEdit }
procedure TMainForm.MaskEdit1Enter(
begin
MaskEdit1.Text:='';
MaskEdit1.Font.Color:=clBlack;
end;
{После того как убираем
procedure TMainForm.MaskEdit1Exit(
begin
MaskEdit1.Font.Color:=clGray;
case ComboBox1.ItemIndex of
0:MaskEdit1.Text:='введите фамилию';
1:Maskedit1.Text:='введите имя';
2:Maskedit1.Text:='введите отчество';
3:Maskedit1.Text:='введите телефон';
4:Maskedit1.Text:='введите дату рождения';
5:Maskedit1.Text:='введите название города';
end;
end;
{Далее идут процедуры сортировки по БД; ASC – по возрастанию, DESC – по убыванию}
procedure TMainForm.N15Click(Sender: TObject);
begin
BookTable.Sort:='Фамилия ASC';
end;
procedure TMainForm.N16Click(Sender: TObject);
begin
BookTable.Sort:='Фамилия DESC';
end;
procedure TMainForm.N17Click(Sender: TObject);
begin
BookTable.Sort:='Имя ASC';
end;
procedure TMainForm.N18Click(Sender: TObject);
begin
BookTable.Sort:='Отчество ASC';
end;
procedure TMainForm.N19Click(Sender: TObject);
begin
BookTable.Sort:='Телефон ASC';
end;
procedure TMainForm.N20Click(Sender: TObject);
begin
BookTable.sort:='Город ASC';
end;
procedure TMainForm.N21Click(Sender: TObject);
begin
BookTable.Sort:='Имя DESC';
end;
procedure TMainForm.N22Click(Sender: TObject);
begin
BookTable.Sort:='Отчество DESC';
end;
procedure TMainForm.N23Click(Sender: TObject);
begin
BookTable.Sort:='Телефон DESC';
end;
procedure TMainForm.N24Click(Sender: TObject);
begin
BookTable.sort:='Город DESC';
end;
procedure TMainForm.N26Click(Sender: TObject);
begin
BookTable.Sort:='Дата ASC';
end;
procedure TMainForm.N27Click(Sender: TObject);
begin
BookTable.Sort:='Дата DESC';
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
Close;
end;
{Открывает окно авторства}
procedure TMainForm.N52Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;
{Открывает окно справочник городов}
procedure TMainForm.N5Click(Sender: TObject);
begin
TownBookForm.ShowModal;
end;
{Открывает окно редактирования данных}
procedure TMainForm.N7Click(Sender: TObject);
begin
EditForm.ShowModal;
end;
{Удаление записи БД}
procedure TMainForm.N8Click(Sender: TObject);
begin
if Application.MessageBox(pchar('
BookTable.Delete;
end;
{Добавляет данные в БД}
procedure TTownBookForm.AddButtonClick(
begin
MainForm.TownTable.Insert;
DBGrid1.SetFocus;
end;
{Удаляет записи из БД}
procedure TTownBookForm.
begin
if Application.MessageBox(pchar('
MainForm.TownTable.Delete;
end;
{Закрывает окно справочник городов, с предупреждением о сохранении}
procedure TTownBookForm.FormClose(
begin
if MainForm.TownTable.Modified then
if Application.MessageBox(pchar('
MainForm.TownTable.Post;
end;
{Сохраняет данные, если были внесены изменения}
procedure TTownBookForm.SaveButtonClick(
begin
if MainForm.TownTable.Modified then
MainForm.TownTable.Post;
TownBookForm.Close;
end;
4. Руководство пользователя
Основной вид программы
В программе есть редактирование, добавление и удаление записей в БД, а также сортировка и поиск.
При нажатии Добавить запись открывается окно редактирования
Сортировка используется по всем полям
При нажатии меню справочник открывается окно со списком городов
В программе есть поиск данных по полям БД.
5. Тестирование программы
В результате тестирования была проблема
соединения базы данных с программой.
Так как программа
6. Результаты работы программы и их анализ
После всех тестирований программа полностью работоспособна. Никаких ошибок не происходит. Редактирование, добавление, удаление, сортировка, а также поиск данных работает корректно.
7. Блок – схема
Общая блок схема для приложения
Запуск программы
Выбрать действие
Конец
Выход с программы
Поиск данных
Сортировка данных
Редактирование записей
8. Выводы
Программа телефонный справочник служит как справочник по телефонам, предоставляя базовые возможности телефонного справочника. Она может быть использована для решения простейших задач по работе с данными.
Телефонный справочник имеет следующие возможности:
* Добавление записей
* Удаление записей
* Редактирование записей
* Поиск данных с учетом регистра и без
* Сортировка данных по всем полям
* Сохранение внесенных или изменённых данных
9. Используемая литература
1. Самоучитель по Delphi – «Библия Delphi» автор: М.Фленов.
2. Разработка базы данных в делфи - А.Сорокин
10. Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Menus, ToolWin, ComCtrls, XPMan,
ImgList, ExtCtrls, Mask;
type
TMainForm = class(TForm)
ADOConnection: TADOConnection;
BookTable: TADOTable;
DataSource: TDataSource;
DBGrid1: TDBGrid;
BookTableКод: TIntegerField;
BookTableФамилия: TWideStringField;
BookTableИмя: TWideStringField;
BookTableОтчество: TWideStringField;
BookTableТелефон: TWideStringField;
BookTableГород: TIntegerField;
TownTable: TADOTable;
TownSource: TDataSource;
TownTableКод: TAutoIncField;
TownTableКодгорода: TIntegerField;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
BookTableДата: TDateTimeField;
PopupMenu1: TPopupMenu;
N28: TMenuItem;
N29: TMenuItem;
N30: TMenuItem;
N32: TMenuItem;
N33: TMenuItem;
N34: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
N38: TMenuItem;
N39: TMenuItem;
N40: TMenuItem;
N41: TMenuItem;
N42: TMenuItem;
N43: TMenuItem;
N44: TMenuItem;
N45: TMenuItem;
N46: TMenuItem;
N47: TMenuItem;
N48: TMenuItem;
N49: TMenuItem;
N50: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
XPManifest1: TXPManifest;
ImageList1: TImageList;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
Panel1: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
MaskEdit1: TMaskEdit;
CheckBox1: TCheckBox;
N31: TMenuItem;
TownTableГорода: TWideStringField;
BookTableTown: TStringField;
N51: TMenuItem;
N52: TMenuItem;
ToolButton5: TToolButton;
ToolButton8: TToolButton;
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure MaskEdit1Enter(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure ComboBox1Select(Sender: TObject);
procedure MaskEdit1Change(Sender: TObject);
procedure BookTableFilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure N52Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
uses TownUnit, EditFormUnit, ABOUT;