Телефонный справочник в среде DELPHI

Автор работы: Пользователь скрыл имя, 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 файл

Телефонный справочник.doc

— 171.00 Кб (Скачать файл)

Оглавление:

 

Введение……………………………………………………………………..

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 является ее естественная ориентация  на создание «облегченного» клиента.  На машине сервера данных (это  может быть файловый сервер в рамках файл/серверной технологии или машина с сервером данных - в технологии клиент/сервер) устанавливается так называемый провайдер данных - некоторая надстройка над специальной технологией OLE DB, «понимающая» запросы объектов ADO и «умеющая» переводить эти запросы в нужные действия с данными. Взаимодействие компонентов ADO и провайдера осуществляется на основе универсальной для Windows технологии ActiveX, причем провайдер реализуется как СОМ-сервер, а ADO-компоненты - как COM-клиенты. На машине сервера создается и размещается источник данных. В случае файл/серверных систем отдельные таблицы типа dBASE, FoxPro, Paradox и т.п. должны управляться соответствующим ODBC-драйвером,а в роли провайдера используется Microsoft OLE DB Provider for ODBC drivers. Если по каким-либо причинам не найден нужный драйвер файл/серверные таблицы можно перенести в формат MS Access. На их основе создается единый файл, содержащий все необходимые таблицы, индексы, хранимые процедуры и прочие элементы БД. Такой файл управляется машиной баз данных Microsoft Jet 4.0 Database Engine, а в роли провайдера используется Microsoft Jet 4.0 OLE DB Provider. Если используется промышленный сервер данных Oracle или MS SQL Server, данные не нуждаются в какой-либо предварительной подготовке, а в роли провайдера используется соответственно Microsoft OLE DB Provider for Oracle или Microsoft OLE DB Provider for SQL Server. Нетрудно обнаружить и явный недостаток такой технологии: ADO не может использоваться, если для соответствующей структуры данных (в частности, для БД многих популярных серверов - InterBase, Informix, DB2 и пр. не создан нужный провайдер или ODBC драйвер.

 

 

Рис. 3.1 Схема связи с объектом ADO в Delphi

 

 На машине клиента  располагаются связные компоненты TADOConnection и компоненты-наборы данных TADOTable, TADOQuery, TADOStoredProc, а также не показанные на рисунке компоненты-наборы TADODataSet и командные компоненты TADOCommand. Каждый из этих компонентов может связываться с провайдером данных либо с помощью связного компонента TADOConnection, либо минуя его и используя собственное свойство ConnectionString. Таким образом, TADOConnection играет роль концентратора соединений с источником данных компонентов-наборов и в этом смысле подобен компоненту TDatabase в традиционной архитектуре с BDE.Компоненты-наборы TADODataSet в функциональном плане повторяют свойства уже известных из предыдущих версий Delphi компонентов TClientDataSet технологии MIDAS. Командные компоненты TADOCommand предназначены для реализации запросов на языке управления данными DDL (Data Definition Language), т.е. для реализации SQL-запросов, которые не возвращают данные (запросы типа CREATE, DROP, UPDATE и т.п.). Специальный компонент RDSConnection (не показан на рисунке) создан для упрощения связи с MS Internet Explorer и предназначен для разработки интранет-приложений. Компоненты-наборы с помощью хорошо известных по предыдущим версиям Delphi компонентов-источников TDataSource и визуализирующих компонентов TDBGrid, TDBMemo, TDBEdit и т.п. обеспечивают необходимый интерфейс с пользователем программы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Практическая часть

 

4.1 Разработка базы данных

 

4.1.1 Создание структуры БД

 

Разработаем структуру  табицы для хранения данных о контактах и опишем требуемые поля.

 

Имя поля

Тип

Обязательное

Совпадения

Код

Счётчик

да

нет

Фамилия

Текстовый

да

да

Имя

Текстовый

да

да

Дата рождения

Дата/время

нет

да

Город

Текстовый

нет

да

E-mail

Текстовый

нет

нет

Телефон

Текстовый

да

нет


 

Создадим файл MS Access под именем «tele.mdb». Создадим в нём таблицу «Люди» и зададим в ней поля согласно разработанной таблице.

 

4.1.2 Связь программы с БД

 

Для связи с созданной  нами БД средствами ADO переместим на форму следующие компоненты из одноимённой вкладки ADO:

  • TADOConnection – для подключения непосредственно к нашей базе (вкладка «ADO»);
  • TADOTable – для работы с созданной нами таблицей «Люди» (вкладка «ADO»);
  • TDataSource – для связи программной таблицы с таблицей в БД (вкладка «Data Access»);
  • TDBGrid – для отображения информации (вкладка «Data Controls»);
  • TDBNavigator – для добавления, удаления и редактирования данных (вкладка «Data Controls»).

 

После добавления важно правильно  настроить и связать эти компоненты между собой.

Свойство ConnectionString компонента TADOConnection настраиваем следующим образом:

… -> Use connection string -> Build -> Microsoft Jet 4.0 OLE DB Provider -> tele.mdb

 

В итоге в ConnectionString должна записаться подобная следующей строка:

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=tele.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

 

Свойство LoginPrompt выставляем в False, чтобы при подключении не запрашивался пароль. Установим свойство Connected в True.

 

Изменим свойства для компонента TADOTable:

Connection = ADOConnection1; TableName = Люди; Active = True;

 

Свойство DataSet компонента TDataSource выставим как ADOTable1.

Свойство DataSource компонента TDBGrid выставим как DataSource1.

Изменим свойства для  компонента TDBNavigator:

DataSource = DataSource1;

VisibleButtons = [nbInsert,nbDelete,nbPost,nbCancel].

 

Теперь программа настроена и связана с нашей базой данных. Необходимо помнить, что файл «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:='Фамилия='''+Edit1.Text+''''; {Устанавливаем фильтрацию фамилий по введённому тексту}

  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:='Телефон='''+Edit2.Text+''''; {Устанавливаем фильтрацию телефонов по введённому тексту}

  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.Text+' ASC'; {Устанавливаем сортировку по выбранному полю по возрастанию}

end; {Конец процедуры обработки выбора поля для сортировки}

 

end.{Конец программы}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.4 Тестирование программы

 

4.4.1 Условия тестирования

 

Аппаратные средства:

    • PC c DVD-ROM и USB-разъемом;
    • Процессор с частотой 3000 МГц;
    • Видеокарта с 128 Мб памяти;
    • оперативная память 2 Гб;
    • 100 Гб свободной памяти на жёстком диске общим объёмом 500 Гб;
    • Устройства ввода – клавиатура и мышь.

Программные средства:

    • MS Windows XP SP3;
    • Драйвера для видеокарты;
    • Установлена среда программирования Delphi 7;
    • Установлены драйвера для связи с БД MS Access;
    • Установлен MS Access.

 

 

 

 

 

 

 

 

 

 

 

4.4.2 Процесс тестирования

 

    • Запустить EXE файл программы.

Информация о работе Телефонный справочник в среде DELPHI