Автор работы: Пользователь скрыл имя, 27 Ноября 2012 в 01:41, курсовая работа
Целью работы является создание программы телефонного справочника в среде DELPHI.
Разработанная программа должна позволять выполнять быстрый и удобный поиск по записям, их сортировку.
Должен обеспечиваться удобный ввод, удаление и редактирование данных в программе. Так же данные должны сохраняться на жёстком диске и иметь чёткую и продуманную структуру.
Введение……………………………………………………………………..
1.Постановка задачи……………………………………………………….
2.Анализ задания……………………………………………………………
3.Теоретическая часть……………………………………………………..
4.Практическая часть……………………………………...........................
4.1 Разработка базы данных……………………………………………….
4.1.1 Создание структуры БД………………………………………………
4.1.2 Связь программы с БД……………………………………………….
4.2 Алгоритм программы…………………………………………………..
4.3Код программы…………………………………………………………...
4.4 Тестирование программы………………………………………………
4.4.1 Условия тестирования…………………………………………….......
4.4.2 Процесс тестирования………………………………………………....
4.4.3 Сообщения об ошибках………………………………………………..
Заключение……………………………………………………………………
Список литературы…………………………
Оглавление:
Введение…………………………………………………………
1.Постановка задачи……………………………………………………….
2.Анализ задания……………………………………
3.Теоретическая часть……………………………………………………..
4.Практическая
часть……………………………………...........
4.1 Разработка базы данных……………………………………………….
4.1.1 Создание структуры БД………………………………………………
4.1.2 Связь программы с БД……………………………………………….
4.2 Алгоритм программы…………………………………………………..
4.3Код программы……………………………………
4.4 Тестирование программы………………………………………………
4.4.1 Условия тестирования…………………………………………….
4.4.2 Процесс
тестирования………………………………………………
4.4.3 Сообщения об ошибках………………………………………………..
Заключение……………………………………………………
Список литературы…………………………………
Введение
Тема работы посвящена программной реализации задачи о телефонном справочнике на языке Delphi.
Актуальность темы работы состоит в потребности людей в удобном средстве хранения и представления данных о своих контактах – удобном телефонном справочнике.
Целью работы является создание программы телефонного справочника в среде DELPHI.
Разработанная программа должна позволять выполнять быстрый и удобный поиск по записям, их сортировку.
Должен обеспечиваться удобный ввод, удаление и редактирование данных в программе. Так же данные должны сохраняться на жёстком диске и иметь чёткую и продуманную структуру.
1. Постановка задачи
Программная реализация задачи о телефонном справочнике на языке DELPHI.
Создать программу-справочник, обеспечить ввод, удаление, редактирование данных. Данные хранить в произвольном формате.
Реализовать поиск и сортировку данных.
Продумать и разработать удобный пользовательский интерфейс.
2. Анализ задания
Любые данные удобнее всего хранить в базе данных. Так же в среде Delphi существует множество готовых решений и компонентов для эффективной и быстрой работы с базой данных.
Исходя из этого, для хранения данных телефонного справочника мы будем использовать базу данных MS Access, для связи с ней в программе будем пользоваться компонентами ADO, что позволит нам существенно упростить и убыстрить разработку программы – все функции по добавлению, редактированию, удалению сортировке и фильтрации возьмут на себя компоненты ADO.
Нам остаётся разработать правильную структуру базы данных и реализовать необходимую логику работы с ней в программе.
3. Теоретическая часть
На основе технологии ADO в Delphi созданы соответствующие компоненты-наборы TADOTable, TADOQuery, TADOStoredProc , повторяющие в функциональном отношении компоненты TTable, TQuery, TstoredProc, но не требующие развертывания и настройки на клиентской машине BDE.
Основным достоинством
ADO является ее естественная
Рис. 3.1 Схема связи с объектом ADO в Delphi
На машине клиента
располагаются связные
4. Практическая часть
4.1 Разработка базы данных
4.1.1 Создание структуры БД
Разработаем структуру табицы для хранения данных о контактах и опишем требуемые поля.
Имя поля |
Тип |
Обязательное |
Совпадения |
Код |
Счётчик |
да |
нет |
Фамилия |
Текстовый |
да |
да |
Имя |
Текстовый |
да |
да |
Дата рождения |
Дата/время |
нет |
да |
Город |
Текстовый |
нет |
да |
Текстовый |
нет |
нет | |
Телефон |
Текстовый |
да |
нет |
Создадим файл MS Access под именем «tele.mdb». Создадим в нём таблицу «Люди» и зададим в ней поля согласно разработанной таблице.
4.1.2 Связь программы с БД
Для связи с созданной нами БД средствами ADO переместим на форму следующие компоненты из одноимённой вкладки ADO:
После добавления важно правильно
настроить и связать эти
Свойство ConnectionString компонента TADOConnection настраиваем следующим образом:
… -> Use connection string -> Build -> Microsoft Jet 4.0 OLE DB Provider -> tele.mdb
В итоге в ConnectionString должна записаться подобная следующей строка:
Provider=Microsoft.Jet.OLEDB.
Свойство LoginPrompt выставляем в False, чтобы при подключении не запрашивался пароль. Установим свойство Connected в True.
Изменим свойства для компонента TADOTable:
Connection = ADOConnection1; TableName = Люди; Active = True;
Свойство DataSet компонента TDataSource выставим как ADOTable1.
Свойство DataSource компонента TDBGrid выставим как DataSource1.
Изменим свойства для компонента TDBNavigator:
DataSource = DataSource1;
VisibleButtons = [nbInsert,nbDelete,nbPost,
Теперь программа настроена и связана с нашей базой данных. Необходимо помнить, что файл «tele.mdb» должен всегда находиться в папке с самой программой.
4.2 Алгоритм программы
Блок-схема основного алгоритма программы.
Блок-схема реализации поиска по базе данных.
4.3 Код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Buttons;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid; {Таблица для отображения данных}
DataSource1: TDataSource; {Компонент-источник данных для таблицы}
DBNavigator1: TDBNavigator; {Компонент для редактирования данных в БД}
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
ADOConnection1: TADOConnection; {Компонент соединения с БД}
ADOTable1: TADOTable; {Компонент-провайдер данных из БД к DataSource-компоненту}
ComboBox1: TComboBox; {Выпадающий список полей для сортировки}
Label1: TLabel;
Edit1: TEdit; {Поле ввода для поиска по фамилии}
GroupBox1: TGroupBox; {Группа компонентов для сортировки}
GroupBox2: TGroupBox; {Группа компонентов для поиска}
Edit2: TEdit; {Поле ввода для поиска по телефону}
Label2: TLabel;
BitBtn2: TBitBtn; {Кнопка для отмены поиска}
Label3: TLabel;
procedure Edit1Change(Sender: TObject); {Процедура обработки изменения текста в поле ввода для поиска по фамилии}
procedure Edit2Change(Sender: TObject); {Процедура обработки изменения текста в поле ввода для поиска по телефону}
procedure BitBtn2Click(Sender: TObject); {Процедура обработки нажатия на кнопку для отмены поиска}
procedure ComboBox1Change(Sender: TObject); {Процедура обработки выбора поля для сортировки}
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{Процедура обработки изменения текста в поле ввода для поиска по фамилии}
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Length(Edit1.Text)>0 then {Если длина текста в поле ввода фамилии больше 0}
begin
ADOTable1.Filtered:=True; {Включаем фильтрацию}
Edit2.Text:=''; {Стираем текст в поле ввода телефона}
ADOTable1.Filter:='Фамилия='''
end
else {Иначе (если поле ввода фамилии пусто)}
begin
ADOTable1.Filtered:=False; {Отключаем фильтрацию}
end;
end; {Конец процедуры обработки изменения текста в поле ввода для поиска по фамилии}
{Процедура обработки изменения текста в поле ввода для поиска по телефону}
procedure TForm1.Edit2Change(Sender: TObject);
begin
if Length(Edit2.Text)>0 then {Если длина текста в поле ввода телефона больше 0}
begin
ADOTable1.Filtered:=True; {Включаем фильтрацию}
Edit1.Text:=''; {Стираем текст в поле ввода фамилии}
ADOTable1.Filter:='Телефон='''
end
else {Иначе (если поле ввода телефона пусто)}
begin
ADOTable1.Filtered:=False; {Отключаем фильтрацию}
end;
end; {Конец процедура обработки изменения текста в поле ввода для поиска по телефону}
{Процедура обработки нажатия на кнопку для отмены поиска}
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ADOTable1.Filtered:=False; {Отключаем фильтрацию}
Edit1.Text:=''; {Стираем текст в поле ввода фамилии}
Edit2.Text:=''; {Стираем текст в поле ввода телефона}
end; {Конец процедуры обработки нажатия на кнопку для отмены поиска}
{Процедура обработки выбора поля для сортировки}
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ADOTable1.Sort:=ComboBox1.
end; {Конец процедуры обработки выбора поля для сортировки}
end.{Конец программы}
4.4 Тестирование программы
4.4.1 Условия тестирования
Аппаратные средства:
Программные средства:
4.4.2 Процесс тестирования