Разработка автоматизированного рабочего места секретаря ОАО "Ярославльтелесеть"
Структура организации, ER–диаграмма и описание датологической модели. Выбор средств разработки, сущность предметной области, сценарий работы приложения и листинг. Преимущества использования вычислительной техники при работе с документами и данными.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.11.2011 |
Размер файла | 991,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
НЕГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МЕЖДУНАРОДНАЯ АКАДЕМИЯ БИЗНЕСА
И НОВЫХ ТЕХНОЛОГИЙ (МУБиНТ)»
Кафедра Информационно-компьютерных технологий
Курсовая работа
по дисциплине
Проектирование экономических информационных систем
Тема:
Разработка автоматизированного рабочего места секретаря ОАО «Ярославльтелесеть»
Выполнил: студент группы 134 ПИ-41
Руководитель:
Вейцман В,М.
Ярославль, 2010
Содержание
Введение
1.Теоретическая часть
1.1 Краткие сведения о структуре организации
1.2 ER - диаграмма
1.3 Описание датологической модели
2. Проектная часть
2.1 Выбор средств разработки
2.2 Описание предметной области
2.3 Сценарий работы приложения
Заключение
Список литературы
Приложения
Введение
программа приложение листинг вычислительный датологический
В настоящее время все большее и большее распространение, как в производстве, так и в документообороте предприятий находит компьютерная техника, все шире и шире становится перечень охватываемых ею задач. Постоянно растет объем и сложность обрабатываемой информации, требуются все новые и новые виды ее представления. Как показывает практика, большинство пользователей уже не представляет себе, как бы они выполняли свою работу, с которой прекрасно справлялись еще пять-десять лет назад, без помощи компьютера. Вот только некоторые из преимуществ использования вычислительной техники при работе, с какими-либо данными, документами:
сразу после ввода, данные могут участвовать в различных операциях;
возможность одновременного доступа к информации нескольких пользователей;
возможность быстрого получения необходимых отчетов;
необходимая информация, поиск которой в обычной папке с документами затруднен, может быть быстро найдена;
существенная экономия времени и людских ресурсов при выполнении операций, связанных с обработкой информации;
позволяет быстро и в наиболее подходящем для конкретного человека виде просмотреть данные, что повышает их восприятие.
Все, выше изложенные преимущества, на сегодняшний день оценены не только рядовыми пользователями, но и руководителями предприятий и организаций, особенно это касается возможности контроля и поиска информации.
Данный программный продукт разработан для сотрудника предприятия занимающего должность секретаря.
Целью курсового проекта является создание автоматизированной системы, предназначенной для замены бумажных журналов входящих и исходящих документов, а также разрабатываемый программный продукт должен облегчить поиск, сортировку, ведение электронной документации, а также вести отчётность.
Система предназначена для повышения уровня организации работника занимаемого должность секретаря. Система позволит накапливать информацию об организациях с которыми работает данное предприятие, формировать отчеты по количеству отправленных и принятых документов, а так же поможет хранить электронный вид каждого документа что облегчет поиск
1. Теоретическая часть
1.1 Краткие сведения о структуре организации
Рисунок 1.1 - Структурная схема предприятия ОАО «Ярославльтелесеть»
Предприятие «Ярославльтелесеть» создано в июне 1998 года. Учредителем является Комитет по управлению муниципальным имуществом мэрии г. Ярославль.
Руководитель - директор Яблочкин Анатолий Юрьевич
Предприятие владеет: приемно-передающим центром MMDS; коаксиальными и оптоволоконными системами связи; телевизионной студией.
Основными видами деятельности предприятия являются:
- трансляция телевизионных программ по эфиру и кабельным сетям;
- оказание телекоммуникационных услуг (интернет и т.д.);
- размещение региональной рекламы на телевизионных каналах;
- телевизионное вещание собственного телевизионного канала;
- строительно-монтажные работы по монтажу и проектированию телекоммуникационных систем.
Предприятие имеет лицензии на осуществление телевизионного вещания, оказание услуг связи для целей эфирного и кабельного вещания на территории города Ярославля и Ярославской области, услуг телематических служб и услуг передачи данных, осуществление строительной деятельности по монтажу и проектированию наружных и внутренних инженерных сетей и систем. Предприятием зарегистрированы три электронных средства массовой информации с вещанием на территории города Ярославля и Ярославской области в сетевом партнерстве с телевизионными каналами ДТВ и ТНТ.
1.2 ER - диаграмма
Рисунок 1.2 - ER - диаграмма
1.3 Описание датологической модели
База данных разработана на основе Borland Database Engenee (BDE) с использованием таблиц Paradox v7. Для создания БД использовались следующие инструменты: BDE Administrator v5.01 и Database Desktop v7, входящие в комплект поставки Borland Delphi 7.
Таблица 1.1
EMPLOYEES (Справочник сотрудников)
Ключ |
Имя поля |
Обязательные поля |
Тип поля |
Длина поля |
Комментарий |
|
* (PK) |
ID_EMPLOYEE |
NOT NULL |
+ (Autoincement) |
Идентификатор |
||
FIO |
NOT NULL |
A (Alpha) |
63 |
ФИО сотрудника |
||
DATIVE_CASE |
NOT NULL |
A |
63 |
ФИО сотрудника в дательном падеже (кому) |
||
DESCRIPTION |
A |
255 |
Примечание |
Таблица 1.2
SENDERS (Справочник отправителей/получателей)
Ключ |
Имя поля |
Обязательные поля |
Тип поля |
Длина поля |
Комментарий |
|
* (PK) |
ID_SENDER |
NOT NULL |
+ |
Идентификатор |
||
SENDER |
NOT NULL |
A |
127 |
Наименование |
||
DESCRIPTION |
A |
255 |
Примечание |
Таблица 1.3
OUT_DOCS (Журнал исходящих документов)
Ключ |
Имя поля |
Обязательные поля |
Тип поля |
Длина поля |
Комментарий |
|
* (PK) |
ID_OUT_DOCS |
NOT NULL |
+ |
Идентификатор |
||
DATE |
NOT NULL |
@ (Timestamp) |
Дата документа |
|||
FK |
ID_ADDRESSEE |
NOT NULL |
I (Long Integer) |
Идентификатор получателя - ключ на таблицу SENDERS |
||
MAINTENANCE |
NOT NULL |
A |
255 |
Содержание |
||
FK |
ID_EXECUTOR |
NOT NULL |
I |
Идентификатор сотрудника (отправителя) - ключ на таблицу EMPLOYEES |
||
SCAN |
G (Blob Graphic) |
Графическое изображение документа (сканированная копия) |
Таблица 1.4
IN_DOCS (Журнал входящих документов)
Ключ |
Имя поля |
Обязательные поля |
Тип поля |
Длина поля |
Комментарий |
|
* (PK) |
ID_IN_DOCS |
NOT NULL |
+ |
Идентификатор |
||
DATE |
NOT NULL |
@ |
Дата регистрации документа |
|||
REF_NUM |
NOT NULL |
A |
15 |
Исходящий № |
||
SUMMARY |
NOT NULL |
A |
127 |
Краткое содержание |
||
FK |
ID_SENDER |
NOT NULL |
I |
Идентификатор отправителя - ключ на таблицу SENDERS |
||
FK |
ID_EXECUTOR |
NOT NULL |
I |
Идентификатор сотрудника (получателя) - ключ на таблицу EMPLOYEES |
||
NOTE |
A |
255 |
Примечания |
|||
DATE_GET |
NOT NULL |
D (Date) |
Дата получения |
|||
SCAN |
G |
Графическое изображение документа (сканированная копия) |
2. Проектная часть
2.1 Выбор средств разработки
ОС Microsoft Windows предоставляет пользователям оболочку графического интерфейса (GUI), которая обеспечивает стандартную среду пользователя и программиста. GUI предлагает более сложное и дружелюбное окружение пользователя, чем, например, командно-управляемый интерфейс DOS. Работа в Windows основана на интуитивно понятных принципах. Очень легко переключиться с задачи на задачу и осуществлять обмен информацией между ними. Однако разработчики приложений традиционно сталкиваются с трудностями программирования, поскольку организация среды Windows является чрезвычайно сложной.
Delphi - язык и среда программирования, относящаяся к классу RAD- (Rapid Application Development _ «Средство быстрой разработки приложений») средств CASE - технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим удовольствие. Приложения Windows, для создания которых требовалось большое количество человеческих усилий например в С++, теперь могут быть написаны одним человеком, использующим Delphi.
Интерфейс Windows обеспечивает полное перенесение CASE-технологий в интегрированную систему поддержки работ по созданию прикладной системы на всех фазах жизненного цикла работы и проектирования системы.
Delphi обладает широким набором возможностей, начиная от проектировщика форм и заканчивая поддержкой всех форматов популярных баз данных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Работая в Windows, можно увидеть одинаковые «объекты» во многих разнообразных приложениях. Диалоговые панели (например Choose File и Save File) являются примерами многократно используемых компонентов, встроенных непосредственно в Delphi, который позволяет приспособить эти компоненты к имеющийся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений. Та часть, которая непосредственно связана с программированием интерфейса пользователя системой, получила название визуальное программирование
Выгоды от проектирования Подсистемы в среде Windows с помощью Delphi:
Устраняется необходимость в повторном вводе данных;
Обеспечивается согласованность проекта и его реализации;
Увеличивается производительность разработки и переносимость программ.
Визуальное программирование как бы добавляет новое измерение при создании приложений, давая возможность изображать эти объекты на экране монитора до выполнения самой программы. Без визуального программирования процесс отображения требует написания фрагмента кода, создающего и настраивающего объект «по месту». Увидеть закодированные объекты было возможно только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, становится утомительным процессом, который требует неоднократных исправлений программного кода с последующей прогонкой программы и наблюдения за тем, что в итоге получилось.
Благодаря средствам визуальной разработки можно работать с объектами, держа их перед глазами и получая результаты практически сразу. Способность видеть объекты такими, какими они появляются в ходе исполнения программы, снимает необходимость проведения множества операций вручную, что характерно для работы в среде, не обладающей визуальными средствами -- вне зависимости от того, является она объектно-ориентированной или нет. После того, как объект помещен в форму среды визуального программирования, все его атрибуты сразу отображаются в виде кода, который соответствует объекту как единице, исполняемой в ходе работы программы.
Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются в форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы.
Три основные части разработки интерфейса следующие: проектирование панели, проектирование диалога и представление окон. Для Общего Пользовательского Доступа также должны учитываться условия применения Архитектуры Прикладных Систем.
2.2 Описание предметной области
Для того, чтобы правильно спроектировать информационную систему нужно рассмотреть сам процесс работы секретаря. При проектировании информационной системы использованы компьютерные CASE-технологии, так как современные CASE - технологии охватывают обширную область поддержки многочисленных технологий проектирования информационных систем: от простых средств анализа и документирования до полномасштабных средств автоматизации. CASE-технологии представляют собой совокупность методов проектирования информационных систем, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех стадиях разработки. Большинство существующих CASE-систем ориентировано на автоматизацию проектирования программного обеспечения и основано на методологиях структурного или объектно-ориентированного проектирования и программирования, использующих спецификации в виде диаграмм или текстов для описания системных требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.
Существуют много различных CASE-средств, таких как: Rational Rose, BPWin, Silverrun, Oracle Designer, JAM, Vantage Team Builder (Westmount I-CASE), esigner/2000 + Developer/2000 и. т. д. Для проектирования выбраны такие CASE-продукт, как Rational Rose и BPWin. Они занимают особое место в ряду CASE-продуктов визуального моделирования сложных программных систем, и обладают преимуществами в плане развития продукта.
Для того чтобы правильно реализовать поставленную задачу нужно рассмотреть модель работы секретаря по подсистемам. Это лучше всего сделать графически с помощью инструментального CASE-средства разработки Rational Rose. В рамках Rational Rose все представления о модели сложной системы фиксируются в виде специальных графических конструкций, получивших название диаграмм. Перечень этих диаграмм и их названия являются каноническими в том смысле, что представляют собой неотъемлемую часть графической нотации. При этом совокупность построенных диаграмм является самодостаточной в том смысле, что в них содержится вся информация, которая необходима для реализации проекта сложной системы. Каждая из диаграмм Rational Rose детализирует и конкретизирует различные представления о модели сложной системы. При этом диаграмма вариантов использования представляет собой наиболее общую концептуальную модель сложной системы. Суть диаграммы вариантов использования состоит в следующем: проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером или действующим лицом называется любая сущность, взаимодействующая с системой извне. В свою очередь, вариант использования служит для описания сервисов, которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с актером.
Рисунок 2.1 Диаграмма вариантов использования
На рисунке 2.1 представлено взаимодействие между вариантами использования и действующими лицами - актерами.
Рисунок 2.2 Диаграмма последовательностей действий
Рисунок 2.3 Диаграмма классов
Для того чтобы более тщательно проанализировать модель работы секретаря, определить входные и выходные данные и документы, используем другое инструментальное CASE-средство BPwin. Посредством набора графических инструментов для отображения действий и объектов, BPwin позволяет легко построить схему процесса, на которой показаны исходные данные, результаты операций, ресурсы, необходимые для их выполнения, управляющие воздействия, взаимные связи между отдельными работами. Интерактивное выделение объектов обеспечивает постоянную визуальную обратную связь при построении модели. BРwin поддерживает ссылочную целостность, не допуская определения некорректных связей и гарантируя непротиворечивость отношений между объектами при моделировании. BPwin предлагает средство для сбора всей необходимой информации о работе секретаря и графического изображения этой информации в виде целостной и непротиворечивой модели.
Первая диаграмма в иерархии диаграмм IDEF0 всегда изображает функционирование системы в целом.
Такие диаграммы называются контекстными. В контекст входит описание цели моделирования, области (описания того, что будет рассматриваться как компонент системы, а что как внешнее воздействие) и точки зрения (позиции, с которой будет строиться модель).
Контекстная диаграмма будет выглядеть следующим образом (Рис. 2.4):
Рисунок 2.4 - Контекстная диаграмма
Двумя наиболее важными компонентами, из которых построена контекстная диаграмма, являются работа (представленная на диаграмме в виде прямоугольника) и объекты (изображаемые в виде стрелок).
Рисунок 2.5 Диаграмма декомпозиции
Рисунок 2.6 Диаграмма IDEF0 - потоков данных
2.3 Сценарий работы приложения
Работа приложения начинается с главной формы проекта, изображенной на рисунке 2.7.
Далее пользователь может выбрать посредством Меню, с чем на данный момент он хочет работать. В пункте меню Документы можно выбрать исходящий или входящий документ, т.е. документ который необходимо обработать (рис. 2.8)
Рисунок 2.8. - Форма Входящий документ
В меню Справочники пользователь может выбрать Отправителя/Получателя, Сотрудника (рис. 2.9).
Рисунок 2.9 - Форма Сотрудники компании
В меню Отчеты можно сформировать отчет по исходящей и входящей документации (рис. 2.10).
Рисунок 2.10 - Форма отчет по исходящим документам
Заключение
В настоящее время документооборот организован стандартным способом, то есть без какого-либо использования средств вычислительной техники. Исключение здесь может служить только то, что почти все документы создаются и выводятся на бумагу при помощи компьютера и принтера, но говорить о каком-либо учете и систематизации в данной ситуации нельзя.
В результате курсовой работы была разработана программа «АРМ Секретаря».
Программа предназначена для того, чтобы облегчить рутинный труд секретаря, тратящего ежедневно массу времени на бумажную работу.
У данного приложения удобный интерфейс, рассчитанный на не подготовительного пользователя.
Список литературы
Никитина Т.П. Введение в базы данных: учебное пособие / Т.П. Никитина ; Международный университет бизнеса и новых технологий /институт/. - Ярославль : РИЦ МУБиНТ, 2007. - 165 с.
Вейцман ВМ. Проектирование экономических информационных систем: Учебное пособие. - Яр.: МУБиНТ, 2002, - 213 с., ил.
Приложения
Листинг программы
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, Menus, ImgList, ComCtrls, ToolWin, Buttons, DBGrids,
ClipBrd, DB, COMObj, Excel97, ShellApi, CoolTrayIcon, IniFiles, DateUtils;
type
TMainForm = class(TForm)
XPM: TXPManifest;
MMenu: TMainMenu;
MenuIconsIL: TImageList;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
MainStatusBar: TStatusBar;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
MainToolBar: TToolBar;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
mainPopupMenu: TPopupMenu;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
N32: TMenuItem;
N33: TMenuItem;
N34: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
cti: TCoolTrayIcon;
TIPopupMenu: TPopupMenu;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
N38: TMenuItem;
N39: TMenuItem;
N40: TMenuItem;
N41: TMenuItem;
ToolButton23: TToolButton;
ToolButton24: TToolButton;
ToolButton25: TToolButton;
N42: TMenuItem;
procedure N4Click(Sender: TObject);
procedure N8Click(Sender: TObject);
function IsMDIChildOpen(const AMDIChildName: string): Boolean;
procedure N2Click(Sender: TObject);
procedure CloseAllMDIChild(Sender: TObject);
procedure MinimizedAllMDIChild(Sender: TObject);
procedure MaximizedAllMDIChild(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N28Click(Sender: TObject);
procedure N29Click(Sender: TObject);
procedure N30Click(Sender: TObject);
procedure N32Click(Sender: TObject);
procedure N33Click(Sender: TObject);
procedure N34Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N35Click(Sender: TObject);
procedure N36Click(Sender: TObject);
procedure ctiDblClick(Sender: TObject);
procedure N38Click(Sender: TObject);
procedure SaveSettings;
procedure LoadSettings;
procedure FormCreate(Sender: TObject);
procedure N42Click(Sender: TObject);
private
public
{ Public declarations }
end;
var
MainForm: TMainForm;
grd: TDBGrid;
CloseFromTray: Boolean;
implementation
uses AboutF, GloVars, misc, EmpUnit, SndUnit, Math, sGrid2Excel, ODUnit,
IDUnit, EmployeeUnit, OptUnit, SenderUnit, ODocUnit, ROUnit, IDocUnit,
DMUnit, SCUnit;
{$R *.dfm}
// Распахнуть все дочерние окна
procedure TMainForm.MaximizedAllMDIChild(Sender: TObject);
var
i: Integer;
begin
with MainForm do
for i := MDIChildCount - 1 downto 0 do
MDIChildren[i].WindowState := wsMaximized;
end;
// Минимизировать все дочерние окна
procedure TMainForm.MinimizedAllMDIChild(Sender: TObject);
var
i: Integer;
begin
with MainForm do
for i := MDIChildCount - 1 downto 0 do
MDIChildren[i].WindowState := wsMinimized;
end;
// Процедура закрытия всех дочерних окон
procedure TMainForm.CloseAllMDIChild(Sender: TObject);
var
i: Integer;
begin
with MainForm do
for i := MDIChildCount - 1 downto 0 do
MDIChildren[i].Close;
end;
// Функция, которая проверяет открыто ли указанное дочернее окно
function TMainForm.IsMDIChildOpen(const AMDIChildName: string): Boolean;
var
i: integer;
begin
Result := False;
with MainForm do
for i := Pred(MDIChildCount) DownTo 0 do
if MDIChildren[i].Name = AMDIChildName then
begin
Result := True;
Break;
end;
end;
// Закрыть программу
procedure TMainForm.N4Click(Sender: TObject);
begin
CloseFromTray := false;
Close;
end;
// Показать сведения о программе
procedure TMainForm.N8Click(Sender: TObject);
begin
ShowAbout
end;
// Закрыть активное дочернее окно
procedure TMainForm.N2Click(Sender: TObject);
begin
if ActiveMDIChild <> nil then
ActiveMDIChild.Close
end;
// Расположить дочерние окна каскадом
procedure TMainForm.N16Click(Sender: TObject);
begin
Cascade
end;
// Расположить дочерние окна вертикально
procedure TMainForm.N17Click(Sender: TObject);
begin
TileMode := tbVertical;
Tile;
end;
// Расположить дочерние окна горизонтально
procedure TMainForm.N18Click(Sender: TObject);
begin
TileMode := tbHorizontal;
Tile;
end;
// Показать/скрыть строку состояния
procedure TMainForm.N11Click(Sender: TObject);
begin
MainStatusBar.Visible := N11.Checked
end;
// Показать/скрыть панель инструментов
procedure TMainForm.N10Click(Sender: TObject);
begin
MainToolBar.Visible := N10.Checked
end;
// Открытие формы со списком сотрудников
procedure TMainForm.N21Click(Sender: TObject);
begin
if IsMDIChildOpen('EmpForm') then
EmpForm.Show
else
EmpForm := TEmpForm.Create(Owner);
end;
// Изменение доступности пункта меню "Закрыть окно" в зависимости
// от того, активно ли какое-либо дочернее окно
procedure TMainForm.N1Click(Sender: TObject);
var
i: Integer;
begin
N2.Enabled := (MainForm.ActiveMDIChild <> nil);
N22.Enabled := false;
N24.Enabled := false;
N25.Enabled := false;
grd := nil;
if MainForm.ActiveMDIChild <> nil then
for i := 0 to MainForm.ActiveMDIChild.ComponentCount - 1 do
if MainForm.ActiveMDIChild.Components[i].ClassName = 'TDBGrid' then
begin
grd := (MainForm.ActiveMDIChild.Components[i] as TDBGrid);
N22.Enabled := true;
N24.Enabled := true;
N25.Enabled := true;
Break;
end;
end;
// Изменение доступности пунктов подменю "Окна..." в зависимости
// от того, открыто ли хотя бы одно дочернее окно
procedure TMainForm.N13Click(Sender: TObject);
var
flag: Boolean;
i: Integer;
begin
flag := (MainForm.MDIChildCount > 0);
for i := 14 to 19 do
(FindComponent('N' + IntToStr(i)) as TMenuItem).Enabled := flag
end;
// Открытие формы со списком отправителей
procedure TMainForm.N23Click(Sender: TObject);
begin
if IsMDIChildOpen('SndForm') then
SndForm.Show
else
SndForm := TSndForm.Create(Owner);
end;
// Сохранение в файл таблицы данных
procedure TMainForm.N22Click(Sender: TObject);
var
ExcelApp: Variant;
begin
if grd <> nil then
try
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := False;
ExcelApp.WorkBooks.Add(xlWBatWorkSheet);
ExcelApp.DisplayAlerts := False;
ExcelApp.WorkBooks[1].WorkSheets[1].name := grd.DataSource.DataSet.Name;
if CopyGRDToClb(grd) then
begin
ExcelApp.Workbooks[1].WorkSheets[grd.DataSource.DataSet.Name].Paste;
ExcelApp.Visible := true;
end;
ExcelApp := Unassigned;
except on E: Exception do
begin
ExcelApp := Unassigned;
Application.MessageBox(PChar(E.Message), 'Ошибка выгрузки!', MB_ICONERROR);
end;
end;
end;
// Копирование таблицы в буфер обмена
procedure TMainForm.N25Click(Sender: TObject);
begin
if grd <> nil then
CopyGRDToClb(grd)
end;
// Открытие журнала исходящих документов
procedure TMainForm.N27Click(Sender: TObject);
begin
if IsMDIChildOpen('ODForm') then
ODForm.Show
else
ODForm := TODForm.Create(Owner);
end;
// Открытие журнала входящих документов
procedure TMainForm.N28Click(Sender: TObject);
begin
if IsMDIChildOpen('IDForm') then
IDForm.Show
else
IDForm := TIDForm.Create(Owner);
end;
// Отображение окна с информацией по отдельной записи данных
procedure TMainForm.N29Click(Sender: TObject);
begin
if MainForm.ActiveMDIChild <> nil then
begin
if MainForm.ActiveMDIChild.Name = 'EmpForm' then
EmployeeForm.ShowModal
else if MainForm.ActiveMDIChild.Name = 'SndForm' then
SenderForm.ShowModal
else if MainForm.ActiveMDIChild.Name = 'ODForm' then
ODocForm.ShowModal
else if MainForm.ActiveMDIChild.Name = 'IDForm' then
IDocForm.ShowModal;
end;
end;
// Вызов окна настроек программы
procedure TMainForm.N30Click(Sender: TObject);
begin
OptForm.ShowModal
end;
// Вызов окна настроек отчёта
procedure TMainForm.N32Click(Sender: TObject);
begin
ROForm.RadioGroup1.Visible := true;
ROForm.RadioGroup2.Visible := false;
ROForm.Caption := 'Журнал документов';
ROForm.ShowModal;
end;
// Вызов окна настроек отчёта
procedure TMainForm.N33Click(Sender: TObject);
begin
ROForm.RadioGroup1.Visible := false;
ROForm.RadioGroup2.Visible := true;
ROForm.RadioGroup2.Items[0] := 'по исполнителям';
ROForm.RadioGroup2.Items[1] := 'по отправителям';
ROForm.Caption := 'Входящие документы';
ROForm.ShowModal;
end;
// Вызов окна настроек отчёта
procedure TMainForm.N34Click(Sender: TObject);
begin
ROForm.RadioGroup1.Visible := false;
ROForm.RadioGroup2.Visible := true;
ROForm.RadioGroup2.Items[0] := 'по исполнителям';
ROForm.RadioGroup2.Items[1] := 'по получателям';
ROForm.Caption := 'Исходящие документы';
ROForm.ShowModal;
end;
// При закрытии приложения
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if (ToTrayOnClose) and (not CloseFromTray) then
begin
CanClose := false;
N36Click(Sender);
end
else
if Application.MessageBox('Вы уверены, что хотите завершить работу?', 'Внимание!', MB_YESNO + MB_ICONINFORMATION) = idYes then
begin
SaveSettings;
CanClose := true;
end
else
CanClose := false;
end;
// Показ из трэя
procedure TMainForm.N35Click(Sender: TObject);
begin
cti.ShowMainForm;
N36.Enabled := true;
end;
// Сворачивание в трэй
procedure TMainForm.N36Click(Sender: TObject);
begin
Application.Minimize;
cti.HideMainForm;
N36.Enabled := false;
end;
// Двойное нажатие в трэе
procedure TMainForm.ctiDblClick(Sender: TObject);
begin
if N36.Enabled then
N36Click(Sender)
else
N35Click(Sender)
end;
// При закрытии программы из трэя
procedure TMainForm.N38Click(Sender: TObject);
begin
CloseFromTray := true;
Close
end;
// Загрузка настроек из ini-файла
procedure TMainForm.LoadSettings;
var
ini: TIniFile;
y: Integer;
begin
y := YearOf(Now);
ToTrayOnClose := true;
ini := TIniFile.Create(optFile);
try
y := ini.ReadInteger('Main', 'Year', y);
if y < 0 then
y := YearOf(Now);
ToTrayOnClose := ini.ReadBool('Main', 'ToTrayOnClose', true);
finally
ini.Free;
end;
while not awpsDM.Years.Eof do
begin
if awpsDM.Yearsdd.AsInteger = y then
break;
awpsDM.Years.Next;
end;
if awpsDM.Yearsdd.IsNull then
begin
y := YearOf(Now);
awpsDM.Years.First;
while not awpsDM.Years.Eof do
begin
if awpsDM.Yearsdd.AsInteger = y then
break;
awpsDM.Years.Next;
end;
end;
end;
// Сохранение настроек приложения
procedure TMainForm.SaveSettings;
var
ini: TIniFile;
begin
if not FileExists(optFile) then
FileClose(FileCreate(optFile));
ini := TIniFile.Create(optFile);
try
if not awpsDM.Yearsdd.IsNull then
ini.WriteInteger('Main', 'Year', awpsDM.Yearsdd.AsInteger);
ini.WriteBool('Main', 'ToTrayOnClose', ToTrayOnClose);
finally
ini.Free;
end;
end;
// При создании главной формы
procedure TMainForm.FormCreate(Sender: TObject);
begin
CloseFromTray := false;
LoadSettings;
end;
// Настройка видимости колонок таблицы
procedure TMainForm.N42Click(Sender: TObject);
var
i: Integer;
begin
if grd <> nil then
with SCForm do
begin
CheckListBox1.Clear;
for i := 0 to grd.Columns.Count - 1 do
begin
CheckListBox1.Items.Add(grd.Columns[i].Title.Caption);
CheckListBox1.Checked[CheckListBox1.Items.Count - 1] :=
grd.Columns[i].Visible;
end;
ShowModal;
end;
end;
end.
Размещено на Allbest.ru
Подобные документы
Обоснование необходимости и основные цели использования вычислительной техники для решения задачи. Используемые классификаторы и системы кодирования. Программное обеспечение разработки автоматизированного рабочего места. Описание программных модулей.
дипломная работа [3,9 M], добавлен 11.08.2015Определение общих требований к организации автоматизированного рабочего места. Создание модели автоматизированного рабочего места менеджера фирмы "Информстиль". Разработка базы данных и описание алгоритма программы по учету продаж вычислительной техники.
дипломная работа [2,9 M], добавлен 03.07.2015Анализ предметной области и описание основных функциональных подсистем автоматизированного рабочего места администратора кинотеатра "Мир". Разработка инфологической модели базы данных и заполнение форм данных. Обеспечение безопасности и доступа к данным.
курсовая работа [4,4 M], добавлен 27.12.2014Данные предметной области, содержащие информацию, необходимую для разработки автоматизированного рабочего места. Выбор средств разработки. Структура базы данных. Вывод данных, статистика распределения нагрузки. Разработка руководства оператора.
дипломная работа [8,4 M], добавлен 19.10.2012Общие сведения по использованию базы данных. Описание предметной области программы. Выбор средств программирования для разработки приложений, технология работы. Оценка автоматизированного рабочего места продавца компакт-дисков в среде Borland C++ Builder.
курсовая работа [1,3 M], добавлен 24.12.2010Общее описание предметной области и бизнес-процессов. Описание подразделов "Продажа продукции" с помощью Use Case Diagram. Прецедент операции над данными справочников. Создание базы данных в SQL Server. Проектировнаие таблиц, отчетов и запросов.
курсовая работа [337,2 K], добавлен 23.04.2015Задачи, функция и структура выбранной организации. Выявление и оценка информационных потоков. Разработка автоматизированного рабочего места сотрудника с использованием Microsoft Access. Описание концептуальной и логической моделей объекта, тестирование.
дипломная работа [7,8 M], добавлен 21.01.2012Описание модели организации. Определение уровня зрелости процессов управления. Использование итерационной методологии проектирования информационных систем. Внедрение информационной системы. Повышение производительности труда секретаря судебного заседания.
дипломная работа [1,2 M], добавлен 25.02.2016История создания и развития ОАО "Торговый дом Воткинский завод". Состояние организации документооборота на предприятии; анализ причин, влияющих на его ритмичность, оперативность и качество. Создание автоматизированного рабочего места секретаря-референта.
дипломная работа [3,9 M], добавлен 25.03.2011Анализ информационных систем деятельности культурно-оздоровительных центров. Создание автоматизированного рабочего места специалиста по работе с клиентами санатория. Построение модели предметной области, описание полей таблиц; верификация программы.
дипломная работа [1,8 M], добавлен 16.09.2016