Разработка базы данных для хранения данных о телефонных переговорах и программы для ведения базы данных и расчета стоимости оказанных клиентам услуг связи в среде Delphi 7

Исследование возможностей программного обеспечения Delphi 7.0 для создания простых приложений работы с базами данных. Разработка базы данных для хранения информации об услугах оператора связи, оказанных клиентам. Проверка работоспособности программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.04.2016
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Сердобский филиал ФГБОУ ВПО

«ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

«Разработка базы данных для хранения данных о телефонных переговорах и программы для ведения базы данных и расчета стоимости оказанных клиентам услуг связи в среде Delphi 7»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине

«Информатика и программирование»

2015

РЕФЕРАТ

Объект исследования курсовой работы -- возможности среды разработки программного обеспечения Delphi 7.0 для создания простых приложений работы с базами данных.

Основные цели курсовой работы:

- разработать простую базу данных для хранения информации об услугах оператора связи, оказанных клиентам;

- разработать программу -- средство управления этой базой данных.

Для разработки базы данных использовались реляционная СУБД Paradox 7 и приложение DataBase Desktop, входящее в комплект поставки Delphi 7.0

СОДЕРЖАНИЕ

  • Содержание
  • Введение
  • 1. Предметная область
  • 2. Техническое задание
    • 2.1 Основание для разработки
    • 2.2 Назначение разработки
    • 2.3 Требования к программе
      • 2.3.1 Требования к программной совместимости
      • 2.3.2 Требования к составу и параметрам технических средств
      • 2.3.3 Требования к функциональным характеристикам
    • 2.4 Этапы разработки
      • 2.4.1 Анализ задания на проектирование
      • 2.4.2 Разработка структуры базы данных
      • 2.4.3 Разработка интерфейса программы
      • 2.4.4 Разработка бизнес-логики программы
      • 2.4.5 Отладка программы
      • 2.4.6 Ввод тестовых данных в базу данных
      • 2.4.7 Документирование программы
  • 3. Описание программы
    • 3.1 Общие сведения
    • 3.2 Функциональное назначение
    • 3.3 Описание программы
    • 3.4 Используемые технические средства
  • 4. Проверка работоспособности программы
    • 4.1 Цель проверки
    • 4.2 Перечень проверок
  • 5. Инструкция по работе с программой
  • Заключение
  • Список использованных источников

Приложение 1. Листинг программы

ВВЕДЕНИЕ

Существует несколько технологий баз данных, способных обеспечить совместную работу пользователей с данными. Одной из таких технологий является файл-серверная технология. Ее плюсами являются относительно простая реализация и возможность быстрой разработки приложения для работы с данными, а также широкая функциональность. Однако, эта технология уступает в скорости работы, безопасности и расширяемости клиент-серверной технологии. Тем не менее, файл-серверные базы данных широко применяются по сей день.

Для разработки базы данных учета телефонных переговоров принята СУБД Paradox 7. Это файл серверная СУБД прекрасно документирована [1,2,3] и де-факто используется в учебных и промышленных целях при разработке клиентских приложения в среде Delphi. Для этого, среда разработки укомплектована соответствующим драйвером и средством проектирования DataBase Desktop.

Связь базы данных Paradox и клиентского приложения, разработанного в среде Delphi обычно осуществляется с помощью машины баз данных Borland Database Engine (далее BDE). BDE имеет в своем составе интерфейс для работы с прикладными программами и набор драйверов для работы с конкретными СУБД. Машина BDE «транслирует» запросы получаемые интерфейсом для работы с прикладными программами в запросы к базам данных через их драйвера и обратно [2,3].

BDE крайне удобно для быстрой разработки приложений в отсутствии специальных технологий доступа к данным.

Благодаря такой прослойке между прикладной программой и базой данных, система становиться более гибкой и расширяемой, например, при переходе на другую СУБД бывает достаточно конвертировать базу данных и оставить прежним приложение для работы с базой данных, при условии, что структура базы данных останется прежней [1,3].

