Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса «Учет предоставленных услуг салоном красоты» (Выбор комплекса задач автоматизации)

Содержание:

Введение

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

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

Информационная система «Салон красоты» предназначена для упрощения регулированием системы и для автоматизации её функций.

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

Для достижения данной цели необходимо решение следующих задач:

  • Выполнить характеристику задач, которые необходимо автоматизировать;
  • Описать программное и техническое обеспечение;
  • Описать БД и процесс разработки программы;
  • Протестировать полученное приложение.

Объектом исследования является салон красоты. Предметом исследования являются автоматизация салона красоты.

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

1 ГЛАВА. АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1. Характеристика комплекса задач

Выбор комплекса задач автоматизации

Цель управления состоит в автоматизации учета действий по обслуживанию клиентов в салоне красоты. Для достижения поставленной цели в процессе управления решаются задачи автоматизации регистрации клиента, задачи обслуживания клиента.

В рамках данной курсовой работы для автоматизации выбраны следующие четыре функции ИС «Салон красоты»:

  1. Учет сведений о сотрудниках.
  2. Учет сведений о клиентах.
  3. Учет оказываемых услуг.
  4. Учет посещений клиентами салона красоты.

Функция 1 «Учет сведений о сотрудниках». Позволит выполнить поиск информацию об отделе кадров и менеджерской службе.

Функция 2 «Учет сведений о клиентах». Позволит хранить сведения о клиентах; номер его телефона, а также сведения служебного характера о пристрастиях конкретного клиента.

Функция 3 «Учет оказываемых услуг». Позволит сделать список услуг, которые оказываются клиентам. Она позволяет определить не толь цену конкретной услуге, но и время, которое затрачивается на ее проведение.

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

Характеристика и существующих бизнес –процессов

Бизнес-процессы, которые существуют в деятельности салона красоты представлены на рисунке 1.

Рисунок 1 – Бизнес-процессы

Характеристика документооборота, возникающего при решении задачи

Документооборот, который имеет место в деятельности «Салона красоты» представлен на рисунке 2.

Рисунок 2 – Схема документооборота

Как видно из выше представленного рисунка весь процесс происходит в ручном режиме. То есть, администратор записывает клиента к мастеру (причем, если того, желает клиент, то надо по желанию клиента записывают к конкретному мастеру), причем ему надо проверить если свободно у мастера то время, на которое желает записаться клиент. Затем, после того, как будут оказаны услуги, клиент оплачивает услугу.

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

Ручной метод работы имеет и недостатки:

  • Мастер может забыть выписать клиента в случае его отказа, или когда время посещения клиента перенесено;
  • Большой объем информации;
  • Сложно сделать отчеты.

Все выше описанные недостатки можно решить, и причем очень просто, для этого необходимо разработать ИС, которая позволила бы автоматизировать работы администратора салона.

1.2. Обоснование проектных решений

Обоснование проектных решений по информационному обеспечению

Для разработки программы, была выбрана модель «RAD Model» (rapid application development model или быстрая разработка приложений)

RAD-модель — разновидность инкрементной модели. В RAD-модели компоненты или функции разрабатываются несколькими высококвалифицированными командами параллельно, будто несколько мини-проектов. Временные рамки одного цикла жестко ограничены. Созданные модули затем интегрируются в один рабочий прототип. Университет позволяет очень быстро предоставить клиенту для обозрения что-то рабочее с целью получения обратной связи и внесения изменений.

Модель быстрой разработки приложений включает следующие фазы:

Бизнес-моделирование: определение списка информационных потоков между различными подразделениями.

Моделирование данных: информация, собранная на предыдущем этапе, используется для определения объектов и иных сущностей, необходимых для циркуляции информации.

Моделирование процесса: информационные потоки связывают объекты для достижения целей разработки.

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

Тестирование: тестируются новые компоненты и интерфейсы.

RAD-модель так же выбрана, так как необходимо быстро выполнить проект, в течение 2-3 месяцев.

Обоснование проектных решений по программному обеспечению

Все описанные таблицы, составляющие основу базы данных, функционируют в рамках созданной системы управления базой данных ”Салон красоты”. СУБД ” Салон красоты” создана средствами среды программирования Delphi 7.0.

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

В отличие от других настольных СУБД, Access хранит все данные в одном файле, а распределяет их по разным таблицам, как принято в реляционной СУБД. К этим данным относится не только информация в таблицах, но и другие объекты базы данных.

Для выполнения всех основных операций Access предлагает большое количество Мастеров (Wizards), которые помогают пользователю выполнить основную работу с данными и разработке приложений, помогают избежать рутинных действий и облегчают работу обычному пользователю.

Для написания программы была выбрана среда визуального программирования Borland Delphi 7.

Среда Delphi – это визуальная среда разработки приложений

