Разработка информационной системы для автоматизации работы салона художественной татуировки

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    315,37 Кб
  • Опубликовано:
    2017-02-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка информационной системы для автоматизации работы салона художественной татуировки

Содержание

Введение

. Постановка задачи

.1 Описание предметной области

.2 Описание входной информации

.3 Описание структуры базы данных

.4 Описание выходной информации

.5 Общие требования к программному продукту

. Экспериментальный раздел

.1 Обоснование выбора языка программирования и СУБД

.2 Схема алгоритма

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

.4 Протокол тестирования программного продукта

.5 Руководство пользователя

Заключение

Список использованной литературы

Приложение А. Форма выходного документа

Приложение Б. Исходный код программы

Введение


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

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

Автоматизированные системы управления - это система, призванная обеспечить информационный сбор и обработку информации, необходимой для оптимизации процесса управления. Это человеко - машинная система: в ней ряд операций и действий предается для исполнения машинам и другим устройствам (особенно это относится к рутинным, повторяющимся, стандартным операциям и расчетам), но главное решение всегда остается за техническими усторйствами, которые действуют самостоятельно по установленной для них программе, без вмешательства человека.

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

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

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

Таким образом, создание базы данных, обладающих таким свойствами, необходимое и рациональное решение.

1. Постановка задачи

.1 Описание предметной области

база данные microsoft server

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

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

фамилия;

имя;

отчество;

стаж работы;

- стиль работы;

номер телефона.

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

фамилия;

имя;

отчество;

возраст;

контактный телефон.

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

мастер;

клиент;

дата и время сеанса.

С данной информационной системой должны работать следующие группы пользователей:

мастер тату - салона;

менеджер;

администратор системы.

При работе с программным продуктом мастер должен иметь возможность решать следующие задачи:

отмечать прошел ли сеанс.

При работе с программным продуктом менеджер должен иметь возможность решать следующие задачи:

проводить запись на сеанс;

отменять сеанс.

При работе с программным продуктом администратор системы должен иметь возможность решать следующие задачи:

добавлять новых сотрудников;

вносить изменения в информацию о сотрудниках.

.2 Описание входной информации

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

Таблица 1.2.1 - Описание входных документов

Наименование документа

Периодичность поступления

Откуда поступает

Штатное расписание мастеров

Ежедневно

От мастеров

Данные клиента

По мере записи на сеанс

От менеджера


1.3 Описание структуры базы данных

База данных имеет три таблицы, которые подробно описаны в таблице 1.3.1.

Таблица 1.3.1 - Описание структуры базы данных

Назначение таблицы

Физическое имя таблицы

Наименование поля

Шифр поля

Формат поля

1

2

3

4

5

Информация по мастерам

Мастера

ID мастера*

ID*

Счетчик



Фамилия

Фамилия

Текст



Имя

Имя

Текст



Отчество

Отчество

Текст



Стаж работы

СтажРаботы

Число



Стиль работы

СтильРаботы

Текст



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

НомерТелефона

Число

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

Клиенты

ID клиента*

ID*

Счетчик



Фамилия

Фамилия

Текст



Имя

Имя

Текст



Отчество

Отчество

Текст



Контактный телефон

КонтактныйТелефон

Число

Информация о сеансах

Сеансы

ID мастера

ID*

Счетчик



Мастер

Мастер

Текст



Клиент

Клиент

Текст



Дата и время

Дата/Время

Дата


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

Рисунок 1.3.1 - Схема отношений базы данных


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

Описание выходных документов представлено в таблице 1.4.1.

Таблица 1.4.1 - Описание выходных документов

Наименование документа

Периодичность выдачи документа

Кол-во экз.

Куда передаются

1

2

3

4

Отчет оп роделанной работе каждым мастером

Каждый месяц

1

Менеджеру салона


Форма выходных документов представлена в приложении В.

1.5 Общие требования к программному продукту

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

Целевые задачи:

-        программа должна максимально автоматизировать бумажную работу сотрудников салона;

-        программа должна сохранять и отображать необходимую информацию;

-        программа должна формировать необходимые отчеты.

Программное обеспечение разрабатывается для персональной вычислительной техники типа не ниже Windows 7 со следующими характеристиками:

-        объем ОЗУ не ниже 256 Мб;