Курсовая работа посещена разработке базы данных и приложения для работы с ней по учету телефонных переговоров и других услуг связи. Программа реализует возможности связывания данных нескольких таблиц, поиска, сортировки и фильтрации данных по ключевым полям.

delphi база информация клиент программа

1. ПРЕДМЕТНАЯ ОБЛАСТЬ

Оператор связи оказывает услуги телефонной связи (местные и междугородние телефонные переговоры), а также услуги доступа к сети Интернет. Один клиент может получить несколько услуг за сутки. В базе данных должны фиксироваться все оказанные клиентам услуги с указанием времени начала оказания услуги, продолжительности телефонного переговора (в минутах) или количества трафика (в мегабайтах). База данных должна предоставлять информацию о действующих тарифах и стоимости каждой оказанной клиенту услуги связи.

Итоговым документом является сводка предоставленных услуг за день, в которой содержится следующая информация:

· ФИО клиента;

· Номер телефона;

· Время оказания услуги;

· Название услуги;

· Цена мин./Мб;

· Количество мин./Мб;

· К оплате.

Требуется обеспечить максимально быстрый ввод данных, при этом использовать отдельные справочники услуг и клиентов.

2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

2.1 Основание для разработки

Программа разрабатывается на основании задания на курсовое проектирование по предмету «Информатика и программирование».

2.2 Назначение разработки

Программа предназначена для учета услуг связи и расчета их стоимости.

2.3 Требования к программе

2.3.1 Требования к программной совместимости

Программа предназначена для выполнения в среде операционной системы семейства MS Windows с предустановленной машиной баз данных BDE.

2.3.2 Требования к составу и параметрам технических средств

Программа должна работать на IBM -совместимых компьютерах с архитектурой процессора x86.

2.3.3 Требования к функциональным характеристикам

База данных должна содержать следующую информацию:

О клиентах:

ФИО, номер телефона.

Об услугах:

Название, стоимость.

О звонках (доступе в интернет):

Время, продолжительность, стоимость (к оплате).

Программа для работы с базой данных должна обеспечивать быстрый и удобный ввод данных в том числе: о новых клиентах, о совершенных ими звонках, о изменении тарифов на услуги связи.

Поле к оплате -- должно вычисляться автоматически, на основании данных от цене минуты (или Мб) услуги и количества проговоренных клиентом минут (Мб).

Выходным документом является сводка за текущие сутки по оказанным услугам в виде таблицы содержащей информацию, которая указана в пункте 1.

Для осуществления вышеприведенных требований программа должна предоставлять пользователю возможности поиска данных по ФИО клиента, номеру телефона. Сортировать данные по ФИО клиента. Оказанные услуги требуется отсортировать по времени их оказания и иметь возможность фильтровать по дате предоставления.

Интерфейс программы должен быть простым для освоения пользователями и содержать справочную информацию о работе с программой.

2.4 Этапы разработки

2.4.1 Анализ задания на проектирование

Рисунок 1. Структура базы данных

Анализ пункта 2.3.3. приводит к необходимости использовании отдельных таблиц базы данных для хранения данных о клиентах, услугах и тарифах, оказанных услугах. Для ввода данных требуется использовать отдельные формы, которые обеспечат высокую скорость ввода и удобство пользователя. Кроме того, для осуществления редактирования и удаления данных таблиц требуется использовать штатный компонент Dbnavigator.

Для удобства восприятия пользователем информации требуется использовать связь таблиц.

Для осуществления сортировки и поиска данных необходимо выделить следующие поля и провести их индексацию: ФИО, номер телефона, дата оказания услуги.

2.4.2 Разработка структуры базы данных

Схема базы данных представлена на рисунке 1.

Разработка базы данных произведена с помощью приложения DataBase Desktop с использованием СУБД Paradox7.

2.4.3 Разработка интерфейса программы

Интерфейс программы состоит из 8 форм. Диаграмма вызова форм представлена на рисунке 2.