В среде Delphi можно разрабатывать компьютерные программы, интерактивным выбором нужных компонентов из Component Palette и простым перетаскиванием выбранных компонентов на форму. Основной плюс данного метода состоит в том, что среда программирования Delphi в результате этого перетаскивания уже самостоятельно создает нужный код, то есть нет необходимости в прописывании кода. Данная процедура перетаскивания компонентов на форму аналогична по возможностям программирования в среде программирования Visual Basic. Но отличие Delphi, состоит в том, что программист получает настоящий объектно-ориентированный код и все возможности этого подхода, в том числе расширение функциональных возможностей компонентов среды Delphi до уровня, который удовлетворяет запросы программиста. Так же разработчик программ, может употреблять компоненты Delphi, может наследовать их и добавлять собственные методы, а кроме того, программист имеет возможность использовать управляющие элементы ActiveX в тех версиях среды Delphi которые их имеют.

Оптимизирующий 32 - битовый компилятор

Другой отличительной особенностью языка программирования Delphi от других аналогичных инструментов визуальной разработки программ, состоит в наличии быстрого, эффективного компилятора. Компилятор в языке программирования Delphi упаковывает разработанные программы в компактные исполняемые файлы, и нет необходимости в громоздких библиотеках DLL. Так же компилятор сообщает об ошибках, и выводит сообщения в виде предупреждений и подсказок, которые позволяют создавать более ясный код, причем число таких сообщений не ограничено. Другим преимуществом есть параллельный вывод нескольких сообщений об ошибках, что позволяет быстрее исправлять их.

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

Среда Delphi обладает расширяемостью.

Благодаря объектно - ориентированной природе Delphi программист может разрабатываться свои собственные компоненты не только с нуля, но и применяя уже готовые имеющихся компонентов, которые есть в данной среде программирования. Кроме разработки новых компонентов, расширяемость Delphi это также возможность интегрирования в среду визуального программирования Delphi готовые различные подпрограммы, которые получили называние экспертами. Внедрение Expert Interface упрощают процесс программирования за счет того, что они дополняют среду Delphi –своими пунктами меню и диалоговыми окнами для расширения ее функциональности.

Но основным преимуществом среды программирования Delphi является его среда программирования с визуальным конструктором программ. Среда Delphi – содержащая объектную библиотеку Visual Component Library (VCL) позволяет эффективно программировать под MS Windows, не отвлекаясь на выяснение всех деталей Win API, а работать над логикой разрабатываемого приложения. Библиотека Visual Component Library среды Delphi - это автономные бинарные части программного обеспечения, которые реализовывают некоторые конкретные предопределенные функции. Библиотека VCL содержит следующие визуальные объекты Windows - окна, кнопки и т.д., а также классы для пользовательских элементов управления таких как таймер и мультимедийный плеер, а так же и невизуальные объекты - список строк, таблицы базы данных, потоки и прочие элементы.

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

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

2 ГЛАВА. ПРОЕКТНАЯ ЧАСТЬ

2.1. Информационное обеспечение задачи

Информационная модель и её описание

Проектируемая БД состоит из пять таблиц. А именно:

  1. В таблице Sotrud (Сотрудники) будут храниться все нужные сведения о сотрудниках.
  2. В таблице Klient (Клиенты) разместим информацию о клиентах.
  3. Таблица Uslugi (Услуги) будет содержать информацию об услугах оказываемых салоном красоты
  4. В таблицу Vizit (Визиты) поместим сведения о уже оказанных услугах.
  5. И таблица Otdel (Подразделения) будет содержать информацию об отделах организации.

Таблица Vizit будет центральной. Она должна иметь уникальное поле, которое будет однозначно определять каждую запись. Каждой записи таблицы Vizit будут ссылки на уникальные идентификаторы из таблиц Uslugi, Sotrud, Klient. В таблицах Uslugi и Sotrud будут ссылки на уникальный идентификатор кода отдела из таблицы Otdel. Информационная модель базы данных представлено на рисунке 3.

Рисунок 3 - Модель базы данных.

Характеристика нормативно-справочной, входной и оперативной информации

Нормативно-справочная информация – это регламенты, нормы и правила которые действуют в салоне. А именно:

1. Должностная инструкция

2. Правила трудового распорядка

3. Стандарт обслуживания Клиентов.

4. «Стандарты отношений в коллективе»

К входной информации относится информация, которая собрана из различных источников, и которая в последствии в носится в БД программы. К входной информации относятся:

  • Данные о клиенте: ФИО, телефон
  • Данные о мастере: ФИО, и прочее.

Входная информация вводится в следующие формы, макеты которые представлены в Приложении А (См. Рисунок А.1-А.6).

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

Оперативной информацией является заявка клиента, на запись в салон.

На основании нормативно-справочной и оперативной получается результирующая информация:

  • Заявка на выполнение услуг в салоне;
  • Квитанция на выполнения услуг;
  • Отчеты по результатам выполненных работ.

На основании этих данных – нормативно-справочной, входной и оперативной информации была составлена схема документооборота (См. Рисунок 2), который происходит в салоне красоты.

Характеристика результатной информации

К результирующей информации относятся отчет о посещении салона, то есть документ в формате *.xls.

Например, отчет по средствам, которые есть в наличие представлен на рисунке 4.