-        графический адаптер SVGA;

-        монитор;

-        сетевая карта;

-        манипулятор типа "мышь";

-        клавиатура;

-        принтер.

ЭВМ должна работать под управлением операционной системы с графическим интерфейсом (не ниже Windows XP/7), а также поддерживать СУБД Microsoft SQL Server 2008 R2.

Функциональные возможности:

-        программный продукт должен формировать и отображать выходные документы;

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

-        должен быть обеспечен вывод данных в MS Word.

Требования к надежности:

-        программа должна обрабатывать ошибочные действия пользователя и сообщать ему об этом;

-        программа должна обеспечивать контроль входной и выходной информации;

-        в программе должно быть предусмотрено разграничение прав доступа и защита от несанкционированного доступа к данным.

Требования к практичности:

-        программа должна работать в многооконном графическом режиме и поддерживать работу, как клавиатуры, так и манипулятора типа "мышь";

-        программа должна содержать присвоение значений по умолчанию;

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

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

обеспечить работу с таблицами баз данных типа БД MS SQL Server 2008 R2 в качестве входной и выходной информации. Предусматривается взаимодействие с программными продуктами Microsoft Office.

2. Экспериментальный раздел

.1 Обоснование выбора языка программирования и СУБД

Для создания программы использовались среда разработки Delphi 7 с использование сервера баз данных Microsoft SQL Server 2008 R2. Выбор языка программирования оказывает непосредственное влияние на быстроту разработки, надежность и эффективность программы. В качестве среды программирования для реализации системы был выбран пакет Delphi 7.

Интегрированная среда разработки Delphi с ее инструментами визуального редактирования, библиотекой компонент, механизмом баз данных и многим другим, идеально подходит для написания разумных 32-разрядных приложений Windows, используя свой диалект языка Object Pascal - Delphi Pascal, который является объектно-ориентированным.

Обоснованием выбора служат следующие факторы:

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

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

- постановка задачи исключает необходимость доступа к аппаратным средствам ЭВМ, поэтому отсутствует надобность выбора языка низкого уровня для написания программы или ее частей;

создание приложений “Клиент - Сервер”. В настоящее время широко используются многозвенные информационные системы. Delphi предоставляет широкие возможности для создания приложений, поддерживающих трехзвенную систему, компонентами которой являются “тонкий” клиент, сервер приложений и сервер баз данных.

Таким образом, среда программирования Delphi является оптимальным выбором для решения поставленной задачи, так как:

-  обеспечивает простоту написания вычислительных частей приложения, высокую скорость вычисления скомпилированной программы;

-       обладает широкими средствами визуального построения интерфейса;

-       обладает обширными средствами поддержки баз данных.

Microsoft SQL Server представляет собой СУБД, обеспечивающую создание ин­формационных систем с архитектурой “клиент-сервер”, в которой он играет роль сервера баз данных. SQL Server поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных, отличается простотой управления и ис­пользования.

Эта СУБД обеспечивает высокую степень защиты данных, как от случайных потерь, так и от несанкционированного доступа, обладает развитыми средствами обработки данных и хорошим быстродействием. SQL-Server предназначен для хранения большого объема данных.Server добавляет к сетевым компонентам специальные сервисы, такие как OLE DB (Object Linking and Embedding-Database - связывание и внедрение объектов базы данных) и ODBC (Open Database Connectivity - совместимость от­крытых баз данных). С их помощью обеспечивается совместимость различных клиентских приложений при работе с сервером.

.2 Схема алгоритма

Рисунок 2.1 - Схема алгоритма главного окна системы

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

Программа Programm.exe имеет модульную структуру. При ее запуске выполняется проект Project1.dpr, который состоит из тринадцати модулей программы, описаных в таблице 2.3.1.. Модульная схема приведена в приложении Д.

Таблица 2.3.1 - Описание модулей

Процедуры

Назначение

1

2

TForm1.BitBtn1Click

Вход в систему

TForm1.BitBtn2Click

«О системе»

TForm1.BitBtn3Click

Выход

Модуль form3. pas -панель авторизации

TForm3.BitBtn1Click

Вход в систему

TForm3.FormShow

Очищение поля ввода пароля

Модуль form4. pas - главная панель

TForm4.FormShow