2.4.4 Разработка бизнес-логики программы

Бизнес логика программы «Учет телефонных переговоров» к нескольким пунктам:

· Поиск клиента по «фио», номеру телефона;

· Сортировка таблицы клиентов по полю «фио»;

· Фильтрация данных об оказанных услугах по текущему числу;

Рисунок 2. Диаграмма вызова форм.

· Установка времени оказания услуги с помощью двух компонентов DateTimePicker (так как и время и дату в одном компоненте выставить нельзя).

2.4.5 Отладка программы

Отладка программы производится с помощью прогона всех функций программы и с использованием точек останова.

2.4.6 Ввод тестовых данных в базу данных

Тестовые данные вводятся в базу данных с помощью средств отлаженной программы. В базу данных введены три клиента, три вида услуг. На каждого клиента введено по 3 оказанных услуги в различное время.

2.4.7 Документирование программы

Документирование программы «Учет телефонных переговоров» осуществлено в пояснительной записке к курсовому проекту (пункт 3.), а также в программе приведена справочная документация в формах «О программе» и «Справка».

3. Описание программы

3.1 Общие сведения

Код программы «Учет телефонных переговоров» приведен в приложении 1. Директория с рабочей программой содержит исполняемый файл УТП.exe и поддиректроию с файлами базы данных.

3.2 Функциональное назначение

Программа обеспечивает расчет сдачи после оплаты покупки. Организован удобный пользовательский интерфейс, включающий справку по работе с программным средством. Программа позволяет вводить данные в базу данных, редактировать их, осуществлять сортировку данных, фильтрацию, поиск по данным.

3.3 Описание программы

Главная форма приложения Форма 1 приведена на рисунке 2. Главное окно программы состоит из двух частей: слева компонент GroupBox1 содержит набор компонентов:

DBGrid1 - для отображения информации о клиентах;

DBNavigator1 - для манипулирования данными о клиентах;

Комплекс компонентов Edit1 + Button1 и Edit2 + Button2 представляют пользователю интерфейс для поиска по таблице клиентов.

Справа компонент GroupBox2 содержит набор компонентов:

DBGrid2 - для отображения информации об оказанных услугах;

DBNavigator2 - для манипулирования данными об оказанных услугах клиентах;

CheckBox1 - включает и выключает фильтр по оказанным услугам в, позволяющий выбирать услуги на текущую дату.

Для работы с наборами данных для каждой из трех таблиц базы данных используется набор компонент Table+DataSource.

При этом в Table2 добавлены два lookup-поля из Table3, таким образом, в компоненте DbGrid2 отображается не ключ к справочнику услуг, а данные из этого справочника, такие как название услуги и ее цена. Кроме того, Table2 связан с Table1 таким образом, что в Table2 отображается информация об оказанных услугах клиенту, текущему в компоненте Table1. Для этого были настроены поля компонента Table2: MasterSource, MasterFields и indexName на DataSource1.

Рисунок 3. Вид главной формы.

Поиск осуществляется при нажатии на кнопки поиска и выполняется следующим кодом (для поиска по фамилии):

if not Table1.Locate('Fio', Edit1.Text, [loCaseInsensitive,

loPartialKey]) then

ShowMessage('Запись не найдена');

Фильтрация данных происходит по нажатию на CheckBox1 и осуществляется следующий процедурой:

dt:=now;

FormatDateTime('yyyy.MM.dd',dt);

Table2.Filter:='DateTime>='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 00:00:00')+' AND '+'DateTime<='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 23:59:59');

Table2.Filtered:=true;

Все прочие формы (кроме заставки form8) вызываются из главной формы с помощью соответствующих пунктов меню Mainmenu1.

Форма 2 - справочник услуг, оказываемых оператором связи приведена на рисунке 4 и имеет только необходимый набор компонентов для работы с таблицей service: Table1, DBGrid1, DbNavigator. Этих компонентов достаточно, чтобы производить редактирование этого справочника прямо из этой формы.