Рисунок 4 – Отчет «По средствам»

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

  • Report 1 – отображает список сотрудников с разбивкой по отделам;
  • Report 2 – сотрудники, личные сведения;
  • Report 3 – сотрудники, сведения о работе;
  • Report 4 – клиенты, полный список (с заметками);
  • Report 5 – прайс на услуги с разбивкой по подразделениям;
  • Report 6 – клиенты, фамилия, имя, телефон;
  • Report 7 – прайс на услуги;
  • Report 8 – общий журнал визитов;
  • Report 9 – визиты с разбивкой по датам.

2.2. Программное обеспечение задачи

Общие положения (дерево функций и сценарий диалога)

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

Клиент

Сотрудник

Салон

красоты

Менеджер салона красоты

Информация о клиенте

Информация о сотруднике

Оказание услуги

Рисунок 5 - Структура работы салона красоты.

Характеристика базы данных

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

Разрабатываемая база данных SalonKrasot представлена пятью таблицами: Sotrud, Klient, Uslugi, Otdel, Vizit. Рассмотрим структуру каждой более подробно.

В таблице Sotrud представлена информация о Сотрудниках. Поля, их типы, и назначение представлены в таблице 1

Таблица 1- Таблица Sotrud

Имя поля

Тип поля

Описание

STabNomerID

Autoicrement

Уникальный идентификатор сотрудника (первичный ключ)

SFamilia

Alpha (25)

Фамилия сотрудника. По этому полю создается индекс для сортировки сотрудников по алфавиту.

SName

Alpha (20)

Имя сотрудника.

SOtchestvo

Alpha (20)

Отчество сотрудника.

SOtdel

Long Integer

Уникальный идентификатор отдела (поле ONomerID таблицы Otdel)

SDolznost

Alpha (30)

Должность сотрудника

SBirthday

Date

День рождения

SAddress

Alpha (40)

Адрес проживания

STelefon

Alpha (15)

Телефон сотрудника

SDataPriema

Date

Дата приема на работу.

В таблице Klient представлена информация о клиентах. Поля, их типы, и назначение представлены в таблице 2.

Таблица 2 – Таблица Klient

Имя поля

Тип поля

Описание

KNomerID

Autoicrement

Уникальный идентификатор клиента (первичный ключ)

KFamilia

Alpha (25)

Фамилия клиента. По этому полю создается индекс для сортировки клиентов по алфавиту

KName

Alpha (20)

Имя клиента

KTelefon

Alpha (15)

Телефон клиента

KNote

Memo (200)

Справочная информация о клиенте.

В таблице Uslugi представлена информация о видах оказываемых услуг. Поля, их типы, и назначение представлены в таблице 3.

Таблица 3 – Таблица Uslugi

Имя поля

Тип поля

Описание

UNomerID

Autoicrement

Уникальный идентификатор услуги (первичный ключ)

UOtdel

Long Integer

Подразделение к которому относится услуга. Код подразделения из поля ONomerID таблицы Otdel

UName

Alpha (40)

Наименование услуги

UZena

Money

Цена

UTimeProved

Time

Время проведения услуги

В таблице Otdel представлена информация об подразделениях. Поля, их типы, и назначение представлены в таблице 4.

Таблица 4 – Таблица Otdel

Имя поля

Тип поля

Описание

ONomerID

Autoicrement

Уникальный идентификатор отдела (первичный ключ)

OName

Alpha (20)

Наименование отдела

В таблице Vizit представлена информация об оказанных услугах. Поля, их типы, и назначение представлены в таблице 5.

Таблица 5- Таблица Vizit

Имя поля

Тип поля

Описание

VNomerID

Autoicrement

Уникальный идентификатор визита (первичный ключ)

VDataVizita

Date

Дата визита (индексное поля для сортировки)

VUsluga

Long Integer

Код услуги из поля UNomerID таблицы Uslugi

VSotrud

Long Integer

Код сотрудника из поля SNomerID таблицы Sotrud

VKlient

Long Integer

Код клиента из поля KNomerID таблицы Klient

VTimeNachala

Time

Время начала проведения услуги

Таким образом, схема данных программы следующая (См. Рисунок 6).

Рисунок 6 – Схема данных

Структурная схема пакета (дерево вызова программных модулей)

Структурная программы представлена на рисунке 7.

Рисунок 7 – Структурная схема

Описание программных модулей