Показ окна с функциями для разных пользователей

TForm4.N1Click

Показ окна «Пользователи»

TForm4.N2Click

Показ окна «Мастера»

TForm4.N3Click

Показ окна «Клиенты»

TForm4.N4Click

Показ окна «О системе»

TForm4.N5Click

Выход на панель входа

TForm4.BitBtn1Click

Создание отчета в MS Word

Модуль form5. pas - окно «Пользователи»

TForm5.N1Click

Показ окна «О системе»

TForm5.N2Click

Выход на панель входа

Модуль form6.pas - окно «Мастера»

Tform6.N1Click

Показ окна «О системе»

Tform6.N2Click

Выход на панель входа

Модуль form7.pas - окно «Мастера»

Tform7.N1Click

Показ окна «О системе»

Tform7.N2Click

Выход на панель входа

Модуль form8.pas - окно «О системе»

TForm8.BitBtn1Click

Выход на панель входа


2.4 Протокол тестирования программного продукта

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

Таблица 2.4.1 - Сообщения пользователю

Сообщение

Причина

Действия

1

2

3

«Выберите пользователя!»

Не выбран пользователь

Нажать кнопку «ОК» и выбрать пользователя

«Введите пароль!»

Не введен пароль

Нажать кнопку «ОК» и ввести пароль

«Неверный пароль!»

Пароль введен не верноподключение к базе данных

Нажать кнопку «ОК» и повторить набор пароля


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

Результаты тестирования полностью совпадают с ожидаемыми. Результаты корректных выходных документов представлены в приложении Е.

.5 Руководство пользователя

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

Первая форма - форма входа в систему (рисунок 2.5.1).

Рисунок 2.5.1 - Вход в систему

При нажатии на кнопку «О системе» открывается одноименное окно (рисунок 2.5.2).

Рисунок 2.5.2 - Окно о системе

Для закрытия окна нужно нажать кнопку «Выход». Снова появляется форма входа в систему. Для того чтобы войти в систему, необходимо нажать одноименную кнопку. Появляется окно авторизации в системе (рисунок 2.5.3).

Рисунок 2.5.3 - Авторизация в системе

Существует три типа учетных записей: мастер, менеджер и администратор системы. Войдем в систему через администратора. Перед нами появляется главное окно системы (рисунок 2.5.4).

Рисунок 2.5.4 - Главное окно системы

На главном окне расположены вкладки «Пользователи», «Мастера», «Клиенты», «О системе», «Выход».

Пункт «Пользователи» на главном окне системы (рисунок 2.5.4) открывает одноименное окно. В данном окне имеется возможность добавления, редактирования и удаления данных(рисунок 2.5.5).

Рисунок 2.5.5 - Окно "Пользователи"

Пункт «Выход» соответственно производит выход на главное окно системы.

Вкладка «Мастера» на главном окне системы (рисунок 2.5.4). В окне «Мастера» возможны добавление, редактирование, удаление иинформации по мастерам (рисунок 2.5.6).

Рисунок 2.5.6 - Окно "Мастера"

Вкладка «Клиенты» на главном окне системы (рисунок 2.5.4) вызывает одноименное окно (рисунок 2.5.7) .

Рисунок 2.5.7 - Окно "Клиенты"

В данном окне возможно формирование отчета.

Вкладка «О системе» на главном окне системы (рисунок 2.5.4) соотвествует окну «О системе» (рисунок 2.5.2).

Заключение

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

Программное обеспечение написано на языке Object Pascal с использованием среды разработки Delphi 7. Результаты выводятся в MS Word. Код программы представлен в приложении А.

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

Список использованых источников

1             Российская Федерация. Законы. О персональных данных [Текст]: федер. закон [принят Гос. Думой 8 июля 2006 г., одобр. Советом Федерации 14 июля 2006 г. от 27.07. 2006 N 152-ФЗ (ред. от 21.07.2014) ]// Информационно-правовая система КонсультантПлюс.

2       Российская Федерация. Законы. Об информации, информационных технологиях и о защите информации [Текст]: федеральный закон [принят Гос. Думой 8 июля 2006 г., от 27.07.2006 N 149-ФЗ (ред. от 13.07.2015) ] // Информационно-правовая система КонсультантПлюс.