Рисунок 4. Вид справочника услуг

Форма добавления клиента представлена на рисунке 5.

Рисунок 5. Форма добавления клиента

Данная форма содержит поля для ввода атрибутов клиента DBEdit1, DBEdit2 связанные с поля ми компонента Table1 главной формы и 2 кнопки DBNavigator1, которые позволяют сохранить данные введенные в DBEdit1, DBEdit2 в таблицу client или отменить их.

Рисунок 6. Вид формы добавления оказанной услуги

Форма «Добавить оказанную услугу» содержит два компонента DbText которые идентифицирует клиента, которому приписывается оказанная услуга. Тип услуги можно выбрать в поле компонента DBLookupComboBox1, который загружает перечень услуг из справочника услуг service. Этот компонент также связан с полем service таблицы calls и позволяет сохранять в ней ссылку на запись из таблицы справочника услуг. Каждая услуга оказывается в конкретные дату и время. Один компонент DateTimePicker это делать не позволяет, так как обладает только двумя режимами ввода: либо дату, либо время. Поэтому используется два компонента в разных режимах. Компонент DBEdit1 связан с полем count таблицы calls. На форме также присутствует компонент DBNavigator количество кнопок которого сокращено до 2: сохранить и отменить. При нажатии на кнопку «сохранить» срабатывает событие BeforeAction в обработчик которого добавлен код преобразующий данные двух DateTimePicker в тип DateTime.

Form1.Table2DateTime.Value:=StrToDateTime(FormatDateTime('dd/MM/yy',DateTimePicker2.DateTime)+' '+FormatDateTime('hh:mm:ss',DateTimePicker1.DateTime));

После этого обрабатывается событие нажатия кнопки сохранения и полученное значение сохраняется в базу данных.

В главной форме поле bill помечено как вычисляемое и при добавлении нового значения срабатывает событие расчёта вычисляемого поля CalcFields код которого приведен ниже:

procedure TForm1.Table2CalcFields(DataSet: TDataSet);

begin

Table2Bill.Value:=Table2PriceR.Value*Table2Count.Value;

end;

Расчет производится перемножением цены единицы услуги на количество оказанных единиц (Мб/минут).

Необходимо заметить, что все компоненты работы с данными базы данных используют наборы данных, которые принадлежат главной форме.

Рисунок 7. Вид формы "сводка".

Форма «сводка» содержит сводную информацию за текущие сутки (рисунок 7). При этом, на форме существуют три компонента Table, которые представляют наборы данных всех трех таблиц базы данных. В Table1 содержит данные таблицы calls, к которым добавлены lookup поля из справочника услуг и справочника клиентов.

Форма справка представлена на рисунке 8.

Рисунок 8. Вид формы «справка»

На форме только 2 компонента: Мемо1 и кнопка Button1. Memo1 содержит краткую справку о программе и кнопку, которая закрывает форму.

Форма «О программе» содержит несколько компонентов Label, которые содержат краткую информацию о программе и кнопку, которая закрывает форму (рисунок 9).

Рисунок 9. Вид формы "о программе"

Форма заставки содержит компонент Image1 c картинкой заставкой и Timer - который при сработке через 3 секунды и закрывает эту форму и открывает главное окно.

3.4 Используемые технические средства

Технические средства взаимодействия с пользователем должны обеспечивать отображение окна размером 960 на 460 пикселей.

Размер базы данных определяется из следующего расчета:

Таблица «клиенты»:

Первичный ключ: тип integer -- 4 байта;

ФИО: символьный тип длиной 255 -- 1 байт на символ -- 255 байт;

Номер телефона: символьный тип длиной 11 - 1 байт на символ -- 11 байта;

Итого одна запись 270 байт.

Добавим размер трех индексов, полагая, что их размер совпадает с размером поля:

Первичный ключ -- индекс: тип integer -- 4 байта;

