Основные характеристики функциональных задач
1) цель и назначение данной задачи состоит в том, чтобы разработать программу автоматизирующую работу отдела кадров предприятия;
2) условия решения задачи с использованием средств вычислительной техники:
- процессор: intel Core i3 2.9 GHz;
- монитор Acer AL1716, 17 дюймов;
размер ОЗУ 3 Гб;
свободное пространство на жестком диске не менее 20 Мб;
видео карта 1024 Мб;
клавиатура;
мышь;
3) содержание функций обработки входной информации для решения задачи: ввод данных о персонале, о приказах, о заявлениях, проверка на корректность, сохранение в базу данных;
) требование к периодичности решения задачи: возможно при необходимости просмотра информации;
) ограничение по срокам и точностям выходной информации: информация предоставляется сразу после завершения процесса обработки входной информации;
) состав и форма представления выходной информации: информация представляется в виде списка записей, результатом работы является
электронный отчет в виде приказа или заявления. (см. приложение А);
) источниками входной информации для решения задачи являются информация о персонале, образец заполнение приказа и заявления;
8) пользователями задачи являются сотрудники предприятия.
.2 Схема взаимодействия входной и выходной информации
Схема взаимодействия входной и выходной информации изображена на рисунке 1.
Рисунок 1 - Схема взаимодействия входной и выходной информации
1.3 Требования к программно-аппаратному окружению
Для нормальной работы программы необходимо чтобы были выполнены следующие системные требования:
-компьютер: однопроцессорный компьютер с ACPI;
-процессор: Intel® Celeron® D CPU ~2.1GHz или выше;
-полный объём физической памяти: 512,00 МБ;
-виртуальная память: 2,00 ГБ;
-сетевая плата: Realtek RTL 8139/810x Family Fast Ethemet NIC;
-операционная система Windows XP или выше;
.4 Требования к функциям, выполняемой системой
В данной программе используются следующие функции:
-добавление, редактирование информации о персонале, приказах и заявлениях;
-формирование электронного отчёта в виде заявления или приказа;
-запись всей информации в базу данных.
1.5 Требования к эргономике и технической эстетике интерфейса пользователя
Эргономика - это наука о приспособлении должностных обязанностей, рабочих мест, предметах и объектах труда, а также компьютерных программ для наиболее безопасного и эффективного труда работника, исходя из физических и психических особенностей человеческого организма. Эргономика представляет собой научную дисциплину, комплексно изучающую человека в конкретных условиях его деятельности. Возникшая на стыке общественных, технических и естественных наук, она является одновременно и проектной, и научной дисциплиной. Диалог признается перспективной формой взаимодействия человека с терминалом, где взаимодействие представляет собой двухсторонний обмен информацией в виде команд, просьб, вопросов - ответов и сообщений различных видов. Обмен сообщениями происходит на языке, который можно варьировать от сложного языка программирования до простого языка команд. Эффективность диалога зависит и от соответствующих устройств ввода- вывода информации. Разработка таких устройств должна основываться на результатах экспериментальных исследований не только аппаратных, но и программных средств, ибо именно совокупность программных и аппаратных средств является функционально завершенными средствами деятельности пользователя.
Максимальный объем информации, отображаемой на экране, должен определяться скоростью опознания и интерпретации предъявляемых сигналов, а также временем их восприятия. Если объем информации превышает возможности человека, ее следует передавать порциями. Каждая порция должна быть равна оперативной памяти оператора, а интервалы должны быть достаточными для преобразования поступающей информации.
Чтобы не перегружать память человека-оператора следует исключить:
-одновременный учет трех-четырех различных значений текущих параметров при операциях обслуживания;
-сопоставление в уме более трех логических условий;
-вычисления или перевод в уме с той или иной величины в другие единицы или системы отсчета;
-дополнительное перекодирование предъявляемой информации.
Также, к эргономике следует отнести следующие требования:
-должно быть организовано наиболее удобное и привычное для пользователя распределение пунктов и элементов основного меню;
-должна быть подобрана наиболее удобная для чтения текста цветовая гамма программы, чтобы пользователь мог долго работать, не утомляясь;
-размер шрифта, цвет пунктов меню и других элементов управления должен быть удобен для восприятия.
Понятный интерфейс делает обучение работе с ним легким и быстрым, снижает время и затраты на обучение и техническую поддержку пользователей.
Понятный интерфейс повышает производительность труда пользователей, в результате для выполнения задачи требуется меньше людей или они затрачивают на работу меньше времени.
Понятный интерфейс снижает количество человеческих ошибок, а значит, уменьшает количество времени на их исправление.
.6 Требования к надёжности и хранению
Надежность - это одно из важнейших свойств программного продукта, обеспечение которого даёт возможность предусмотреть различные ситуации, когда операционная система или пользователь не могут корректно работать с программой. Например, неправильный ввод (текст вместо цифр), не поддерживаемая операционная система и т.д.
Вся система должна обладать надёжностью, необходимо предусмотреть, самые неожиданные действия пользователя и если они неправильны, программа должна объяснить, как сделать то, чего хочет программа от пользователя.
Данный программный продукт характеризуется высокой степенью надежности хранения информации. При некорректных действиях пользователя программа не должна производить аварийное завершение работы, потому что это
повлечет за собой потерю данных, а соответствующим образом обрабатывать эти действия, не прерывая нормальный ход программы.
Помимо этого в программе предусмотрено жесткий контроль вводимой информации, для сокращения случайных ошибок пользователя.
Использование статической модели Миллса предполагает необходимость перед началом тестирования искусственно «засорять» программу, т.е. вносить в нее некоторое количество известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателей надежности по модели Миллса. Предполагается, что все ошибки имеют равную вероятность быть найденными в процессе тестирования.
Тестируя программу в течение некоторого времени, собирают статистику об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Соотношение, называемое формулой Миллса,
N = (S*n)/V , (1)
где N - дает возможность оценить первоначальное число ошибок в программе;
S - количество искусственных ошибок,
n - число найденных собственных ошибок,
V - число обнаруженных к моменту оценки искусственных ошибок.
N = (5*2)/2 = 5 ошибок (2)
Следует признать, что абсолютно надежных программ не существует, так как абсолютная степень надежности не может быть теоретически доказана и, следовательно, недостижима. Описанные модели представляют теоретический подход и, как правило, имеют ограниченное применение.
Типовая структура характеристик и атрибутов качества для оценивания исполняемого программного обеспечения, применяемые метрики, соответствующие виды, испытаний и методы измерений в методике представляются в таблицах.
Регистрация означает протоколирование выявляемых в процессе оценивания событий или проявлений ошибок (недостатков, нарушений требований).
Программная документация, в общем виде, должна удовлетворять следующим требованиям:
-соответствие требованиям стандартов единой системы программной документации;
-понятность документации;
-полнота документации;
-возможность освоения программного обеспечения по документации;
-возможность освоения программного обеспечения на контрольном примере;
-легкость установки и запуска программного обеспечения;
-понятность входных и выходных данных;
-наличие описания структуры функций программного обеспечения;
-соответствие функций программного обеспечения требованиям техническому заданию;
-наличие описания функций программного обеспечения;
-отсутствие противоречий в реализации интерфейса с пользователем;
-отсутствие противоречий в диагностике системы;
-обеспечение помощи пользователю при затруднениях средствами функции подсказки;
-достаточность документации для ввода программного обеспечения в эксплуатацию;
-правильность документации;
-приемлемость уровня технического исполнения документации;
-наличие краткой аннотации программного обеспечения;
-наличие описания решаемых задач;
-наличие описания ограничении по применению;
-наличие описания алгоритмов;
-наличие описания пользовательских интерфейсов и другие.
2. Пояснительная записка
2.1Метод решения
Для решения поставленной задачи была выбрана среда программирования Delphi7. Delphi - это язык программирования, на основе языка Pascal (точнее более развитая его форма) является объектно-ориентированным. Пользуется значительной популярностью среди программистов, так как предоставляет значительные возможности в реализации тех или иных программ, при относительной своей простоте.
Delphi является средой разработки, используемой прежде всего для поддержки и разработки приложений, предназначенных как для отдельных рабочих станций, так и для серверов. Delphi может функционировать под управлением операционной системы Windows 95, 98, NT, XP. В качестве методологии проектирования вместе с Delphi 7 было выбрано модульное программирование. Модульное программирование является развитием и совершенствованием процедурного программирования и библиотек специальных программ. Основная черта модульного программирования - стандартизация интерфейса между отдельными программными единицами. Это отдельная функционально-законченная программная единица, которая структурно оформляется стандартным образом по отношению к компилятору и по отношению к объединению ее с другими аналогичными единицами и загрузке. Как правило, каждый модуль содержит паспорт, в котором указаны все основные его характеристики: язык программирования, объем, входные и выходные переменные, их формат, ограничения на них, точки входа, параметры настройки и т.д. Объем модуля обычно не превышает 1000 команд ЭВМ или операторов языка программирования. В противном случае модуль становится громоздким и трудным к восприятию и использованию.
Модульное программирование - это искусство разбиения задачи на некоторое число различных модулей, умение широко использовать стандартные модули путем их параметрической настройки, автоматизация сборки готовых модулей из библиотек, банков модулей.
Основные концепции модульного программирования:
-каждый модуль реализует единственную независимую функцию;
-каждый модуль имеет единственную точку входа и выхода;
-размер модуля по возможности должен быть минимизирован;
-каждый модуль может быть разработан и закодирован различными членами бригады программистов и может быть отдельно протестирован;
-вся система построена из модулей;
-модуль не должен давать побочных эффектов;
-каждый модуль не зависит от того, как реализованы другие модули.
.2 Структурная схема программы
Программный продукт имеет конструкцию построения - состав и взаимосвязь программный модулей. Пример структурной схемы программы представлен на рисунке 2.
.3 Диалоговый режим
Разрабатываемый сценарий диалога будет представляться в виде:
-меню - диалог инициируется программой, пользователю предлагается выбор альтернативных функций обработки из фиксированного перечня. Данный интерфейс представляет собой программу по методике экспресс-диагностики особенностей личности;
-действия запрос-ответ - фиксированный перечень возможных значений, выбираемых из списка или ответы типа да/нет;
-запрос по формату - с помощью ключевых слов, фраз или путем заполнения экранных форм с регламентированным по составу и структуре набором реквизитов осуществляется подготовка сообщений.
Инициатором диалога будет являться человек, так как он начинает работу с помощью выбора какого-либо из пунктов основного меню;
параметры и содержание диалога - сообщение, состав и структура меню, экранные формы и т.д..
Рисунок 2 - Структурная схема программы
В эскизе программы будут использованы графическое оформление меню и экранных форм, а также встроенная система помощи, которые помогут пользователю без труда использовать данную программу;
реакция ПП на завершение диалога.
При завершении диалога программа выдаст запрос пользователю на подтверждение выхода или же его отмены.
Определить типы диалоговых окон, содержащие объекты управления;
-TMainMenu - компонент основного меню программы.
Используется для добавления функций управления программой.
Разрабатываемый эскиз программы будет иметь жесткий сценарий ведения диалога с пользователем. В качестве действий типа запрос-ответ в разрабатываемом эскизе будут использованы различные запросы: запрос на ввод пароля пользователя, на выход из программы, на сохранение внесенных изменений данных и т.п. Инициатором диалога является человек, поскольку непосредственный диалог с программой осуществляется при выборе определенного пункта основного меню. Также будут использоваться встроенная система помощи для пользователей, графическое оформление меню и всех экранных форм эскиза. Реакцией на завершение диалога с программой будут являться подтверждение на выход, либо на сохранение внесенных изменений данных в процессе работы.
.4 Эскиз и спецификация типовых объектов управления графического интерфейса
БДУП (база данных управления персоналом)СотрудникиЗаявленияПриказыРазвлеченияСправкаРегистрация; Данные о сотрудниках;На отгул; На отпуск; На увольнение; О переносе рабочего времени;О направлении в командировку; О прекращении труд. договора; О приёме на работу; О предоставлении отпуска;Пройти тест; Плеер;О программе; О разработчике; О предприятии;Рисунок 3 - Эскиз программы
Для создания диалогового окна используемые объекты представлены в таблице (1):
Наименование объектаФункциональная характеристика объектаПолоса меню (MainMenuпредлагает выбор основных функций обработки информации, представленные в программе. Метка (Label) постоянный текст, не подлежащий изменению при работе пользователя с экранной формой, например, «Заказы»Командная кнопка (Button) позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. Компонент(DBEdit)Позволяет отображать и редактировать данные полей различных типов: строка, число, булева величина. Если задать в компоненте свойство ReadOnly=true, то он превратиться в элемент отображения, как и DBTextИзображение (Image) компонент визуальный. Он отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к ехе-файлу. panel - предназначен для компоновки различных компонентов интерфейсаКомпонент.(DBText)аналог обычной метки Label, но связанный сданными. Позволяет отображать данные некоторого поля, но не дает возможности его редактировать. Тип отображаемого поля может быть различным: строка, число, булева величина. Компонент автоматически переводит соответствующие типы в отображаеме символы.Компонент.(XPManifest)использует стандартные визуальные компоненты данной операционной системыКомпонент.(Timer)позволяет задавать в приложении интервалы времени. Таймер находит многочисленные применения: синхронизация мультипликации, закрытие окон, включение хранителя экрана или закрытие связей с удаленным сервером при отсутствии действий пользователяКомпонент.(DBNavigator)представляет собой набор кнопок, при щелчках на которых во время работы программы происходит перемещение указателя текущей записи к следующей, предыдущей, первой или последней записи базы данных, а также добавление к файлу данных новой записи, удаление текущей записи.
Данная программа состоит из 9 форм, каждая из которых обладает определенными функциями.
Главное окно программы представлено на рисунке 4.
Рисунок 4 - Главное окно программы
Рисунок 5 - Регистрация
Окно «Данные о сотрудниках» представлено на рисунке 6.
Рисунок 6 - Данные о сотрудниках
Окно «Заявление на отгул» представлено на рисунке 7.
Рисунок 7 - Заявление на отгул
Окно «Поиск заявлений на отгулы» представлено на рисунке 8.
Рисунок 8 - Поиск заявлений на отгулы
Окно «Заявление на предоставлении отпуска» представлено на рисунке 9.
Рисунок 9 - Заявление на предоставлении отпуска
Окно «Приказ о направлении работника в командировку» представлено на рисунке 10.
Рисунок 10 - Приказ о направлении работника в командировку
Окно «Поиск приказов о направлении в командировку» представлено на рисунке 11.
Рисунок 11 - Поиск приказов о направлении в командировку
Окно «Приказ о приёме на работу» представлено на рисунке 12.
Рисунок 12 - Приказ о приёме на работу
Окно «Поиск приказов о приёме на работу» представлено на рисунке 13.
Рисунок 13 - Поиск приказов о приёме на работу
Окно «О программе» представлено на рисунке 14.
Рисунок 14 - О программе
Окно «О разработчике» представлено на рисунке 15.
Рисунок 15 - О разработчике
Окно «Media Player» представлено на рисунке 16.
Рисунок 16 - Media Player
3. Руководство системного программиста
Данный программный продукт написан в среде Delphi 7 и был основан на модульном программировании. В программе используются стандартные компоненты Delphi, с помощью которых осуществляется её реализация.
Для запуска программы необходимо запустить файл Personal.exe, а для быстродействия можно создать ярлык в необходимом месте. Для установки необходимо скопировать папку, где находится программа, в любое удобное для вас место на жестком диске. Не рекомендуется переименовывать, редактировать и удалять файлы, которые находятся в папке.
.1 Схема взаимодействия модулей
Программа содержит 20 модулей.
Схема взаимодействия модулей программы изображена на рисунке 13.
Рисунок 13 - Схема взаимодействия модулей
3.2 Описание модулей
BDUP - главное меню программы;
Register - регистрация сотрудников;
InfoPerosonal - данные о сотрудниках;
ZOtgul - заполнение заявления на отгул;
Parol - аунтефикация пользователя;
Zotpusk - заполнение заявления на отпуск;
ZUvolnenie - заполнение заявления на увольнение;
ZWorkTime - заполнение заявления о переносе рабочего времени;
PZOtgul - поиск заявлений на отгул;
PZOtpusk - поиск заявлений на отпуск;
PKomandorovka - заполнение приказа на командировку;
PTrudDogOff -заполнение приказа на увольнение;
PWork - заполнения приказа о принятии на работу;
POtpusk - заполнение приказа на отпуск;
PPoiskKomndirovka - поиск приказов на командировку;
PPoiskUvolnenie - поиск приказов на увольнение;
PPoiskOtpusk - поиск приказов на отпуск;
PPoiskWork - поиск приказов о принятии на работу;
Razrab -информация о разработчике;
OProgramm - информация о программе.
.3 Настройка и проверка программы
Данная программа написана в среде визуального программирования Delphi7.
Создаваемое в среде Delphi приложение состоит из нескольких элементов, объединенных в проект. В состав проекта входят следующие элементы (в скобках указаны расширения имен файлов):
)(Personal.dpr). Является центральным файлом проекта и представляет собой собственно программу. Имя проекта (программы) совпадает с именем файла проекта и указывается при сохранении этого файла на диске, первоначально это имя Project1;
2)описания форм (dfm). Эти файлы автоматически создаются для каждой формы. Файлы описания форм являются ресурсом Delphi и содержат характеристики форм (main.dfm, info.dfm и т.д.) и их компонентов;
)модули и модули форм (pas). Файл модуля формы содержит описание класса формы. Кроме модулей в составе форм, при программировании можно использовать и отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка Object Pascal и сохраняются в отдельных файлах (main.pas, info.pas и т.д.). Для подключения модуля его имя указывается в разделе uses того модуля или проекта, который использует средства этого модуля;
)(Personal.dof). Параметры из страниц Compiler и Linker вносятся в файл параметров проекта. Этот файл представляет собой текстовый файл, в котором построчно записаны параметры и их значения;
)параметры среды (Personal.cfg);
)описания ресурсов (Personal. res). При первом сохранении проекта автоматически создается файл ресурсов с именем файла проекта. Файл ресурсов может содержать: значки, растровые изображения, курсоры.
Кроме приведенных файлов, автоматически могут создаваться и другие файлы, например, резервные копии файлов: ~dp - для файлов с расширением dpr; ~pa -для файлов с расширением pas.
.3.1 Тестирование программного продукта. Виды тестирований
Тестирование - процесс, подтверждающий правильность программы и демонстрирующий, что ошибок в программе нет.
Тестирование программного обеспечения в процессе испытаний проводится с целью получения данных для оценки его динамических характеристик.
Разработка плана тестирования проводится на основе анализа программной документации, в частности, характеристик качества.
План тестирования - это документированный, детализированный и структурированный процесс с точным описанием, как, в какой среде и при каких условях должно тестироваться прикладное программное обеспечение. Кроме того; план должен описывать общую концепцию и методологию, включая проявление, частоту и методы описания обнаруженных ошибок, а также график тестирования.
Для каждого тестируемого элемента необходимо проанализировать:
-его прикладное значение (как воспринимает этот элемент пользователь и насколько он важен для успеха программного обеспечения);
-сложность (высокая сложность может оказаться дефектом); архитектуру (внесение изменений может оказаться затруднительным).
Сразу после завершения тестирования нужно проанализировать весь процесс и внести поправки для последующих проектов.
В процессе тестирования необходимо детально документировать выявленные проблемы так, чтобы тесты можно было повторить. Протоколы тестирования должны включать следующую информацию:
-начальные условия каждого теста;
-каждое действие, предшествующее тесту;
-критерий успеха для каждого теста.
Протоколирование ошибки должно содержать пошаговое описание действий, вызвавших ее проявление и предшествующих событий, чтобы ее можно было повторить и повторно протестировать после исправления. Рекомендуется выдерживать доброжелательный и конструктивный стиль протокола, что стимулирует партнерские отношения с разработчиками для достижения общих целей.
По обнаружении и осмыслении дефектов или отказов в процессе тестирования, в рабочий журнал рекомендуется включать предложения по их устранению или усовершенствованию программного обеспечения (они не включаются в обобщенные рабочий журнал испытаний, но будут полезны разработчикам).
Под ошибкой в широком смысле понимается неправильность, погрешность или неумышленное, невольное искажение объекта или процесса. При этом подразумевается, что известно правильное или неискаженное эталонное состояние, к которому относится ошибка. Исходя из специфики программного обеспечения, в связи с неполной определенностью и неполной корректностью эталонов, в состав ошибок включаются и ситуации, когда программное обеспечение соответствуют формализованным эталонам, однако нарушаются некоторые правила здравого смысла, формально не предусмотренные эталонами. В соответствии с этим считается, что если программное обеспечение не выполняет того, что пользователь от нее ожидает, то в ней имеется ошибка.
Существует несколько видов ошибок:
-сбои и отказы при работе программного обеспечения;
-не нравится пользователю;
-несоответствие требованиям стандартов или соглашений, связанных с эффективностью;
-наличие непонятных состояний или поведения системы;
-сбои и отказы при работе системы;
-отсутствие файла комплекта поставки программного обеспечения;
-отсутствие функции программного обеспечения;
-наличие непонятных сообщений;
-недостатки документации.
Виды тестирования:
)модульное - этот вид тестирования представляет собой процесс проверки отдельных программных процедур и подпрограмм входящих в состав программной системы. Осуществляется самим разработчиком;
)интеграционное - проводится для проверки совместной работы отдельных модулей. Проверяются связи между модулями, их совместимость и функциональность. Оно осуществляется независимым тестировщиком;
)системное - предназначено для проверки программной системы в целом, ее организации и функционирования на соответствие спецификациям требований заказчика. Данное тестирование проводит независимый тестировщик;
)выходное тестирование - завершающий этап тестирования на котором проверяется готовность программного продукта к поставке заказчику;
)приемочное тестирование - проводится организацией отвечающей за инсталляцию. Проводится совместно с заказчиком.
3.3.2 Сообщение системному программисту
Сбои в работе программы могут происходить из-за нехватки памяти или отсутствия других необходимых системных ресурсов. У каждой программы свои пределы, программа может не справляться с повышенными нагрузками, например со слишком большими объёмами данных.
В разработанном программном продукте необходимо учитывать особенность структуры файла, в который записываются данные, также необходимо учитывать операции с файлом структуры.
Так как в программном продукте происходит непосредственное считывание данных из файла, необходимо учитывать программные ошибки, которые существуют двух типов:
.Программная ошибка - расхождение между программой и её спецификацией, причём тогда и только тогда, когда спецификация существует и она правильна.
2.Программная ошибка - ситуация, когда программа не делает того, чего пользователь от неё вполне обоснованно ожидает.
4. Руководство оператора
Программный продукт разработан для учета сотрудников, заявлений и приказов поступающих в отдел кадров предприятия «ОАО Оренбургэнергосбыт». Так же в программе присутствует формирование заявлений и приказов, осуществление добавления, просмотра и редактирования информации базы данных. Интерфейс программы простой и понятный и любой пользователь сможет в ней разобраться.
.1 Выполнение программы
Чтобы загрузить программу «База данных управления персоналом» необходимо скопировать файлы с носителя информации на компьютер пользователя. Чтобы запустить рабочую программу на выполнение необходимо двойным щелчком кликнуть по иконке Personal.exe файла (по желанию можно создать ярлык на рабочем столе для более быстрого запуска). Интерфейс программы оформлен в обычном классическом стиле, как и многие другие программы ОС Windows. Поэтому с этой программой справится любой пользователь, который хоть немного работал на ПК. Запустив файл Personal.exe, на экране появится главное окно программы. Для того чтобы начать работу, нужно выбрать необходимый пункт меню.
.2 Сообщение оператору
При удалении записи из таблицы выводится сообщение, представленное на рисунке 17.
Рисунок 17 - Сообщение, возникающее при удалении записи из таблицы
При выходе из программы выводится сообщение, представленное на рисунке 18.
Рисунок 18 - Сообщение, возникающее при выходе из программы
Заключение
Результатом дипломного проекта является программа «Учёт персонала на предприятии ОАО Оренбургэнергосбыт», выполненная в среде визуального программирования Delphi7, с использованием дополнительных компонентов, и разработанная по всем правилам разработки программного продукта. Программа предусматривает выполнение строго ограниченных функций, необходимых для сотрудников компании. В программе использованы и закреплены практически все навыки программирования в среде Delphi 7. За время работы над проектом были закреплены навыки работы с интегрированной средой программирования Delphi7, а так же работу с нестандартными компонентами. При разработке данной программы пришлось столкнуться с множеством проблем. Но благодаря использованию различной литературы, а также ранее полученного опыта удалось обойти или решить большинство этих проблем. Накопленный опыт, несомненно, пригодится в будущем при разработке программ.
Список использованных источников
1 Рудаков, А.В. Технология разработки программных продуктов: учебное пособие / А.В.Рудаков-М.: ACADEMA, 2005.-207 с.
2 Макарова, Н.В. Информатика: учебник / Н.В.Макарова-М.: Финансы и статистика, 2014.-767с.
3 Гофман В.Э.,Delphi: Руководство программиста / В.Э Гофман., Хоменко А.Д / -СПб.: БХВ-Петербург,2005.-1152с.
Кривошеева, Н.А. Требования к оформлению документов: методические указания в помощь преподавателям, / Н.А.Кривошеева. Оренбург: ИПК ОГУ, 2012. - 20 с.
5 Вендров А. М. Проектирование программного обеспечения экономических информационных систем. − М.: Финансы и статистика, 2010. − 352 с.
Никифоров В. В. Основы разработки программных продуктов. − М.: Просвещение, 2009.
7 Попов В.Б. Turbo Pascal для школьников. - М.: Финансы и статистика, 2008.
8 Рудаков А. В. Технология разработки программных продуктов. − М.: Академия, 2004.
9 Хомоненко А., Гофман В., Мещеряков Е., Никифоров В.,Delphi 7 в подлиннике. - Санкт-Петербург: БХВ-Петербург, 2014.
Приложение
Последовательность выполнения проекта
по дисциплине «Технология разработки программных продуктов»
студента ____ группы
фамилия, имя, отчество студента
№ п/пНаименование работы1.Выдача задания2.Описание входной и выходной информации3.Назначение и область применения4.Описание постановки задачи5.Описание диалогового режима6.Разработка интерфейса программного продукта7.Спецификация типовых объектов управления графического интерфейса8.Составление структурной схемы программы9.Реализация ввода информации. Обработка некорректного ввода. 10.Реализация функциональностей программного продукта11.Формирование и вывод на печать отчетов 12.Отладка программного продукта13.Оформление пояснительной записки14.Описание модулей 15.Составление схемы взаимодействия модулей16.Настройка и проверка программы17.Описание руководства системному программисту18.Описание руководства оператора19.Сдача на проверку пояснительной записки20.Оформление графической части проекта21Подготовка доклада. Приемка программного продукта
Входные и выходные данные:
К входным данным относятся:
-Информация о персонале;
-Образец заполнения приказа и заявления.
К выходным данным относится:
-Приказы и заявления.
Текст программы
unit BDUP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ExtCtrls, ComCtrls, XPMan, jpeg,Registry, Shellapi;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TStatusBar;: TTimer;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TXPManifest;: TImage;N2Click(Sender: TObject);N37Click(Sender: TObject);N4Click(Sender: TObject);N7Click(Sender: TObject);N25Click(Sender: TObject);N28Click(Sender: TObject);N5Click(Sender: TObject);Timer1Timer(Sender: TObject);N8Click(Sender: TObject);N6Click(Sender: TObject);N27Click(Sender: TObject);N33Click(Sender: TObject);N35Click(Sender: TObject);N9Click(Sender: TObject);N30Click(Sender: TObject);N36Click(Sender: TObject);N34Click(Sender: TObject);N24Click(Sender: TObject);N38Click(Sender: TObject);N39Click(Sender: TObject);N32Click(Sender: TObject);N23Click(Sender: TObject);N22Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;InfoPerosonal,Register,ZOtgul,Parol,Zotpusk,ZUvolnenie,ZWorkTime,PZOtgul,PZOtpusk,PKomandorovka,PTrudDogOff,PWork,POtpusk,PPoiskKomndirovka,PPoiskUvolnenie,PPoiskOtpusk,PPoiskWork,Razrab,OProgramm;
{$R *.dfm}TForm1.N2Click(Sender: TObject);.show;;TForm1.N37Click(Sender: TObject);.show;;TForm1.N4Click(Sender: TObject);.show;;TForm1.N7Click(Sender: TObject);.show;;TForm1.N25Click(Sender: TObject);.show;;TForm1.N28Click(Sender: TObject);.show;;TForm1.N5Click(Sender: TObject);.show;;TForm1.Timer1Timer(Sender: TObject);.Panels[0].Text :=''+TimeToStr(time);.Panels[1].Text :=''+DateToStr(date);;TForm1.N8Click(Sender: TObject);.show;;TForm1.N6Click(Sender: TObject);.show;;TForm1.N27Click(Sender: TObject);.show;;TForm1.N33Click(Sender: TObject);.show;;TForm1.N35Click(Sender: TObject);.show;TForm1.N9Click(Sender: TObject);.show;;TForm1.N30Click(Sender: TObject);.show;;TForm1.N36Click(Sender: TObject);.show;;TForm1.N34Click(Sender: TObject);.show;; TForm1.N24Click(Sender: TObject);
mtinformation, [mbYes, mbNo], 0) = mrYes THEN.Close;;TForm1.N38Click(Sender: TObject);('socionix.exe', SW_ShowMaximized);;TForm1.N39Click(Sender: TObject);('Pleer.exe', SW_ShowMaximized);;TForm1.N32Click(Sender: TObject);( Handle, 'open', 'www.orensbyt.ru/', nil, nil, SW_NORMAL );;TForm1.N23Click(Sender: TObject);.show;;TForm1.N22Click(Sender: TObject);.show;;.Register;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, StdCtrls, Buttons, ComCtrls, ExtCtrls, DBCtrls, Mask, DB,, jpeg;= class(TForm): TDataSource;: TADOConnection;: TADOTable;: TPageControl;: TTabSheet;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TTabSheet;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TTabSheet;: TLabel;: TLabel;: TLabel;: TDBNavigator;: TXPManifest;: TLabel;: TLabel;: TLabel;: TImage;: TLabel;: TBitBtn;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;BitBtn1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm2;
{$R *.dfm}TForm2.BitBtn1Click(Sender: TObject);;;.InfoPerosonal;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls, Buttons,, jpeg;= class(TForm): TADOConnection;: TADOTable;: TDataSource;: TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TDBNavigator;: TImage;: TXPManifest;: TBitBtn;FormCreate(Sender: TObject);Button1Click(Sender: TObject);BitBtn1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm3;
{$R *.dfm}TForm3.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=120;.Columns[2].Width:=80;.Columns[3].Width:=80;.Columns[4].Width:=80;.Columns[5].Width:=80;.Columns[6].Width:=150;.Columns[7].Width:=80;.Columns[8].Width:=80;.Columns[9].Width:=80;.Columns[10].Width:=70;.Columns[11].Width:=70;.Columns[12].Width:=70;.Columns[13].Width:=70;.Columns[14].Width:=70;;TForm3.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if st<>'ВЫБЕРИТЕ ПОЛЕ ДЛЯ ПОИСКА' then begin
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;TForm3.BitBtn1Click(Sender: TObject);;;.
ZOtgul;
, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Mask, DBCtrls, DB, ADODB, XPMan, Buttons, ExtCtrls,;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TXPManifest;: TDataSource;: TADOConnection;: TADOTable;: TXPManifest;: TTimer;: TDBEdit;: TDBNavigator;: TMonthCalendar;: TDBEdit;BitBtn1Click(Sender: TObject);FormCreate(Sender: TObject);DBEditd13Click(Sender: TObject);MonthCalendar1DblClick(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm4;
{$R *.dfm}TForm4.BitBtn1Click(Sender: TObject);.Print;;TForm4.FormCreate(Sender: TObject);.Text:=DateToStr(date);;TForm4.DBEditd13Click(Sender: TObject);.visible:=true ;;TForm4.MonthCalendar1DblClick(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.visible:=false;;.Parol;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, StdCtrls, jpeg, ExtCtrls;= class(TForm): TEdit;: TEdit;: TButton;: TXPManifest;: TImage;: TLabel;: TLabel;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm5;Unit1;
{$R *.dfm}TForm5.Button1Click(Sender: TObject);Log,po:string;,i:integer;:=Edit1.Text;:=Edit2.Text; begin form1.Close; end;:=length(po);i:=1 to c do begin Edit2.Text:='*' end; log<>'БДУП' then begin if po<>'персонал' then ShowMessage('НЕ верно введены данные. Повторите попытку!');;;log='БДУП' then begin if po='персонал' then Form1.show ; end;form5.Visible:=false; end; end;. Zotpusk;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, ADODB, XPMan, Buttons,;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;: TDataSource;: TADOConnection;: TADOTable;: TXPManifest;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TDBEdit;: TTimer;: TMonthCalendar;: TDBEdit;: TDBEdit;: TDBNavigator;BitBtn1Click(Sender: TObject);Label14MouseEnter(Sender: TObject);Label14MouseLeave(Sender: TObject);Label13Click(Sender: TObject);FormCreate(Sender: TObject);DBedit17Click(Sender: TObject);MonthCalendar1DblClick(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm6;POtpusk;
{$R *.dfm}TForm6.BitBtn1Click(Sender: TObject);.Print;;TForm6.Label14MouseEnter(Sender: TObject);.Visible:=true;;TForm6.Label14MouseLeave(Sender: TObject);.Visible:=false;;TForm6.Label13Click(Sender: TObject);.show;;TForm6.FormCreate(Sender: TObject);.Text:=DateToStr(date);;TForm6.DBedit17Click(Sender: TObject);.visible:=true ;;TForm6.MonthCalendar1DblClick(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.Text:=datetostr(monthCalendar1.date);.visible:=false;;.ZUvolnenie;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, ADODB, XPMan, Buttons,;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;: TXPManifest;: TDataSource;: TADOConnection;: TADOTable;: TXPManifest;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TTimer;: TMonthCalendar;: TDBNavigator;BitBtn1Click(Sender: TObject);DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);Label14MouseEnter(Sender: TObject);Label14MouseLeave(Sender: TObject);Label13Click(Sender: TObject);FormCreate(Sender: TObject);DBEdit21Click(Sender: TObject);MonthCalendar1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm7;PTrudDogOff;
{$R *.dfm}TForm7.BitBtn1Click(Sender: TObject);.Print;;TForm7.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin('Сохранение прошло успешно!');
end;TForm7.Label14MouseEnter(Sender: TObject);.Visible:=true;;TForm7.Label14MouseLeave(Sender: TObject);.Visible:=false;;TForm7.Label13Click(Sender: TObject);.show;;TForm7.FormCreate(Sender: TObject);.Text:=DateToStr(date);;TForm7.DBEdit21Click(Sender: TObject);.visible:=true ;;TForm7.MonthCalendar1Click(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.visible:=false;;.ZWorkTime;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, DBCtrls, DB, ADODB, StdCtrls, Mask, XPMan, Buttons;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;: TLabel;: TLabel;: TLabel;: TDataSource;: TADOConnection;: TADOTable;: TXPManifest;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBNavigator;: TDBEdit;: TTimer;BitBtn1Click(Sender: TObject);DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm8;
{$R *.dfm}TForm8.BitBtn1Click(Sender: TObject);.Print;;TForm8.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin('Сохранение прошло успешно!');
end;TForm8.FormCreate(Sender: TObject);.Text:=DateToStr(date);;.PZOtgul;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, jpeg,;= class(TForm): TADOConnection;: TADOTable;: TDataSource;: TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TDBNavigator;: TImage;: TLabel;: TXPManifest;FormCreate(Sender: TObject);Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm9;
{$R *.dfm}TForm9.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=120;.Columns[2].Width:=180;.Columns[3].Width:=120;.Columns[4].Width:=120;.Columns[5].Width:=120;;TForm9.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if st<>'ВЫБЕРИТЕ ПОЛЕ ДЛЯ ПОИСКА' then begin
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;.PZOtpusk;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, jpeg,;= class(TForm): TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TADOConnection;: TADOTable;: TDataSource;: TXPManifest;: TImage;: TLabel;: TDBNavigator;FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm10;
{$R *.dfm}TForm10.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=100;.Columns[2].Width:=100;.Columns[3].Width:=140;.Columns[4].Width:=100;.Columns[5].Width:=100;.Columns[6].Width:=125;;.PKomandorovka;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, StdCtrls, Buttons, Grids, Mask, DBCtrls, DB, ADODB,, ComCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TStringGrid;: TStringGrid;: TXPManifest;: TDataSource;: TADOConnection;: TADOTable;: TLabel;: TBitBtn;: TDBNavigator;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TMonthCalendar;: TTimer;FormActivate(Sender: TObject);BitBtn3Click(Sender: TObject);DBEditd9Click(Sender: TObject);MonthCalendar1Click(Sender: TObject);FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm11;
{$R *.dfm}TForm11.FormActivate(Sender: TObject);.Cells[0,0] :='Номер документа';.Cells[1,0] :='Дата составления';.Cells[0,0] :='Фамилия';.Cells[0,1] :='Имя';.Cells[0,2] :='Отчество';.Cells[0,3] :='Табельный номер';.Cells[0,4] :='Структурное подразделение';.Cells[0,5] :='Должность';.Cells[0,6] :='Страна(город)';.Cells[0,7] :='Организация';.Cells[0,8] :='Дата начала';.Cells[0,9] :='Дата окончания';.Cells[0,10] :='срок, календарные дни';.Cells[0,11] :='Цель';.Cells[0,12] :='Командировка за счёт средств';.Cells[0,13] :='Подпись, дата';;TForm11.BitBtn3Click(Sender: TObject);.Print;;TForm11.DBEditd9Click(Sender: TObject);.visible:=true ;;TForm11.MonthCalendar1Click(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.visible:=false;;TForm11.FormCreate(Sender: TObject);.Cells[1,1]:=DateToStr(date);;.PTrudDogOff;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, Mask, DBCtrls, XPMan, StdCtrls, Buttons, Grids,, ComCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TStringGrid;: TStringGrid;: TXPManifest;: TDataSource;: TADOConnection;: TADOTable;: TBitBtn;: TDBNavigator;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TTimer;: TMonthCalendar;FormActivate(Sender: TObject);FormCreate(Sender: TObject);DBEditd3Click(Sender: TObject);MonthCalendar1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm12;
{$R *.dfm}TForm12.FormActivate(Sender: TObject);.Cells[0,0] :='Номер документа';.Cells[1,0] :='Дата составления';.Cells[0,0] :='Табельный номер';;TForm12.FormCreate(Sender: TObject);.Caption:=DateToStr(date);.Text:=DateToStr(date);;TForm12.DBEditd3Click(Sender: TObject);.visible:=true ;;TForm12.MonthCalendar1Click(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.visible:=false;;.PWork;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, StdCtrls, Buttons, Grids, DB, ADODB, ExtCtrls, DBCtrls,, ComCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TStringGrid;: TStringGrid;: TBitBtn;: TXPManifest;: TDataSource;: TADOConnection;: TADOTable;: TADOTable;: TDBEdit;: TMonthCalendar;: TDBEdit;: TDBEdit;: TDBNavigator;FormActivate(Sender: TObject);BitBtn3Click(Sender: TObject);DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);FormCreate(Sender: TObject);DBEditd36Click(Sender: TObject);MonthCalendar1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm13;
{$R *.dfm}TForm13.FormActivate(Sender: TObject);.Cells[0,0] :='Номер документа';.Cells[1,0] :='Дата составления';.Cells[0,0] :='Табельный номер';;TForm13.BitBtn3Click(Sender: TObject);.Print;;TForm13.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin('Сохранение прошло успешно!');
end;TForm13.FormCreate(Sender: TObject);.Text:=DateToStr(date);.Caption:=DateToStr(date);;TForm13.DBEditd36Click(Sender: TObject);.visible:=true ;;TForm13.MonthCalendar1Click(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.Text:=datetostr(monthCalendar1.date+1826);.visible:=false;;. POtpusk;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, XPMan, Mask, DBCtrls, StdCtrls, Buttons, Grids,, ComCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TStringGrid;: TStringGrid;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TXPManifest;: TBitBtn;: TDBEdit;: TMonthCalendar;: TDBEdit;: TDBEdit;: TDBEdit;: TDataSource;: TADOConnection;: TADOTable;: TDBNavigator;FormActivate(Sender: TObject);FormCreate(Sender: TObject);DBEditd41Click(Sender: TObject);MonthCalendar1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm14;
{$R *.dfm}TForm14.FormActivate(Sender: TObject);.Cells[0,0] :='Номер документа';.Cells[1,0] :='Дата составления';.Cells[0,0] :='Табельный номер';;TForm14.FormCreate(Sender: TObject);.Caption:=DateToStr(date);.Text:=DateToStr(date);;TForm14.DBEditd41Click(Sender: TObject);.visible:=true ;;TForm14.MonthCalendar1Click(Sender: TObject);.Text:=datetostr(monthCalendar1.date);.visible:=false;;.PPoiskKomndirovka;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, XPMan,;= class(TForm): TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TADOConnection;: TADOTable;: TDataSource;: TImage;: TDBNavigator;: TLabel;: TXPManifest;Button1Click(Sender: TObject);FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm15;
{$R *.dfm}TForm15.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if st<>'ВЫБЕРИТЕ ПОЛЕ ДЛЯ ПОИСКА' then begin
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;TForm15.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=100;.Columns[2].Width:=100;.Columns[3].Width:=120;.Columns[4].Width:=100;.Columns[5].Width:=80;.Columns[6].Width:=40;.Columns[7].Width:=100;.Columns[8].Width:=100;.Columns[9].Width:=100;.Columns[10].Width:=100;.Columns[11].Width:=80;.Columns[12].Width:=100;.Columns[13].Width:=100;.Columns[14].Width:=100;;.PPoiskUvolnenie;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, jpeg,;= class(TForm): TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TADOConnection;: TADOTable;: TDataSource;: TDBNavigator;: TXPManifest;: TImage;: TLabel;Button1Click(Sender: TObject);FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm16;
{$R *.dfm}TForm16.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if st<>'ВЫБЕРИТЕ ПОЛЕ ДЛЯ ПОИСКА' then begin
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;TForm16.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=100;.Columns[2].Width:=100;.Columns[3].Width:=120;.Columns[4].Width:=100;.Columns[5].Width:=80;.Columns[6].Width:=40;.Columns[7].Width:=100;.Columns[8].Width:=100;.Columns[9].Width:=100;.Columns[10].Width:=100;.Columns[11].Width:=80;;.PPoiskOtpusk;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, jpeg;= class(TForm): TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TADOConnection;: TADOTable;: TDataSource;: TDBNavigator;: TImage;: TLabel;Button1Click(Sender: TObject);FormCreate(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm17;
{$R *.dfm}TForm17.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if st<>'ВЫБЕРИТЕ ПОЛЕ ДЛЯ ПОИСКА' then begin
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;TForm17.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=100;.Columns[2].Width:=100;.Columns[3].Width:=120;.Columns[4].Width:=80;.Columns[5].Width:=80;.Columns[6].Width:=80;.Columns[7].Width:=100;;.PPoiskWork;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, jpeg;= class(TForm): TDBGrid;: TPanel;: TComboBox;: TEdit;: TButton;: TADOConnection;: TADOTable;: TDataSource;: TDBNavigator;: TImage;: TLabel;FormCreate(Sender: TObject);Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm18;
{$R *.dfm}TForm18.FormCreate(Sender: TObject);.Columns[0].Width:=40;.Columns[1].Width:=100;.Columns[2].Width:=100;.Columns[3].Width:=120;.Columns[4].Width:=100;.Columns[5].Width:=80;.Columns[6].Width:=40;.Columns[7].Width:=100;.Columns[8].Width:=100;.Columns[9].Width:=100;.Columns[10].Width:=100;.Columns[11].Width:=80;.Columns[12].Width:=100;.Columns[13].Width:=100;.Columns[14].Width:=100;;TForm18.Button1Click(Sender: TObject);st:string;:=combobox1.Text;
if not adoTable1.Locate(st, Edit1.Text, [loCaseInsensitive,]) then('Запись не найдена');;;.Razrab;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, jpeg, ExtCtrls, StdCtrls;= class(TForm): TImage;: TLabel;
{ Private declarations }
{ Public declarations };: TForm19;
{$R *.dfm}.OProgramm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, jpeg, ExtCtrls, StdCtrls, ComCtrls;= class(TForm): TPageControl;: TTabSheet;: TTabSheet;: TLabel;: TImage;: TXPManifest;
{ Private declarations }
{ Public declarations };: TForm20;
{$R *.dfm}.Parol;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, StdCtrls, jpeg, ExtCtrls;= class(TForm): TEdit;: TEdit;: TButton;: TXPManifest;: TImage;: TLabel;: TLabel;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm5;Unit1;
{$R *.dfm}TForm5.Button1Click(Sender: TObject);Log,po:string;,i:integer;:=Edit1.Text;:=Edit2.Text; begin form1.Close; end;:=length(po);i:=1 to c do begin Edit2.Text:='*' end; log<>'БДУП' then begin if po<>'персонал' then ShowMessage('НЕ верно введены данные. Повторите попытку!');;;log='БДУП' then begin if po='персонал' then Form1.show ; end;form5.Visible:=false; end; end;
end.