3      ГОСТ 19.001-77. ЕСПД. Единая система программной документации Общие положения. [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010.

4       ГОСТ 19.003-80. ЕСПД. Единая система программной документации. Схемы алгоритмов и программ. [Текст]. - Введ. 1981 - 01 - 07. - М.: Стандартинформ, 2010.

         ГОСТ 19.104-78. ЕСПД. Единая система программной документации. Основные надписи. ( с изменением № 1) [Текст]. - Введ. 1980 -01 - 01. - М.: Стандартинформ, 2010         .

         ГОСТ 19.401. - 78. Текст программы. Требования к содержанию и оформлению. Единая система программной документации [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010.      

         ГОСТ 19.402 - 78. Описание программы. Единая система программной документации [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010 .

         ГОСТ 19.404 - 79. Пояснительная записка. Требования к содержанию и оформлению. Единая система документации [Текст]. - Введ. 1981 - 01 - 01. - М.: Стандартинформ, 2010.      

         ГОСТ 19.701 - 90 ( ИСО 5807 - 85 ). Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения. Единая система программной документации [Текст]. - Введ. 1992 - 01 - 01. - М.: Стандартинформ, 2010.

         Вендров А. М., Case-технологии. Современные методы и средства проектирования информационных систем [Текст] / А. М. Вендров. - М.: Финансы и статистика, 2004. - 235 с.

         Горев А., Эффективная работа с СУБД. [Текст] / А., Горев , Р. Ахаян , С. Макашарипов . - СПб.: Питер, 2007. - 700 с.

         Грабер М., Введение в SQL. [Текст]: пер. с англ. / М. Грабер - М.: "ЛОРИ", 2006. - 418с;

         Дейт К. Дж., Введение в системы баз данных [Текст]: пер. с англ./ Дейт К. Дж. - 6-е изд. - СПб.: Издательский дом "Вильямс", 2000. - 482с;

         Карпова, И.П. Базы данных. Учебное пособие. Курс лекций и материалы для практических занятий [Текст] / И.П. Карпова.. - СПб.: Питер, 2013. - 240 с.

         Кочеткова, А. И. Основы управления в условиях хаоса (неопределенности). Часть 1 [Электронный ресурс] / А. И. Кочеткова. - М.: ИНФРА-М, Znanium.com, 2014. - 484 с. - ISBN 978-5-16-101634-3 (online).

16           Культин Н.Б Основы программирования в Delphi 7 [Текст] / Н.Б Культин. - СПб.: БХВ-Петербург, 2007 г. - 608 с.: ил.

17    Маклаков С. В., BPWin и ERWin. CASE-средства разработки информационных систем [Текст] / С. В., Маклаков - М.:Диалог-МИФИ, 2006. - 256с;

18           . Фаронов В.В. Программирование баз данных в Dephi 7. Учебный курс [Текст] / В.В.Фаронов. - СПб.: Питер, 2006 г. - 459с.: ил.

               . Хомоненко А.Д., Гофман В.Э. Работа с БД в Dephi [Текст] / А.Д. Хомоненко. - СПб.: «БХВ-Петербург», 2009. - 1230с.

20     . Википедия: свободная энциклопедия // Режим доступа: https:// ru.wikipedia.org/wiki/, свободный.

Приложение А

Форма выходного документа

id

Мастер

Клиент

Дата/Время

1

Исхакова

Петров

24.02.2017 10:00:00


Приложение Б

Исходный код программы

unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;= class(TForm): TBitBtn;: TBitBtn;: TBitBtn;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);BitBtn3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;Unit3, Unit8;

{$R *.dfm}TForm1.BitBtn1Click(Sender: TObject);.Show;;TForm1.BitBtn2Click(Sender: TObject);.Show;;TForm1.BitBtn3Click(Sender: TObject);;;.Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, ExtCtrls, Unit2, DBCtrls;= class(TForm): TLabeledEdit;: TBitBtn;: TDBLookupComboBox;: TLabel;BitBtn1Click(Sender: TObject);FormShow(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit4;

{$R *.dfm}TForm3.BitBtn1Click(Sender: TObject);

if DBLookupComboBox1.Text='' then ShowMessage('Âûáåðèòå ïîëüçîâàòåëÿ.')

else if LabeledEdit2.Text='' then begin

ShowMessage('Ââåäèòå ïàðîëü!');

LabeledEdit2.SetFocus;

else if LabeledEdit2.Text=DataModule2.Users.FieldByName('Ïàðîëü').AsString then begin

Form4.Show;;else begin

{ Private declarations }

{ Public declarations };: TForm4;Unit5, Unit6, Unit7, Unit8;

{$R *.dfm}TForm4.FormShow(Sender: TObject);

if DataModule2.Users.FieldByName('Äîëæíîñòü').AsString='Ìàñòåð' then begin

N1.Visible:=False;.Visible:=False;.Visible:=False;;

if DataModule2.Users.FieldByName('Äîëæíîñòü').AsString='Ìåíåäæåð' then begin

N1.Visible:=False;;;;TForm4.N1Click(Sender: TObject);.Show;;TForm4.N2Click(Sender: TObject);.Show;;TForm4.N3Click(Sender: TObject);.Show;;TForm4.N4Click(Sender: TObject);.Show;;TForm4.N5Click(Sender: TObject);;;TForm4.BitBtn1Click(Sender: TObject);:integer;CreateWord then begin(false);;.Works.DisableControls;(DBGrid1,true,table);(true);.Works.EnableControls;;;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Unit2, Menus, ExtCtrls, DBCtrls, Grids, DBGrids;= class(TForm): TDBGrid;: TDBNavigator;: TMainMenu;: TMenuItem;: TMenuItem;N1Click(Sender: TObject);N2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;Unit7, Unit8;

{$R *.dfm}TForm5.N1Click(Sender: TObject);.Show;;TForm5.N2Click(Sender: TObject);;;.Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Unit2, Grids, DBGrids, ExtCtrls, DBCtrls, Menus;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TDBNavigator;: TDBGrid;N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;Unit8;

{$R *.dfm}TForm6.N3Click(Sender: TObject);.Show;;TForm6.N4Click(Sender: TObject);;;.Unit7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, Menus;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TDBGrid;: TDBNavigator;N1Click(Sender: TObject);N2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm7;Unit8;

{$R *.dfm}TForm7.N1Click(Sender: TObject);.Show;;TForm7.N2Click(Sender: TObject);;;.Unit8;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons;= class(TForm): TBitBtn;: TLabel;: TLabel;: TLabel;BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm8;

{$R *.dfm}TForm8.BitBtn1Click(Sender: TObject);;;.MyWord;Grids,SysUtils,DBGrids;=integer;

{ wdStyleNormal = $FFFFFFFF;= $FFFFFFBD;= $FFFFFFFE;= $FFFFFFFD;= $FFFFFFFC; }= -1;= -1;= -2;= -3;= -4;=integer;=$00000000;=$00000001;= $00000002;= $00000003;= $00000004;= $00000005;= $00000006;= $00000007;= $00000008;= $00000009;= $0000000A;= $0000000B;= $0000000C;= $0000000D;= $0000000E;= $0000000F;= $00000010;=0;=1;=2;=0;=0;=1;=1;=0;=2;=0;=1;= $FFFFFFFF;= $FFFFFFFE;= $FFFFFFFD;= $FFFFFFFC;= $FFFFFFFB;= $FFFFFFFA;=0;= $00000054;= $00000056;= $00000057;= $00000058;= $00000061;= $00000063;= $00000067;= $0000006F;= $00000070;= $00000075;CreateWord:boolean;VisibleWord(visible:boolean):boolean;AddDoc:boolean;AddDocFile(FileName:string):boolean;OpenDoc(file_:string):boolean;SaveDocAs(file_:string):boolean;CloseDoc:boolean;CloseWord:boolean;InsertBreak(WdBreakType:WdUnits):boolean;InsertParagraphAfter:boolean;InsertParagraphAfterTable(table:integer):boolean;MoveInDoc(UnitType:WdUnits;Count:integer):boolean;PageCount:integer;WordCount:integer;StartOfDoc:boolean;EndOfDoc:boolean;TypeTextDoc(text_:string):boolean;SetTextToDoc(text_:string ;InsertAfter_:boolean):boolean;GetDocToText(var text:string; wordNum:integer):boolean;FindTextDoc(text_:string):boolean;PasteTextDoc(text_:string):boolean;FindAndPasteTextDoc(findtext_,pastetext_:string):boolean;FindAndInsert(FindText,ReplacementText:string):boolean;DialogWord(Dialog:Wdunits):boolean;SetFont(FontName:WdFonts):boolean;

//Table-------CreateTable(NumRows, NumColumns:integer;var index:integer):boolean;GetWordTablesCellValue(Table,Row,Column:integer;var S:string );SetWordTablesCellValue(Table,Row,Column:integer;S:string);GetTableInStringGrid(Table:integer;var StringGrid:TStringGrid);GetStringGridInTable(StringGrid:TStringGrid;var Table:integer);GetStringGridInTable2(StringGrid:TStringGrid;var Table:integer;ColArr:array of integer);WordTableAddFromDBGrid(DBGrid: TDBGrid;CollSize:boolean;var Table:integer);SetSizeTable(Table:integer;RowsHeight, ColumnsWidth:real):boolean;GetSizeTable(Table:integer;var RowsHeight,ColumnsWidth:real):boolean;SetHeightRowTable(Table,Row:integer;RowHeight:real):boolean;GetHeightRowTable(Table,Row:integer;var RowHeight:real):boolean;SetWidthColumnTable(Table,Column:integer;ColumnWidth:real):boolean;GetWidthColumnTable(Table,Column:integer;var ColumnWidth:real):boolean;SetTextToTable(Table:integer;Row,Column:integer;text:string):boolean;GetTextFromTable(Table:integer;Row,Column:integer;var text:string);CopyHereRawFromTable(table,Row1,Row2:integer):boolean;SetLineStyleBorderTable(Table:integer;Row,Column,wdBorderType,wdBorderStyle:WdUnits):boolean;SetMergeCellsTable(Table:integer;Row1,Column1,Row2,Column2:integer):boolean;TableAutoFit(Table:integer);MakeNewLineInTable(Table,AfterRow,NewRowCount:integer);DeleteRowInTable(Table,Row:integer);

//Table-------InsertPicture(FileName:string);ComObj;W:variant;CreateWord:boolean;:=true;:=CreateOleObject('Word.Application');.Options.CheckGrammarAsYouType:=False;.Options.CheckSpellingAsYouType:=False;:=false;;;VisibleWord(visible:boolean):boolean;:=true;.visible:= visible;:=false;;;AddDoc:boolean;Doc_:variant;:integer;:=true;_:=W.Documents;_.Add;:=false;;;AddDocFile(FileName:string):boolean;Doc_:variant;;:=true;_:=W.Documents;_.Add(FileName);:=false;;;InsertBreak(WdBreakType:WdUnits):boolean;.Selection.InsertBreak(WdBreakType);;InsertParagraphAfter:boolean;.Selection.InsertParagraphAfter;.Selection.InsertParagraphAfter;.Selection.Move(wdParagraph,1);;InsertParagraphAfterTable(table:integer):boolean;.Selection.Start:=W.ActiveDocument.Tables.Item(Table).Range.End;.Selection.End:=W.ActiveDocument.Tables.Item(Table).Range.End;.Selection.InsertParagraphAfter;;MoveInDoc(UnitType:WdUnits;Count:integer):boolean;.Selection.Move(UnitType,Count);;PageCount:integer;:=W.ActiveDocument.ComputeStatistics(2);;WordCount:integer;:=W.ActiveDocument.Words.Count;;SetTextToDoc(text_:string ;InsertAfter_:boolean):boolean;Rng_:variant;:=true;_:=W.ActiveDocument.Range;InsertAfter_ then Rng_.InsertAfter(text_) else Rng_.InsertBefore(text_);:=false;;;GetDocToText(var text:string; wordNum:integer):boolean;Rng_:variant;:=true;:=W.ActiveDocument.Words.Item(wordNum).Text:=false;;;SaveDocAs(file_:string):boolean;:=true;.ActiveDocument.SaveAs(file_);:=false;;;CloseDoc:boolean;:=true;.ActiveDocument.Close;:=false;;;CloseWord:boolean;:=true;.Quit;:=false;;;OpenDoc(file_:string):boolean;Doc_:variant;:=true;_:=W.Documents;_.Open(file_);.ActiveDocument.ShowSpellingErrors:=false;:=false;;;StartOfDoc:boolean;:=true;.Selection.End:=0;.Selection.Start:=0;:=false;;;EndOfDoc:boolean;:=true;.Selection.End:=W.ActiveDocument.Characters.Count;.Selection.Start:=W.ActiveDocument.Characters.Count;:=false;;;FindTextDoc(text_:string):boolean;:=true;.Selection.Find.Forward:=true;.Selection.Find.Text:=text_;:= W.Selection.Find.Execute;:=false;;;PasteTextDoc(text_:string):boolean;:=true;.Selection.Delete;.Selection.InsertAfter (text_);:=false;;;TypeTextDoc(text_:string):boolean;:=true;.Selection.Delete;.Selection.TypeText(text_);:=false;;;FindAndPasteTextDoc(findtext_,pastetext_:string):boolean;:=true;.Selection.Find.Forward:=true;.Selection.Find.Text:= findtext_;W.Selection.Find.Execute then begin.Selection.Delete;.Selection.InsertAfter (pastetext_);else FindAndPasteTextDoc:=false;:=false;;;FindAndInsert(FindText,ReplacementText:string):boolean;wdReplaceAll=2;. Selection.Find.Text:=FindText;.Selection.Find.Replacement.Text:=ReplacementText;:=W.Selection.Find.Execute(Replace:=wdReplaceAll);;DialogWord(Dialog:Wdunits):boolean;:=true;.Dialogs.Item(Dialog).Show;:=false;;;SetFont(FontName:WdFonts):boolean;.Selection.Style:=(FontName);;CreateTable(NumRows, NumColumns:integer;var index:integer):boolean;Range:variant;:=true;;.ActiveDocument.Tables.Add(W.Selection.Range, NumRows:=NumRows, NumColumns:=NumColumns);:=W.ActiveDocument.Tables.Count;.ActiveDocument.Tables.Item(index).Borders.Enable:=true;.ActiveDocument.Range.InsertAfter(' ');:=false;;;GetWordTablesCellValue(Table,Row,Column:integer;var S:string);:=W.ActiveDocument.Tables.Item(Table).Cell(Row,Column).Range.Text;:=StringReplace(S, #$D,'',[rfReplaceAll]);:=StringReplace(S, #$7,'',[rfReplaceAll]);;SetWordTablesCellValue(Table,Row,Column:integer;S:string);.ActiveDocument.Tables.Item(Table).Cell(Row,Column).Range.Text:=S;;GetTableInStringGrid(Table:integer;var StringGrid:TStringGrid);:string;,j,icols,irows:integer;:=W.ActiveDocument.Tables.Item(Table).Rows.Count;:=W.ActiveDocument.Tables.Item(Table).Columns.Count;.RowCount:=irows;.ColCount:=icols;i:=1 to irows doj:=1 to icols do(Table,i,j,S);.Cells[j-1,i-1]:=S;;;;;GetStringGridInTable(StringGrid:TStringGrid;var Table:integer);:string;,irows,iGridRows,jGridCols:integer;:=StringGrid.ColCount;:=StringGrid.RowCount;(iRows,iCols,Table);iGridRows := 1 to iRows dojGridCols := 1 to iCols do.ActiveDocument.Tables.Item(Table).Cell(iGridRows, jGridCols).Range.Text:=.Cells[jGridCols - 1, iGridRows - 1];.ActiveDocument.Range.InsertAfter(' ');:=W.ActiveDocument.Tables.Count;.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);(Table);;;GetStringGridInTable2(StringGrid:TStringGrid;var Table:integer;ColArr:array of integer);:string;,irows,iGridRows,jGridCols:integer;:=Length(ColArr);:=StringGrid.RowCount;(iRows,iCols,Table);iGridRows := 1 to iRows dojGridCols := Low(ColArr) to High(ColArr) do.ActiveDocument.Tables.Item(Table).Cell(iGridRows, jGridCols+1).Range.Text:=.Cells[ColArr[jGridCols], iGridRows - 1];.ActiveDocument.Range.InsertAfter(' ');:=W.ActiveDocument.Tables.Count;.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);(Table);;;WordTableAddFromDBGrid(DBGrid: TDBGrid;CollSize:boolean;var Table:integer);i, j,Col,Row,ColWidth: Integer;:string;:=DBGrid.Columns.Count;:=DBGrid.DataSource.DataSet.RecordCount+1;

//SetTextToDoc(DBGrid.Columns.Items[0].Title.Caption,true);(Row,Col,Table);CollSize then ColWidth:=DBGrid.Columns.Items[0].Width;

//W.Selection.Tables.Item(Table).Columns.Item(1).SetWidth(ColumnWidth:=ColWidth,RulerStyle:=wdAdjustNone);j:=0 To Col-1 Do:=DBGrid.Columns.Items[j].Title.Caption;(Table,1,j+1,S);CollSize then ColWidth:=DBGrid.Columns.Items[j].Width;

//W.Selection.Tables.Item(Table).Columns.Item(j+1).

// SetWidth(ColumnWidth:=ColWidth,RulerStyle:=wdAdjustNone);;.DataSource.DataSet.First;i:=1 To Row-1 Doj:=0 To Col-1 Do(Table,i+1,j+1,DBGrid.Columns.Items[j].Field.AsString);.DataSource.DataSet.Next;;.DataSource.DataSet.First;.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);;SetSizeTable(Table:integer;RowsHeight, ColumnsWidth:real):boolean;:=true;.ActiveDocument.Tables.Item(Table).Columns.Width:=ColumnsWidth;.ActiveDocument.Tables.Item(Table).Rows.Height:=RowsHeight;:=false;;;GetSizeTable(Table:integer;var RowsHeight,ColumnsWidth:real):boolean;:=true;:=W.ActiveDocument.Tables.Item(Table).Columns.Width;:=W.ActiveDocument.Tables.Item(Table).Rows.Height;:=false;;;SetHeightRowTable(Table,Row:integer;RowHeight:real):boolean;:=true;.ActiveDocument.Tables.Item(Table).Rows.item(Row).Height:=RowHeight;:=false;;;GetHeightRowTable(Table,Row:integer;var RowHeight:real):boolean;:=true;:=W.ActiveDocument.Tables.Item(Table).Rows.item(Row).Height;:=false;;;SetWidthColumnTable(Table,Column:integer;ColumnWidth:real):boolean;:=true;.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Width:=ColumnWidth;:=false;;;GetWidthColumnTable(Table,Column:integer;var ColumnWidth:real):boolean;:=true;:=W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Width;:=false;;;SetTextToTable(Table:integer;Row,Column:integer;text:string):boolean;:=true;.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Range.Text:=text;:=false;;;GetTextFromTable(Table:integer;Row,Column:integer;var text:string);:=W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Range.Text;;;SetLineStyleBorderTable(Table:integer;Row,Column,wdBorderType,wdBorderStyle:wdUnits):boolean;:=true;.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Borders.Item(wdBorderType).LineStyle:=wdBorderStyle;:=false;;;SetMergeCellsTable(Table:integer;Row1,Column1,Row2,Column2:integer):boolean;cel_:variant;:=true;_:=W.ActiveDocument.Tables.Item(Table).Cell(Row2,Column2);.ActiveDocument.Tables.Item(Table).Cell(Row1,Column1).Merge(cel_);:=false;;;CopyHereRawFromTable(table,Row1,Row2:integer):boolean;:integer;:=W.Selection.Start;.Selection.Start:=W.ActiveDocument.Tables.Item(Table).Rows.Item(Row1).Range.start;.Selection.End:=W.ActiveDocument.Tables.Item(Table).Rows.Item(Row2).Range.end;.Selection.Copy;.Selection.Start:=Here;.Selection.PasteAndFormat (0);;TableAutoFit(Table:integer);.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);;MakeNewLineInTable(Table,AfterRow,NewRowCount:integer);.ActiveDocument.Tables.Item(Table).Rows.Item(AfterRow).Select;.Selection.InsertRowsBelow(NewRowCount);;;DeleteRowInTable(Table,Row:integer);.ActiveDocument.Tables.Item(Table).Rows.Item(Row).Select;.Selection.Rows.Delete;;;InsertPicture(FileName:string);.Selection.InlineShapes.AddPicture(FileName);.ActiveDocument.Range.InsertParagraphAfter;;.

Похожие работы на - Разработка информационной системы для автоматизации работы салона художественной татуировки

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!