ФИО -- индекс: символьный тип длиной 255 -- 1 байт на символ -- 255 байт;

Номер телефона -- индекс: символьный тип длиной 11 - 1 байт на символ -- 11 байта;

Итого 540 байт.

В расчете на 1000 клиентов -- 527,34 Кбайт.

Таблица «услуги» имеет ограниченное количество записей -- в расчет принимать не имеет смысла.

Таблица «звонки»:

Первичный ключ: тип integer -- 4 байта;

Клиент: тип integer -- 4 байта;

Услуга: тип integer -- 4 байта;

Время оказания услуги: тип date -- 8 байт;

Количество: тип numerical - 8 байт;

К оплате: тип currency - 8 байт;

Итого одна запись 36 байт.

Добавим размер трех индексов, полагая, что их размер совпадает с размером поля:

Первичный ключ-индекс: тип integer -- 4 байта;

Время оказания услуги - индекс: тип date -- 8 байт;

Итого -- 48 байт.

Таким образом, в расчете на то, что каждый клиент в день звонит по 5 раз, за год размер таблицы вырастает на 83,54 Мб.

4. ПРОВЕРКА РАБОТОСПОСОБНОСТИ ПРОГРАММЫ

4.1 Цель проверки

Удостовериться, что программа выполняет функции, заявленные в задании (п. 2.3.3.).

4.2. Перечень проверок

1. Проверка открытия программы. Результат - окно с набором данных (рисунок 10).

2. Проверка возможности добавления, редактирования и удаления записей из справочника услуг (рисунок 11).

3. Проверка возможности добавления нового клиента (рисунок 12) с установкой его записи в таблице по алфавиту.

Рисунок 10. Результат проверки 1

Рисунок 11. Результат проверки 2

Рисунок 12. Результат проверки 3

4. Проверка добавления данных об оказанных услугах (рисунок 13).

Рисунок 13. Результат проверки 4

5. Проверка поиска по ФИО. Искомая фамилия «Иванов» (Рисунок 5).

6. Проверка поиска по номеру телефона. Искомый номер 12345632314 (рисунок 6.)

7. Проверка фильтрации «Отфильтровать только сегодняшние» (рисунок 7.)

Рисунок 14. Результат проверки 5

Рисунок 15. Результат проверки 6

8. Проверка функционирования сводки с одновременной проверкой расчета поля «к оплате» с помощью MS Excel.

Рисунок 16. Результат проверки 7

Рисунок 17. Результат проверки 8

5. Инструкция по работе с программой

1. Ввод и редактирование справочника услуг. Перейти Главное меню->Справочники-> Услуги.

С помощью навигатора добавить (+) новую строку и сохранить введенные данные, нажав кнопку (v). Удаление записи из справочника услуг осуществляется с помощью кнопки (-).

2. Добавление нового клиента. Перейти Главное меню-> Клиент-> Добавить. Ввести ФИО клиента и номер телефона. Для сохранения нажать кнопку (v), для отмены - кнопку (Ч).

3. Поиск клиента. Ввести в поле ФИО фамилию, имя и отчество клиента и нажать на кнопку «Поиск» напротив поля ввода. Курсор в таблице клиентов переместиться в строку найденного клиента или выдаст сообщение об отсутствии такой записи. Поиск по номеру телефона аналогичен.

4. Добавление оказанной услуги. В главном окне программы найти клиента, которому оказана услуга. Прейти в Главное меню->Оказанные услуги->Добавить. Заполнить форму, указав вид оказанной услуги, количество единиц и дату и время оказания услуги. Для сохранения нажать кнопку (v), для отмены - кнопку (Ч).

5. Для вывода сводки перейти по Главное меню->Сводка.

6. Справочная информация по программе вызывается Главное меню->Помощь->О программе/Справка.

ЗАКЛЮЧЕНИЕ

Работа над курсовым проектом позволила познакомиться на практике с файл-серверной технологией баз данных, конкретнее с СУБД Paradox 7, освоить на практике возможности среды разработки Delphi 7 по реализации простых приложений для работы с базами данных.