Проект SalonKrasot, реализующий доступ к БД Salon состоит из следующих форм:

  • Glavnaya. Главная форма приложения. Доступ ко всем остальным формам осуществляется через главное меню данной формы.
  • SvedeniaFirm. Форма запускается при выборе в главном меню формы Glavnaya «Организация»  «Сведения». На данной форме отображаются сведения об организации – юридическом лице.
  • Firm. Запуск формы осуществляется через «Организация»  «Изменить». Запустив эту форму можно отредактировать сведения об организации.
  • Sotrudniki. Запуск формы: «Сотрудники»  «Кадровые данные». На форме располагаются данные из таблицы сотрудники. Реализована связь с формами newSotrud, Spisok1.
  • newSotrud. Запуск формы возможен как из главного меню стартовой формы («Сотрудники»  «Новый сотрудник»), так и при нажатии кнопки «Новый» формы Sotrudniki. Эта форма позволяет ввести данные о новом сотруднике. При выборе кнопки «Изменить» формы Sotrudniki, данная форма служит для редактирования уже введенных сведений о сотруднике.
  • Spisok1. Запуск формы происходит при нажатии кнопки «Список» формы Sotrudniki. Форма позволяет выбрать вид отчета и вывести его на печать или просмотр.
  • Klient. Запуск формы: «Клиенты»  «Сведения о клиентах». На форме располагаются данные из таблицы клиенты. Реализована связь с формами newKlient, Spisok2.
  • NewKlient. Запуск формы возможен как из главного меню стартовой формы («Клиенты»  «Новый клиент»), так и при нажатии кнопки «Новый» формы Klient. Эта форма позволяет ввести данные о новом клиенте. При выборе кнопки «Изменить» формы Klient, данная форма служит для изменения уже введенных сведений о клиенте.
  • Spisok2. Запуск формы происходит при нажатии кнопки «Список» формы Klient. Форма позволяет выбрать вид отчета и вывести его на печать или просмотр.
  • Uslugi. Запуск формы: «Услуги»  «Сведения об услугах». На форме располагаются данные из таблицы услуги. Реализована связь с формами NewUsluga, Spisok3.
  • NewUsluga. Запуск формы возможен как из главного меню стартовой формы («Услуги»  «Новая услуга»), так и при нажатии кнопки «Новый» формы Uslugi. Эта форма позволяет ввести данные о новой услуге. При выборе кнопки «Изменить» формы Uslugi, данная форма служит для изменения уже введенных сведений об услуге.
  • Spisok3. Запуск формы происходит при нажатии кнопки «Список» формы Uslugi. Форма позволяет выбрать вид отчета и вывести его на печать или просмотр.
  • Vizit. Запуск формы: «Посещения»  «Общий журнал посещений». На форме располагаются данные из таблицы услуги. Реализована связь с формами NewVizit, Spisok4.
  • NewVizit. Запуск формы возможен как из главного меню стартовой формы («Посещения»  «Новая запись»), так и при нажатии кнопки «Новый» формы Vizit. Эта форма позволяет ввести данные о новой записи о посещении салона красоты. При выборе кнопки «Изменить» формы Vizit, данная форма служит для изменения уже введенных сведений.
  • Spisok4. Запуск формы происходит при нажатии кнопки «Список» формы Vizit. Форма позволяет выбрать вид отчета и вывести его на печать или просмотр.
  • Otdel. Запуск формы: «Справочники»  «Отделы». Форма отображает данные таблицы подразделения. На данной форме осуществляется внесение новых сведений о создании подразделений.
  • About. Запуск формы: «?»  «О программе». Форма отображает справочные сведения о программе.

Доступ к таблицам БД реализован с помощью компоненты DataModule (в листинге DM). Листинг программ дан в Приложении Б.

2.3. Контрольный пример реализации проекта и его описание

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

Рисунок 8 - Главное окно

При нажатии на вкладке «Меню», и выборе вкладки «Клиенты», откроется форма, которая содержит информацию о клиентах, посещающих салон красоты.

Эта форма (См. Рисунок 9) содержит информацию о клиентах, посещающих салон красоты.

В форме «Клиенты» расположены кнопки:

• Добавить – добавление новой записи;

• Сохранить - сохраняет записи;

• Удалить – удаление уже имеющейся записи;

• Отчет.

Рисунок 9 – Клиенты

Аналогичным образом разработаны формы «Парикмахеры», «Расписание», «Средства», «Услуги» и «Заявки». И в этих же формах есть возможность выполнить функции:

• Добавить - добавление новой записи;

• Сохранить – сохранение записи;

• Удалить - удаление уже имеющейся записи.

Для этого созданы специальные кнопки.

Меню «Помощь» содержит справку по работе с программой и форму «О программе».

Меню «Выход» закрывает программу «Автоматизация рабочего места менеджера в салоне красоты».

Протестировав программу ошибок не обнаружено.

У программы следующее достоинство: Удобство и простота в эксплуатации (минимальные навыки работы пользователя на ПК); соответствие форм документов самым последним законам РФ; небольшой объём занимаемой памяти. Сокращение времени, используемого сотрудником, для ввода данных и поисков по уже имеющимся данным.

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

Заключение

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

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

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

Разработанная информационная система, благодаря использованию полностью совместима с MS Office.

Разработанный программный продукт мог бы быть адаптирован под нужды любого существующего салона красоты.

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

Библиография

Карпова Т.С. Базы данных: модели, разработка, реализация. СПб.: Питер, 2001. –304с.

Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. – СПб: Питер, 2006. – 459с.

Конноли Т., Бегг Л., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. – 2-е изд. – Вильямс, 2000.

Хомоненко А.Д. и др. Delphi 7./ Под общей редакцией А. Д. Хомоненко – СПб.: BHV, 2004.

www.delphiworld.narod.ru

Приложение А

