СКАЧАТЬ РАБОТУ БЕСПЛАТНО -
Таблица 1.3.3 - Структура таблицы кодов ответственных лиц(ot_male)
Название
|
Обозначение
|
Тип
|
Длина
|
Код ответственного
|
Id_ot_male
|
int
|
11
|
Код участка
|
Id_uchastok
|
int
|
11
|
Ф. И. О. ответственного
|
Name_otmale
|
varchar
|
50
|
Должность
|
Dolg_otmale
|
varchar
|
30
|
Таблица 1.3.4 - Структура таблицы информации об компьютерах (comp_info)
Название
|
Обозначение
|
Тип
|
Длина
|
Код компьютера
|
Id_comp
|
int
|
11
|
Код участка
|
Id_uchastok
|
int
|
11
|
Материнская плата
|
Mother_card
|
varchar
|
150
|
Процессор
|
Processor
|
varchar
|
100
|
Оперативная память
|
Op_memory
|
varchar
|
120
|
Видеоадаптер
|
Video
|
varchar
|
150
|
Жесткий диск
|
HDD
|
varchar
|
100
|
Привод
|
Drive_disk
|
varchar
|
100
|
Статус
|
Status
|
varchar
|
10
|
Аренда
|
Arenda
|
varchar
|
15
|
Инвентарный номер
|
Inv_nom
|
varchar
|
20
|
Дата ввода
|
Date_in
|
date
|
-
|
Дата вывода
|
Date_out
|
date
|
-
|
Таблица 1.3.5 - Структура таблицы истории компьютеров (comp_history)
Название
|
Обозначение
|
Тип
|
Длина
|
Код записи
|
Id_comp_history
|
lint
|
11
|
Код компьютера
|
Id_stat
|
int
|
11
|
Дата записи
|
Date_zap
|
datetime
|
-
|
Запись истории
|
coment
|
blob
|
-
|
Таблица 1.3.6 - Структура таблицы картриджей (cartg)
Название
|
Обозначение
|
Тип
|
Длина
|
Код картриджа
|
Id_cartg
|
int
|
11
|
Код участка
|
Uch_cartg
|
int
|
11
|
Статус
|
Vrab_cartg
|
varchar
|
15
|
Название картриджа
|
Name_cartg
|
varchar
|
100
|
Состояние картриджа
|
Sost_cartg
|
varchar
|
15
|
Таблица 1.3.7 - Структура таблицы истории картриджей (cartg_history)
Название
|
Обозначение
|
Тип
|
Длина
|
Код записи
|
Id_cartg_history
|
int
|
11
|
Код картриджа
|
Id_cartg
|
int
|
11
|
Дата записи
|
Date_zap
|
datetime
|
-
|
Запись истории
|
Opis
|
blob
|
-
|
Таблица 1.3.8 - Структура таблицы принтеров (print)
Название
|
Обозначение
|
Тип
|
Длина
|
Код принтера
|
Id_print
|
int
|
11
|
Код участка
|
Id_uchastok
|
int
|
11
|
Название принтера
|
Name_print
|
varchar
|
60
|
Статус
|
Vrab_print
|
varchar
|
10
|
Таблица 1.3.9 - Структура таблицы истории принтеров (print_history)
Название
|
Обозначение
|
Тип
|
Длина
|
Код записи
|
Id_print_history
|
int
|
11
|
Код принтера
|
Id_print
|
int
|
11
|
Дата записи
|
Data_zap
|
datetime
|
-
|
Запись истории
|
Opis
|
blob
|
-
|
Выходной информацией являются отчет по оборудованию, находящиемуся на необходимом участке.
1.4 Информационная модель решения задачи
Информационная модель решения задачи – это последовательность операций, выполняемых над информацией с момента её внесения в базу данных до получения окончательных результатов, например формирования каких-либо отчётов. Она должна быть организована так, чтобы работа максимально упрощалась и выполнялась с минимальными затратами труда и денежных средств.
Информационная модель делится на 4 этапа: приём входной информации; подготовка исходных данных; обработка информации; подготовка выходной информации.
Информационная модель может включать: приём данных; сохранение введенных данных в базе; вывод результата работы программы на печать; контроль ввода данных.
В данной выпускной квалификационной работе представлена наиболее распространённая информационная модель – это схема взаимосвязи таблиц по ключевым полям (рис 1.4.1).
Рисунок 1.4.1 - Схема взаимосвязи данных таблиц
1.5 Описание программы и схема взаимосвязи модулей
При решении задач были разработаны следующие модули:
GLC.dpr - файл проекта
DMGL.pas – модуль данных
Login.pas – модуль «Идентификация пользователя»
MM.pas - модуль «Главное меню». Данный модуль представлен в блок-схеме 1.6.1
Сomp_info.pas - модуль «Добавление компьютеров»
Ecomp.pas - модуль «Изминение компьютера»
AdCartg.pas - модуль «Добавление картриджа»
Ecartg.pas - модуль «Изминение картриджа»
EPrint.pas - модуль «Изминение принтера»
AdUch.pas - модуль «Добавление участка»
ListOtMale.pas - модуль «Список ответственных»
ListUser.pas – модуль «Список пользователей»
VivObor.pas - модуль «Вывод отчета по оюорудованию на участке»
Схема взаимосвязи модулей представлена на рисунке 1.5.1.
Тексты модулей представлены в приложении 1 (стр. 33).
Рисунок 1.5.1 - Схема взаимосвязей программных модулей
1.6 Алгоритм решения задачи
Алгоритм – последовательность арифметических и логических действий над числовыми значениями переменных, приводящая к вычислению результата решения задачи при изменении исходных данных в достаточно широких пределах.
На этапе разработки алгоритма необходимо определить последовательность действий, которые надо выполнить для получения результата. Если задача может быть решена несколькими способами и, следовательно, возможны различные варианты алгоритма решения, то программист, используя некоторый критерий, например скорость выполнения алгоритма, выбирает наиболее подходящее решение.
Результатом этапа разработки алгоритма является подробное словесное описание алгоритма или его блок-схема – графическое представление алгоритма.
Алгоритм решения данной задачи представлен модулем главного меню (MM.pas) в виде блок-схемы на рисунке 1.6.1 (стр. 16).
Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число шагов.
Понятность - свойство алгоритма, при котором каждый из этих шагов являются законченными и понятными.
Детерминированность - свойство, когда каждый шаг должен пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию. чтобы каждый, прочитавший указание, понимал его однозначно.
Массовость - свойство, когда по данному алгоритму должна решаться не одна, а целый класс подобных задач.
Результативность – свойство, при котором любой алгоритм в процессе выполнения должен приводить к определённому результату. Отрицательный результат также является результатом.
Рисунок 1.6.1 - Алгоритм выполнения модуля MM.pas
Рис. 1.6.2
1.7 Руководство пользователю по работе с программой
Вход в программу
При запуске программы, пользователю предлагается выбор учетной записи, если таковой нет, то необходимо нажать кнопку «Добавить пользователя» для ввода новой учетной записи (рис. 1.7.1). Учётная запись требует пароля, пользователю требуется ввести пароль из латинских букв и цифр длиной до 16 символов.
Рисунок 1.7.1
Главное меню
Главное меню программы, в зависимости от учётной записи, несколько отличается. С помощью главного меню пользователь может добавить записи об необходимых участках, а также поменять участок с каким он хочет работать. Пользователь может выбрать с каким типом оборудования он хочет работать. Из главного меню пользователь может переходить на формы для работы с данными.
Рисунок 1.7.2
Участки
Для ввода нового звонка в главном меню пункт «Справочники», подункт «Участки» или кнопка «+» на главной форме. Эта форма позволяет пользователю увидеть с какими участками он может работать или добавить новый участок (рис 1.7.3). Ввод записи производится путем ввода в поле адрес участка, затем нажатием кнопки «Добавить».
Рисунок 1.7.3
Пользователи
Содержит сведения об пользователях, имеется возможность добавления и удаления пользователя. При удалении пользователя удаляются все связанные с ним записи, на что всплывает диалоговое окно с предупреждением и выбором действий (рис 1.7.4).
Рис. 1.7.4
Ответственные лица
Для ввода новой ответственного лица требуется нажать кнопку «+» и ввести данные. Для добавления имени ответственного и должности используются диалоги. Перед добавлением нового ответственного лица в главном меню необходимо выбрать нужный участок (рис 1.7.5).
Рисунок 1.7.5
Рисунок 1.7.6
Информация о компьютере
Для ввода нового компьютера требуется заполнить все поля и нажать кнопку «Сохранить». Если компьютер арендован, необходимо перед сохранением нажать флажок «Аренда». При сохранении нового комрьютера, программа автоматически присваивает компьютеру статус «В работе» (рис 1.7.6).
Изменение информации о компьютере
Рисунок 1.7.7
При открытии данной формы в поля автоатически заносится информация о компьютере. Пользователь может изменить названия комлектующих, если произошла их замена или внести в запись дату вывода, если компьютер выведен из производства. Если дата вывода окажется больше даты ввода, то программа автоматически изменит статус на «Выведен», иначе произойдет вывод предупредительного окна об ошибке при выборе даты. Аналогично программа себя поведет, если сделать обратную операцию. При сохранении изминений, необходимо нажать кнопку «Сохранить» (рис 1.7.7).
Ввод картриджей
Для добавления картриджей необходимo ввести названия картриджа, статус и сосотояние является ли администратором, если да, то ввести пароль. После этого нажать кнопку «Добавить» (рис 1.7.8).
Рисунок 1.7.8
Редактирование картриджа
При открытии данной формы в поля автоматически заносится информация о картридже. При сохранении изменений, необходимо нажать кнопку «Сохранить». При не заполнении одного из полей, программа выдаст окно с ошибкой о некорректном вводе данных (рис 1.7.9).
Рисунок 1.7.9
Изменение принтеров
При открытии данной формы в поля автоматически заносится информация о принтере. При сохранении изменений, необходимо нажать кнопку «Сохранить» (рис 1.7.10).
Рисунок 1.7.10
Вывод оборудования на участке
Пользователю дается на выбор вывод всего оборудования на участке или оборудования введенного в определенный период времени (рис 1.7.11).
Рисунок 1.7.11
Формирование и экспорт отчётов в EXCEL
Рисунок 1.7.12
В форме на рис. 1.7.11 требуется нажать кнопку «Вывести». Отчёт по оборудованию можно экспортировать как полностью (рис 1.7.12), так и за определенный период (рис 1.7.13).
Рисунок 1.7.13
2. ОПИСАНИЕ ПРОЦЕССА ОТЛАДКИ
2.1 Подготовка и компиляция программы
Программа, представленная в виде инструкций языка программирования, называется исходной программой. Она состоит из инструкций, понятных человеку, но не понятных процессору компьютера. Чтобы процессор смог выполнить работу в соответствии с инструкциями исходной программы, эта программа должна быть переведена на машинный язык - язык команд процессора. Задачу преобразования исходной программы в машинный код выполняет специальная программа - компилятор.
Компилятор выполняет последовательно две задачи:
1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.
2. Создает (генерирует) исполняемую программу – машинный код.
Генерация машинного кода компилятором свидетельствует лишь о том, что в тексте программы нет синтаксических ошибок. Убедиться, что программа работает правильно можно только в процессе ее тестирования - пробных запусках программы и анализе полученных результатов [1].
Процесс и результат компиляции отражаются в диалоговом окне Compiling. В это окно компилятор выводит ошибки (Errors), предупреждений (warnings) и подсказок (Hints). Сами сообщения об ошибках, предупреждения и подсказки отображаются в нижней части окна редактора кода.
В большинстве случаев в только что набранной программе есть синтаксические ошибки. Программист должен их устранить. Процесс устранения ошибок носит итерационный характер. Обычно сначала устраняются наиболее очевидные ошибки, например, декларируются необъявленные переменные. После очередного внесения изменений в текст программы выполняется повторная компиляция. Следует учитывать тот факт, что компилятор не всегда может точно локализовать ошибку. Поэтому, анализируя фрагмент программы, который, по мнению компилятора, содержит ошибку, нужно обращать внимание не только на тот фрагмент кода, на который компилятор установил курсор, но и на тот, который находится в предыдущей строке [1].
Если в программе нет синтаксических ошибок, компилятор создает исполняемый файл программы. Имя исполняемого файла такое же, как и у файла проекта, а расширение - exe. Delphi помещает исполняемый файл в тот же каталог, где находится файл проекта.
При обнаружении в программе неточностей, которые не являются ошибками, компилятор выводит подсказки (Hints) и предупреждения (warnings). Например, наиболее часто выводимой подсказкой является сообщение об объявленной, но не используемой переменной.
Итак, компиляция – это перевод исходного текста к виду, доступному для вычислительной машины, и объединение в одно целое отдельных частей программы. В результате компиляции будет получена программа, находящаяся либо в оперативной памяти машины, либо размещённая в exe - файле на диске [1].
2.2 Тестирование и отладка программы
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестированием.
Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой [2].
Интегрированная среда разработки Delphi предоставляет программисту мощное средство поиска и устранения ошибок в программе - отладчик. Отладчик позволяет:
выполнять трассировку программы;
наблюдать значения переменных;
устанавливать точки остановки;
отслеживать происходящие события;
выполнять программу в пошаговом режиме.
Именно это средство и использовалось при отладке данной программы. Этап отладки можно считать законченным, если программа правильно работает на одном - двух наборах входных данных [1].
2.3 Выполнение и контрольный пример
Во время выполнения программы можно столкнуться с множеством проблем. Они могут возникнуть как на этапе проектирования, так и на этапе разработки программного продукта. Основной проблемой является неправильное использование операторов языка, неверное построение алгоритма. Ошибки могут быть разными, как это может быть и некорректное использование свойств компонент, или неправильное задание какого-либо условия, так и многое другое [2].
Но они все легко устраняемы, после того, как проект готов к работе проводятся автономная и комплексная отладка программного продукта, испытание работоспособности модулей и базовых программных средств. Для комплексной отладки готовится контрольный пример, который позволяет проверить соответствие возможностей программного продукта заданным спецификациям.
В результате тестирования программы были выявлены следующие ошибки:
ошибка соединения клиентского приложения с серверным;
ошибка при сохранении новой записи в таблице, нарушение целостности первичного ключа;
ошибка при редактировании данных;
некорректное отображение данных при выборе участка или при выборе другой таблицы;
некорректный вывод записей за определенный промежуток времени при формировании отчета.
В настоящее время все ошибки устранены. Результат работы программы представлен в приложении 2 (стр. 78).
3. ПРОГРАММНЫЕ И ТЕХНИЧЕСКИЕ СРЕДСТВА РЕШЕНИЯ ЗАДАЧИ
3.1 Описание ASUS K61IC
Программа «Автоматизированный учет компьютерной техники ООО «СибирьЭнергоАвтоТранс»» представленная в данной выпускной квалификационной работе была разработана на компьютере следующей конфигурации:
Процессор: Intel Pentium Dual Core T4300
Оперативная память: DDR2 PC5300 (4096 МГц)
Жесткий диск: 320 Gb
Видеокарта: NvidiaGeForce GT 220M
ASUS K61IC – это мультимедийный ноутбук среднего класса. От более доступных моделей его выгодно отличает дискретный графический адаптер. Модель не рассчитана на частые перемещения, и скорее подойдет для стационарной домашней эксплуатации. В этом ноутбуке разработчики сделали особенный акцент на графические возможности. Модель оснащена быстрым дискретным видеоадаптером NVIDIA GeForce GT 220M с 1 ГБ памяти. Компьютер работает на базе одного из наиболее распространенных процессоров – Intel Pentium Dual-Core T4300 с частотой 2,1 ГГц. Стандартный объем оперативной памяти составляет 4 ГБ, а емкость винчестера – 320 ГБ. Это в полнее достаточно для ноутбука, на котором может храниться большое количество мультимедийных файлов [11].
Процессор Intel Pentium Dual Core T4300 предлагает хорошую производительность, надежность и имеет исключительную ценность для ноутбуков. Мобильные процессоры Intel обеспечивают производительность, необходимую для запуска самых популярных приложений.
Оперативная память – одна из важнейших деталей компьютера. Память поможет ускорить обмен данными на компьютере. Оперативная память незаменима для выполнения различных задач, таких как: работа с объемными текстами, таблицами, графиками; архивирование, шифрование, работа с базами данных [10].
3.2 Описание операционной системы Windows 7 Ultimate x86
Windows 7 Ultimate x86 – операционная система семейства Windows NT, следующая за Windows Vista. В состав Windows 7 вошли как некоторые разработки, исключённые из Windows Vista, так и новшества в интерфейсе и встроенных программах. Операционная система обладает поддержкой мультитач -управления. Дополнительным преимуществом Windows 7 можно считать более тесную интеграцию с производителями драйверов. Большинство из них определяются автоматически [7].
Минимальные системные требования:
Центральный процессор: Х86 или Х64 с тактовой частотой 1ГГц
Объем оперативной памяти: 1Гб
Объем жесткого диска: 16Гб
Информационный носитель: DVD-ROM
Графический процессор: Адаптер с поддержкой DirectX 9 и 128 Мб памяти
Возможности операционной системы Windows 7:
В Windows 7 ускорены процессы перехода в спящий режим, возобновления работы и повторного подключения к беспроводной сети.
При первом подключении переносного устройства флэш-памяти или другого USB-устройства Windows 7 подготавливает его к работе за считанные секунды. Если данное устройство использовалось ранее, подключение происходит еще быстрее.
В отличие от предыдущих версий Windows 7 позволяет запускать снижающие производительность службы, работающие в фоновом режиме, только при необходимости.
Операционная система Windows 7 превращает все возможности 64-разрядных компьютеров в новый стандарт для настольных систем [11].
3.3 Описание языка программирования Embarcadero DELPHI 2010
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi. В системе быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий [1].
Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal [2].
Embarcadero Delphi 2010 является одной из наиболее признанных и популярных сред для быстрой разработки приложений. Технология программирования Delphi 2010 значительно ускоряет создание приложений для настольных компьютеров, рабочих станций, сенсорных дисплеев, информационных терминалов и Интернета, при этом не ограничивая разработчика в гибкости, мощности языковых средств или уровне контроля. Приложения, созданные с помощью Delphi 2010, отличаются высочайшим быстродействием и компактностью, а также обладают полнофункциональным пользовательским интерфейсом и способностью подключаться практически к любой базе данных или другому источнику данных, не требуя дополнительной доработки.
Учитывая все эти особенности, для написания данной программы и был выбран объектно-ориентированный язык программировании Delphi [9].
3.4 Описание СУБД MySQL
MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации [7].
MySQL - решение для малых и средних приложений. Входит в состав серверов WAMP, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц [8].
В качестве интерфейса программирования доступа к данным была выбрана технология dbExpress. Технология dbExpress представляет собой совокупность драйверов, компонентов, инкапсулирующих соединения, транзакции, запросы и наборы данных, а также интерфейсов, обеспечивающих универсальный доступ к функциям dbExpress. Разработанная компанией Borland, технология dbExpress является наилучшим решением для приложений, в которых необходим быстрый и необременительный просмотр данных серверов SQL [13].
3.5 Описание Microsoft Excel 2007
Microsoft Excel (также иногда называется Microsoft Office Excel) - программа для работы с электронными таблицами, созданная корпорацией Microsoft для Microsoft Windows, Windows NT и Mac OS. Она предоставляет возможности экономико-статистических расчетов, графические, язык макропрограммирования VBA (Visual Basic для приложений). Microsoft Excel входит в состав Microsoft Office и на сегодняшний день Excel является одним из наиболее популярных приложений в мире [6].
API позволяет открывать таблицы Excel в ряде других приложений. Это включает в себя открытие документов Excel на веб-страницах с помощью ActiveX или таких плагинов, как Adobe Flash Player.
Ценной возможностью Excel является возможность писать код на основе Visual Basic для приложений (VBA). Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обрабатываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать изменять его и управлять расчётами [7].
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
- Delphi 2007. Самоучитель/ С.В. Глушаков, А.Л. Клевцов. – изд. 4-е, доп и перераб. – М.: АСТ:АСТ МОСКВА:ХРАНИТЕЛЬ, 2008. – 448с.
- Нестандартные приемы программирования на Delphi . Ревич Ю.В. - М.:BHV, 2005. – 560 с.
- Программирование документов и приложений MS Office в Delphi. Корняков В. - М.:BHV, 2005. – 496с.
ПРИЛОЖЕНИЕ 1
Распечатка текстов программы
unit Login; - модуль формы «Идентификация пользователя»
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DMGL, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls,
RibbonLunaStyleActnCtrls, Ribbon, Mask, Buttons, IniFiles;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
Button1: TButton;
GroupBox1: TGroupBox;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
MaskEdit2: TMaskEdit;
MaskEdit3: TMaskEdit;
Label5: TLabel;
BitBtn1: TBitBtn;
Button2: TButton;
Button3: TButton;
DBLookupComboBox1: TDBLookupComboBox;
Label6: TLabel;
Edit1: TEdit;
Label7: TLabel;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
user: String;
con: TIniFile;
implementation
uses MM;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: integer;
begin
if maskedit2.Text=maskedit3.Text then
begin
datamodule2.Users.Close;
datamodule2.Users.Open;
if datamodule2.Users.Locate('Login_users', edit2.Text, [])=false then
begin
i:=0;
datamodule2.Users.Refresh;
datamodule2.Users.First;
while datamodule2.Users.eof=false do
begin
if i=datamodule2.Users.FieldByName('id_user').AsInteger then
begin
i:=i+1;
datamodule2.Users.Next;
end
else
break;
end;
datamodule2.Users.append;
datamodule2.Users.FieldValues['id_user']:=i;
datamodule2.Users.FieldValues['Login_users']:=edit2.Text;
datamodule2.Users.FieldValues['Password_users']:=maskedit2.Text;
datamodule2.Users.Post;
datamodule2.Users.ApplyUpdates(-1);
end
else application.MessageBox(pchar('Такой логин уже есть'),'Ошибка',mb_OK);
end
else application.MessageBox(pchar('Пароли не совпадают'),'Ошибка',mb_OK);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.ClientHeight:=302;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if (datamodule2.Users.fieldvalues['Password_users']=maskedit1.Text) then
begin
datamodule2.Cartg.Active:=true;
datamodule2.Print.Active:=true;
Main.Show;
main.statusbar1.Panels[0].Text:='Пользователь '+datamodule2.Users.FieldByName('Login_users').AsString;
Form1.Visible:=false;
main.DBLookupComboBox1.KeyValue:=0;
end
else application.MessageBox(pchar('Неправильно введен логин или пароль'), 'Ошибка идентификации', mb_OK);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
{datamodule2.SocketConnection1.Host:=edit1.text;
datamodule2.SocketConnection1.ServerName:='ServerPro.ServDM';
datamodule2.SocketConnection1.Connected:=true;
if datamodule2.SocketConnection1.Connected=true then
begin
con:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'\connect.ini');
con.WriteString('SoketConection1','SoketConection1Host',datamodule2.SocketConnection1.Host);
con.Free;
end;
datamodule2.Users.Active:=true;
datamodule2.Uchastok.Active:=true;
datamodule2.Ot_male.Active:=true;
datamodule2.Comp_info.Active:=true;
datamodule2.Cartg.Active:=true;
datamodule2.Print.Active:=true;
datamodule2.comp_history.Active:=true;
datamodule2.cartg_history.Active:=true;
datamodule2.print_history.Active:=true; }
end;
procedure TForm1.Button5Click(Sender: TObject);
|