В ходе работы произведена разработка трехтабличной базы данных для хранения данных об оказанных клиентам услугах связи. Разработана программа, позволяющая вести учет телефонных переговоров и других услуг связи, оказанных клиентом с автоматическим подсчетом поля «к оплате».

Программа обладает простыми возможностями поиска, сортировки и фильтрации данных.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Архангельский А.Я. Программирование в Delphi 7 + дискета, М.: Бином, 2005. - 987 с.

2. Бобровский С. Delphi 6 и Kylix: библиотека программиста. - СПб.: Питер, 2002. - 560 с.: ил.

3. Дарахвелидзе П.Г. Маркова Е.П. Е. Программирование в Delphi 7. -- СПб.: БХВ-Петербург,2003. -- 784 с : ил.

ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

s_service in 's_service.pas' {Form2},

add_client in 'add_client.pas' {Form3},

add_service in 'add_service.pas' {Form4},

report in 'report.pas' {Form5},

help in 'help.pas' {Form6},

about in 'about.pas' {Form7},

promo in 'promo.pas' {Form8};

{$R *.res}

begin

Application.Initialize;

Form8:= TForm8.Create(Application);

Form8.Show;

Form8.Update;

while Form8.Timer1.Enabled do

Application.ProcessMessages;

Application.CreateForm(TForm1, Form1);

Form8.Hide;

Form8.Free;

Application.Run;

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, Grids, DBGrids, DB, StdCtrls, DBTables,

ExtCtrls, DBCtrls, s_service, add_client,add_service,report,about,help;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

Table1: TTable;

DataSource1: TDataSource;

Table2: TTable;

DataSource2: TDataSource;

Table3: TTable;

DataSource3: TDataSource;

Table1Id_client: TAutoIncField;

Table1Fio: TStringField;

Table1Tn: TStringField;

Table2Id_calls: TAutoIncField;

Table2Client: TIntegerField;

Table2Service: TIntegerField;

Table2DateTime: TDateTimeField;

Table2Count: TFloatField;

Table2Bill: TCurrencyField;

Table3Id_service: TAutoIncField;

Table3Service: TStringField;

Table3Price: TCurrencyField;

Table2ServiceR: TStringField;

Table2PriceR: TCurrencyField;

GroupBox1: TGroupBox;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

GroupBox3: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

CheckBox1: TCheckBox;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Table2CalcFields(DataSet: TDataSet);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

begin

Close();

end;

procedure TForm1.N7Click(Sender: TObject);

var s_service1:TForm2;

begin

s_service1 := TForm2.Create(Application);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Table1.Active:=true; Table1.IndexName:='Fio';

Table2.Active:=true;

Table3.Active:=true;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

procedure TForm1.N8Click(Sender: TObject);

var add_client1:TForm3;

begin

add_client1:=TForm3.Create(Application);

add_client1.Show;// собственно показываем

add_client1.SetFocus;

end;

procedure TForm1.N9Click(Sender: TObject);

var add_service1:TForm4;

begin

add_service1:=TForm4.Create(Application);

add_service1.Show;// собственно показываем

add_service1.SetFocus;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Table1.Active:=false;

Table2.Active:=false;

Table3.Active:=false;

end;

procedure TForm1.Table2CalcFields(DataSet: TDataSet);

begin

Table2Bill.Value:=Table2PriceR.Value*Table2Count.Value;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin //поиск по фио

if not Table1.Locate('Fio', Edit1.Text, [loCaseInsensitive,

loPartialKey]) then

ShowMessage('Запись не найдена');

end;

procedure TForm1.Button2Click(Sender: TObject);

begin //поиск по номеру телефона

if not Table1.Locate('Tn', Edit2.Text, [loCaseInsensitive,

loPartialKey]) then

ShowMessage('Запись не найдена');

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

var dt: TDateTime;