Рисунок А.1 – Макет формы для работы с клиентами

Рисунок А.2 – Макет формы парикмахеры

Рисунок А.3 – Макет формы расписание парикмахеров

Рисунок А.4- Макет формы «Средства»

Рисунок А.5- Макет формы «Услуги»

Рисунок А.6 – Макет формы «Заявки»

Приложение Б

Главная форма

procedure TForm1.N1112Click(Sender: TObject);

begin

form2.show;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

form3.show;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

form4.show;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

form5.show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form6.show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form7.show

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form8.show;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

WinExec('hh.exe Справка.chm',SW_SHOW);

end;

end.

Форма Клиенты.

var

Form2: TForm2;

WordApp, Doc, app, book, sheet, Excel: variant;

implementation

uses ComObj;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

ADOTable1.Refresh;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

if MessageDlg('Вы уверены что хотите удалить эту запись?', mtConfirmation, mbOKCancel, 0) = mrOk

then ADOTable1.Delete;

end;

procedure TForm2.Button4Click(Sender: TObject);

var book,sheet,Excel:Variant;

i:integer;

CurDir:string;

begin

Excel:=CreateOleObject('Excel.Application');

book:=Excel.WorkBooks.Add;

book.Worksheets[3].Delete;

book.Worksheets[2].Delete;

book.Worksheets[1].Name:='Клиенты';

sheet:=book.Worksheets[1];

ADOTable1.First;

sheet.Range['D1']:='Клиенты';

sheet.Range['B6']:='IDКлиента';

sheet.Range['C6']:='Фамилия';

sheet.Range['d6']:='Имя';

sheet.Range['e6']:='Отчество';

sheet.Range['f6']:='Телефон';

//sheet.Range['g6']:='СерияПаспорта';

//sheet.Range['h6']:='НомерПаспорта';

//sheet.Range['A1:E1'].Select;

sheet.Range['b6:h6'].Borders[8].LineStyle:=1;

sheet.Range['B6:h6'].Borders[8].Weight:=-4138;

sheet.Range['B6:h6'].Borders[8].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[9].LineStyle:=1;

sheet.Range['B6:h6'].Borders[9].Weight:=-4138;

sheet.Range['B6:h6'].Borders[9].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[10].LineStyle:=1;

sheet.Range['B6:h6'].Borders[10].Weight:=-4138;

sheet.Range['B6:h6'].Borders[10].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

sheet.Range['B6:h6'].Borders[11].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

Sheet.Columns['B:B'].columnWidth:=10;

Sheet.Columns['C:C'].columnWidth:=30;

Sheet.Columns['D:D'].columnWidth:=20;

Sheet.Columns['E:E'].columnWidth:=20;

Sheet.Columns['F:F'].columnWidth:=15;

Sheet.Columns['g:g'].columnWidth:=20;

Sheet.Columns['h:h'].columnWidth:=20;

for i:=1 to ADOTable1.RecordCount do

begin

sheet.Cells[i+5,1].Borders[10].LineStyle:=1;

sheet.Cells[i+5,1].Borders[10].Weight:=-4138;

sheet.Cells[i+5,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,1].Borders[10].LineStyle:=1;

sheet.Cells[i+6,1].Borders[10].Weight:=-4138;

sheet.Cells[i+6,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[10].LineStyle:=1;

sheet.Cells[i+6,2].Borders[10].Weight:=-4138;

sheet.Cells[i+6,2].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[10].LineStyle:=1;

sheet.Cells[i+6,3].Borders[10].Weight:=-4138;

sheet.Cells[i+6,3].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[10].LineStyle:=1;

sheet.Cells[i+6,4].Borders[10].Weight:=-4138;

sheet.Cells[i+6,4].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[10].LineStyle:=1;

sheet.Cells[i+6,5].Borders[10].Weight:=-4138;

sheet.Cells[i+6,5].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[10].LineStyle:=1;

sheet.Cells[i+6,6].Borders[10].Weight:=-4138;

sheet.Cells[i+6,6].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[8].LineStyle:=1;

sheet.Cells[i+6,2].Borders[8].Weight:=-4138;

sheet.Cells[i+6,2].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[8].LineStyle:=1;

sheet.Cells[i+6,3].Borders[8].Weight:=-4138;

sheet.Cells[i+6,3].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[8].LineStyle:=1;

sheet.Cells[i+6,4].Borders[8].Weight:=-4138;

sheet.Cells[i+6,4].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[8].LineStyle:=1;

sheet.Cells[i+6,5].Borders[8].Weight:=-4138;

sheet.Cells[i+6,5].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[8].LineStyle:=1;

sheet.Cells[i+6,6].Borders[8].Weight:=-4138;

sheet.Cells[i+6,6].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[8].LineStyle:=1;

sheet.Cells[i+6,7].Borders[8].Weight:=-4138;

sheet.Cells[i+6,7].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[10].LineStyle:=1;

sheet.Cells[i+6,7].Borders[10].Weight:=-4138;

sheet.Cells[i+6,7].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[8].LineStyle:=1;

sheet.Cells[i+6,8].Borders[8].Weight:=-4138;

sheet.Cells[i+6,8].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[10].LineStyle:=1;

sheet.Cells[i+6,8].Borders[10].Weight:=-4138;

sheet.Cells[i+6,8].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2]:=ADOTable1.FieldByName('ID_Klienti').AsString;