begin //фильтрация на сегодняшний день

if Checkbox1.Checked then

begin

dt:=now;

FormatDateTime('yyyy.MM.dd',dt);

Table2.Filter:='DateTime>='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 00:00:00')+' AND '+'DateTime<='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 23:59:59');

Table2.Filtered:=true;

end

else

begin

Table2.Filtered:=false;

end

end;

procedure TForm1.N10Click(Sender: TObject);

var report:TForm5;

begin

report:=TForm5.Create(Application);

report.Show;

report.SetFocus;

end;

procedure TForm1.N11Click(Sender: TObject);

var help :TForm6; //вывод о программе

begin

help:=TForm6.Create(Application);

help.Show;

help.SetFocus;

end;

procedure TForm1.N12Click(Sender: TObject);

var about :TForm7; //вывод о программе

begin

about:=TForm7.Create(Application);

about.Show;

about.SetFocus;

end;

end.

unit about;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm7 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

Close;

end;

procedure TForm7.FormCreate(Sender: TObject);

begin

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

end.

unit add_client;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, Mask;

type

TForm3 = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

DBNavigator1: TDBNavigator;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

Form1.Table1.Append;

Width:=450;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := caFree;

end;

procedure TForm3.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

//if (Button=nbPost) then

Close;

end;

end.

unit add_client;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, Mask;

type

TForm3 = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

DBNavigator1: TDBNavigator;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

Form1.Table1.Append;

Width:=450;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := caFree;

end;

procedure TForm3.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

//if (Button=nbPost) then

Close;

end;

end.

unit add_client;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, Mask;

type

TForm3 = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

DBNavigator1: TDBNavigator;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

Form1.Table1.Append;

Width:=450;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := caFree;

end;

procedure TForm3.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

Close;

end;

end.

unit promo;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, jpeg, StdCtrls;

type

TForm8 = class(TForm)