sheet.Cells[i+6,3]:=ADOTable1.FieldByName('Familiya').AsString;

sheet.Cells[i+6,4]:=ADOTable1.FieldByName('Imya').AsString;

sheet.Cells[i+6,5]:=ADOTable1.FieldByName('Otchestvo').AsString;

sheet.Cells[i+6,6]:=ADOTable1.FieldByName('Telefon').AsString;

ADOTable1.Next;

end;

for i:=2 to 8do

begin

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].LineStyle:=1;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].Weight:=-4138;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].ColorIndex:=-4105;

end;

CurDir:=GetCurrentDir;

Excel.DisplayAlerts:=false;

book.SaveAs(CurDir+'Клиенты.xls');

Excel.Visible:=true;

end;

procedure TForm2.Button5Click(Sender: TObject);

Begin;

Excel := CreateOleObject('Excel.Application');

Excel.Visible := True;

Excel.Workbooks.Open('C:\Клиент.xls');

Excel.ActiveSheet.Range['A7'].Value:= DBEdit1.Text;

Excel.ActiveSheet.Range['b7'].Value:= DBEdit2.Text;

Excel.ActiveSheet.Range['c7'].Value:= DBEdit3.Text;

Excel.ActiveSheet.Range['d7'].Value:= DBEdit4.Text;

Excel.ActiveSheet.Range['e7'].Value:= dbEdit5.Text;

end;

end.

Форма Парикмахеры

procedure TForm3.Button1Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

ADOTable1.Refresh;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

if MessageDlg('Вы уверены что хотите удалить эту запись?', mtConfirmation, mbOKCancel, 0) = mrOk

then ADOTable1.Delete;

end;

end.

Форма Расписание

procedure TForm4.Button1Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

ADOTable1.Refresh;

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

if MessageDlg('Вы уверены что хотите удалить эту запись?', mtConfirmation, mbOKCancel, 0) = mrOk

then ADOTable1.Delete;

end;

end.

Форма Средства.

procedure TForm5.Button4Click(Sender: TObject);

var book,sheet,Excel:Variant;

i:integer;

CurDir:string;

begin

Excel:=CreateOleObject('Excel.Application');

book:=Excel.WorkBooks.Add;

book.Worksheets[3].Delete;

book.Worksheets[2].Delete;

book.Worksheets[1].Name:='Средств';

sheet:=book.Worksheets[1];

ADOTable1.First;

sheet.Range['D1']:='Средства';

sheet.Range['B6']:='IDСредства';

sheet.Range['C6']:='Название';

sheet.Range['d6']:='Цена';

sheet.Range['e6']:='Количество';

sheet.Range['f6']:='Наличие';

sheet.Range['b6:h6'].Borders[8].LineStyle:=1;

sheet.Range['B6:h6'].Borders[8].Weight:=-4138;

sheet.Range['B6:h6'].Borders[8].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[9].LineStyle:=1;

sheet.Range['B6:h6'].Borders[9].Weight:=-4138;

sheet.Range['B6:h6'].Borders[9].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[10].LineStyle:=1;

sheet.Range['B6:h6'].Borders[10].Weight:=-4138;

sheet.Range['B6:h6'].Borders[10].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

sheet.Range['B6:h6'].Borders[11].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

Sheet.Columns['B:B'].columnWidth:=10;

Sheet.Columns['C:C'].columnWidth:=30;

Sheet.Columns['D:D'].columnWidth:=20;

Sheet.Columns['E:E'].columnWidth:=20;

Sheet.Columns['F:F'].columnWidth:=15;

Sheet.Columns['g:g'].columnWidth:=20;

Sheet.Columns['h:h'].columnWidth:=20;

for i:=1 to ADOTable1.RecordCount do

begin

sheet.Cells[i+5,1].Borders[10].LineStyle:=1;

sheet.Cells[i+5,1].Borders[10].Weight:=-4138;

sheet.Cells[i+5,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,1].Borders[10].LineStyle:=1;

sheet.Cells[i+6,1].Borders[10].Weight:=-4138;

sheet.Cells[i+6,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[10].LineStyle:=1;

sheet.Cells[i+6,2].Borders[10].Weight:=-4138;

sheet.Cells[i+6,2].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[10].LineStyle:=1;

sheet.Cells[i+6,3].Borders[10].Weight:=-4138;

sheet.Cells[i+6,3].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[10].LineStyle:=1;

sheet.Cells[i+6,4].Borders[10].Weight:=-4138;

sheet.Cells[i+6,4].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[10].LineStyle:=1;

sheet.Cells[i+6,5].Borders[10].Weight:=-4138;

sheet.Cells[i+6,5].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[10].LineStyle:=1;

sheet.Cells[i+6,6].Borders[10].Weight:=-4138;

sheet.Cells[i+6,6].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[8].LineStyle:=1;

sheet.Cells[i+6,2].Borders[8].Weight:=-4138;

sheet.Cells[i+6,2].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[8].LineStyle:=1;

sheet.Cells[i+6,3].Borders[8].Weight:=-4138;

sheet.Cells[i+6,3].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[8].LineStyle:=1;

sheet.Cells[i+6,4].Borders[8].Weight:=-4138;

sheet.Cells[i+6,4].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[8].LineStyle:=1;

sheet.Cells[i+6,5].Borders[8].Weight:=-4138;

sheet.Cells[i+6,5].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[8].LineStyle:=1;

sheet.Cells[i+6,6].Borders[8].Weight:=-4138;

sheet.Cells[i+6,6].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[8].LineStyle:=1;

sheet.Cells[i+6,7].Borders[8].Weight:=-4138;

sheet.Cells[i+6,7].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[10].LineStyle:=1;

sheet.Cells[i+6,7].Borders[10].Weight:=-4138;

sheet.Cells[i+6,7].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[8].LineStyle:=1;

sheet.Cells[i+6,8].Borders[8].Weight:=-4138;

sheet.Cells[i+6,8].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[10].LineStyle:=1;

sheet.Cells[i+6,8].Borders[10].Weight:=-4138;

sheet.Cells[i+6,8].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2]:=ADOTable1.FieldByName('ID_Sredstva').AsString;

sheet.Cells[i+6,3]:=ADOTable1.FieldByName('Nazvanie').AsString;

sheet.Cells[i+6,4]:=ADOTable1.FieldByName('Cena').AsString;

sheet.Cells[i+6,5]:=ADOTable1.FieldByName('Kolichestvo').AsString;

sheet.Cells[i+6,6]:=ADOTable1.FieldByName('Nalichie').AsString;

ADOTable1.Next;

end;

for i:=2 to 8do

begin

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].LineStyle:=1;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].Weight:=-4138;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].ColorIndex:=-4105;

end;

CurDir:=GetCurrentDir;

Excel.DisplayAlerts:=false;

book.SaveAs(CurDir+'Средств.xls');

Excel.Visible:=true;

end;

procedure TForm5.Button5Click(Sender: TObject);

begin

Excel := CreateOleObject('Excel.Application');

Excel.Visible := True;

Excel.Workbooks.Open('C:\Средства.xls');

Excel.ActiveSheet.Range['A7'].Value:= DBEdit1.Text;

Excel.ActiveSheet.Range['b7'].Value:= DBEdit2.Text;

Excel.ActiveSheet.Range['c7'].Value:= DBEdit3.Text;

Excel.ActiveSheet.Range['d7'].Value:= DBEdit4.Text;

Excel.ActiveSheet.Range['e7'].Value:= dbEdit5.Text;

end;

end.

Форма Услуги.

procedure TForm6.Button1Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

ADOTable1.Refresh;

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

if MessageDlg('Вы уверены что хотите удалить эту запись?', mtConfirmation, mbOKCancel, 0) = mrOk

then ADOTable1.Delete;

end;

end.

Форма Заявки.

var

Form7: TForm7;

WordApp, Doc, app, book, sheet, Excel: variant;

implementation

uses ComObj;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

ADOTable1.Refresh;

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

if MessageDlg('Вы уверены что хотите удалить эту запись?', mtConfirmation, mbOKCancel, 0) = mrOk

then ADOTable1.Delete;

end;

procedure TForm7.Button4Click(Sender: TObject);

var book,sheet,Excel:Variant;

i:integer;

CurDir:string;

begin

Excel:=CreateOleObject('Excel.Application');

book:=Excel.WorkBooks.Add;

book.Worksheets[3].Delete;

book.Worksheets[2].Delete;

book.Worksheets[1].Name:='Заявка';

sheet:=book.Worksheets[1];

ADOTable1.First;

sheet.Range['D1']:='Заявки';

sheet.Range['B6']:='ID Заявки';

sheet.Range['C6']:='ID Клиента';

sheet.Range['d6']:='ID Парикмахера';

sheet.Range['e6']:='ID Услуги';

sheet.Range['f6']:='Дата Записи';

sheet.Range['g6']:='Время';

sheet.Range['h6']:='Дата выполнения';

//sheet.Range['A1:E1'].Select;

sheet.Range['b6:h6'].Borders[8].LineStyle:=1;

sheet.Range['B6:h6'].Borders[8].Weight:=-4138;

sheet.Range['B6:h6'].Borders[8].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[9].LineStyle:=1;

sheet.Range['B6:h6'].Borders[9].Weight:=-4138;

sheet.Range['B6:h6'].Borders[9].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[10].LineStyle:=1;

sheet.Range['B6:h6'].Borders[10].Weight:=-4138;

sheet.Range['B6:h6'].Borders[10].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

sheet.Range['B6:h6'].Borders[11].ColorIndex:=-4105;

sheet.Range['B6:h6'].Borders[11].LineStyle:=1;

sheet.Range['B6:h6'].Borders[11].Weight:=-4138;