Timer1: TTimer;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Timer1Timer(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

{$R *.dfm}

procedure TForm8.Timer1Timer(Sender: TObject);

begin

Timer1.Enabled:=false;

end;

procedure TForm8.FormCreate(Sender: TObject);

begin

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

end.

unit report;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;

type

TForm5 = class(TForm)

Label1: TLabel;

Table1: TTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

Table1Id_calls: TAutoIncField;

Table1Client: TIntegerField;

Table1Service: TIntegerField;

Table1DateTime: TDateTimeField;

Table1Count: TFloatField;

Table1Bill: TCurrencyField;

Table2: TTable;

Table3: TTable;

Table1ClientR: TStringField;

Table1TNR: TStringField;

Table1ServiceR: TStringField;

Table1PriceR: TCurrencyField;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Table1CalcFields(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

Table1.Active:=false;

Table2.Active:=false;

Table3.Active:=false;

Close;

end;

procedure TForm5.FormCreate(Sender: TObject);

var dt:TDateTime;

begin

Table1.Active:=true; Table1.IndexName:='indxdatetime'; //упорядочить по времени

Table2.Active:=true;

Table3.Active:=true;

dt:=now;

FormatDateTime('yyyy.MM.dd',dt);

Table1.Filter:='DateTime>='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 00:00:00')+' AND '+'DateTime<='+ QuotedStr(FormatDateTime('dd.mm.yyyy',dt)+' 23:59:59');

Table1.Filtered:=true;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

procedure TForm5.Table1CalcFields(DataSet: TDataSet);

begin

Table1Bill.Value:=Table1PriceR.Value*Table1Count.Value;

end;

end.

unit s_service;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm2 = class(TForm)

DataSource1: TDataSource;

DBNavigator1: TDBNavigator;

Table1: TTable;

DBGrid1: TDBGrid;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Table1.Active:=false;

Action := caFree;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

Table1.Active:=true;

Width:=452;

//установка окна по центру экрана

Left:=trunc(Screen.Width/2-Width/2);

Top:=trunc(Screen.Height/2-Height/2) ;

end;

end.

Размещено на Allbest.ru

...

Подобные документы

  • Разработка программы для учета услуг на предприятии и хранения данных о сотрудниках и заказчиках. Анализ и состав входящей и исходящей информации. Структура базы данных, выполнение запросов. Система управления базами данных, принципы их организации.

    курсовая работа [1,7 M], добавлен 06.12.2012

  • Разработка простейшей базы данных с использованием приемов работы с Microsoft Access в среде программирования Delphi. Назначение базы данных, условия эксплуатации, выполнения и запуска программы "База данных районного отдела налоговой инспекции".

    курсовая работа [1,3 M], добавлен 14.12.2012

  • Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.

    курсовая работа [964,8 K], добавлен 27.09.2014

  • Автоматизированные базы данных в учебном процессе. Создание базы данных для МОУ СОШ № 12 с целью помощи в обеспечении централизованного управления, хранения информации об учениках. Требования к программе, условия эксплуатации. Программный код базы данных.

    дипломная работа [2,0 M], добавлен 25.03.2014

  • Основные подходы к организации баз данных, компоненты языка Delphi, используемые для их построения. Разработка программного обеспечения - базы данных "Школа", предназначенной для хранения информации об учащихся, их успеваемости по различным дисциплинам.

    курсовая работа [739,8 K], добавлен 14.07.2012

  • Понятие баз данных и принципы проектирования информационных систем. Разработка программы для отслеживания финансовой стороны работы компании в среде Delphi 7. Создание таблиц и схемы данных. Разработка клиентского приложения и процедуры добавления данных.

    курсовая работа [1,4 M], добавлен 25.04.2012

  • Современные базы данных – многофункциональные программные системы, работающие в открытой распределенной среде изучении администрирования базы данных. Способы организации внешней памяти баз данных. Системы управления базами данных для хранения информации.

    курсовая работа [185,6 K], добавлен 07.12.2010

  • Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа [27,6 K], добавлен 11.10.2008

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

    курсовая работа [788,1 K], добавлен 22.06.2011

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

  • Построение банков данных. Инструментальные средства баз данных Borland. Принцип работы и архитектура баз данных в Delphi. Навигационный способ доступа к базам данных: операции с таблицей, сортировка и перемещение по набору данных, фильтрация записей.

    курсовая работа [642,7 K], добавлен 06.02.2014

  • Требования, предъявляемые к базе данных. Основы построения базы данных. Программный продукт Delphi. Структура базы данных и интерфейс программы. Построение функциональной схемы подсистемы "Учет и реализация товара", общая схема построения системы.

    курсовая работа [5,9 M], добавлен 13.12.2011

  • Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.

    курсовая работа [1,3 M], добавлен 05.02.2017

  • Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.

    курсовая работа [3,1 M], добавлен 17.12.2014

  • Реляционная база данных. Создание и проектирование баз данных в среде Borland Delphi 7. Основные функции базы данных: учет информации об ассортименте продукции; учет сведений о дистрибьюторах фирмы. Назначение программы и инструкция пользователю.

    курсовая работа [507,3 K], добавлен 22.06.2009

  • Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.

    курсовая работа [1,7 M], добавлен 04.06.2015

  • Разработка информационной и инфологической модели базы данных на тему "Командировка". Выбор модели данных и составление ее концептуальной схемы. Получение доступа к БД средствами Delphi, разработка пользовательского интерфейса. Реализация SQL-запросов.

    реферат [1,2 M], добавлен 16.06.2009

  • Разработка сайта для хранения и обработки информации об абитуриентах в среде программирования Delphi 7. Архитектура базы данных. Функциональная схема программы. Даталогическая модель данных. Сущности БД и архива. Элементы пользовательского интерфейса.

    дипломная работа [4,2 M], добавлен 30.03.2015

  • Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.

    курсовая работа [2,9 M], добавлен 29.06.2015

  • Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.

    курсовая работа [2,2 M], добавлен 30.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.