Sheet.Columns['B:B'].columnWidth:=10;

Sheet.Columns['C:C'].columnWidth:=30;

Sheet.Columns['D:D'].columnWidth:=20;

Sheet.Columns['E:E'].columnWidth:=20;

Sheet.Columns['F:F'].columnWidth:=15;

Sheet.Columns['g:g'].columnWidth:=20;

Sheet.Columns['h:h'].columnWidth:=20;

for i:=1 to ADOTable1.RecordCount do

begin

sheet.Cells[i+5,1].Borders[10].LineStyle:=1;

sheet.Cells[i+5,1].Borders[10].Weight:=-4138;

sheet.Cells[i+5,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,1].Borders[10].LineStyle:=1;

sheet.Cells[i+6,1].Borders[10].Weight:=-4138;

sheet.Cells[i+6,1].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[10].LineStyle:=1;

sheet.Cells[i+6,2].Borders[10].Weight:=-4138;

sheet.Cells[i+6,2].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[10].LineStyle:=1;

sheet.Cells[i+6,3].Borders[10].Weight:=-4138;

sheet.Cells[i+6,3].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[10].LineStyle:=1;

sheet.Cells[i+6,4].Borders[10].Weight:=-4138;

sheet.Cells[i+6,4].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[10].LineStyle:=1;

sheet.Cells[i+6,5].Borders[10].Weight:=-4138;

sheet.Cells[i+6,5].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[10].LineStyle:=1;

sheet.Cells[i+6,6].Borders[10].Weight:=-4138;

sheet.Cells[i+6,6].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2].Borders[8].LineStyle:=1;

sheet.Cells[i+6,2].Borders[8].Weight:=-4138;

sheet.Cells[i+6,2].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,3].Borders[8].LineStyle:=1;

sheet.Cells[i+6,3].Borders[8].Weight:=-4138;

sheet.Cells[i+6,3].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,4].Borders[8].LineStyle:=1;

sheet.Cells[i+6,4].Borders[8].Weight:=-4138;

sheet.Cells[i+6,4].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,5].Borders[8].LineStyle:=1;

sheet.Cells[i+6,5].Borders[8].Weight:=-4138;

sheet.Cells[i+6,5].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,6].Borders[8].LineStyle:=1;

sheet.Cells[i+6,6].Borders[8].Weight:=-4138;

sheet.Cells[i+6,6].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[8].LineStyle:=1;

sheet.Cells[i+6,7].Borders[8].Weight:=-4138;

sheet.Cells[i+6,7].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,7].Borders[10].LineStyle:=1;

sheet.Cells[i+6,7].Borders[10].Weight:=-4138;

sheet.Cells[i+6,7].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[8].LineStyle:=1;

sheet.Cells[i+6,8].Borders[8].Weight:=-4138;

sheet.Cells[i+6,8].Borders[8].ColorIndex:=-4105;

sheet.Cells[i+6,8].Borders[10].LineStyle:=1;

sheet.Cells[i+6,8].Borders[10].Weight:=-4138;

sheet.Cells[i+6,8].Borders[10].ColorIndex:=-4105;

sheet.Cells[i+6,2]:=ADOTable1.FieldByName('ID_Zayavki').AsString;

sheet.Cells[i+6,3]:=ADOTable1.FieldByName('ID_Klienta').AsString;

sheet.Cells[i+6,4]:=ADOTable1.FieldByName('ID_Parikmahera').AsString;

sheet.Cells[i+6,5]:=ADOTable1.FieldByName('ID_Uslugi').AsString;

sheet.Cells[i+6,6]:=ADOTable1.FieldByName('Data_Zapisi').AsString;

sheet.Cells[i+6,7]:=ADOTable1.FieldByName('Vremya').AsString;

sheet.Cells[i+6,8]:=ADOTable1.FieldByName('Data_Vipolneniya').AsString;

ADOTable1.Next;

end;

for i:=2 to 8do

begin

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].LineStyle:=1;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].Weight:=-4138;

sheet.Cells[ADOTable1.RecordCount+6,i].Borders[9].ColorIndex:=-4105;

end;

CurDir:=GetCurrentDir;

Excel.DisplayAlerts:=false;

book.SaveAs(CurDir+'Заявка.xls');

Excel.Visible:=true;

end;

procedure TForm7.Button5Click(Sender: TObject);

begin

Excel := CreateOleObject('Excel.Application');

Excel.Visible := True;

Excel.Workbooks.Open('C:\Заявки.xls');

Excel.ActiveSheet.Range['A7'].Value:= DBEdit1.Text;

Excel.ActiveSheet.Range['b7'].Value:= DBEdit2.Text;

Excel.ActiveSheet.Range['c7'].Value:= DBEdit3.Text;

Excel.ActiveSheet.Range['d7'].Value:= DBEdit4.Text;

Excel.ActiveSheet.Range['e7'].Value:= dbEdit5.Text;

Excel.ActiveSheet.Range['f7'].Value:= dbEdit6.Text;

Excel.ActiveSheet.Range['g7'].Value:= dbEdit7.Text;

end;

end.