Создание ИС по учету сведений о вычислительной технике на предприятии

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.12.2012
Размер файла 916,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Пояснительная записка к курсовому проекту

Создание ИС по учету сведений о вычислительной технике на предприятии

Введение

На любом предприятии существует вычислительная техника, которой пользуются различные сотрудники предприятия. Вычислительная техника находится в разных кабинетах. Состав вычислительной техники характеризуется следующими показателями: наименование, серийный и инвентарный номер.

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

Цель работы, задачи для решения поставленной цели

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

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

· Исследование предметную область;

· Разработать концептуальную модель и базовую архитектуры программно-аппаратного комплекса;

· Выбрать программно-аппаратную платформу и среды разработки;

· Обеспечить интуитивно-понятный пользовательский интерфейс;

· Создать автоматизированную систему управления.

Объект исследования, предмет исследования

Объектом исследования являются процессы записи и хранения информации, а также способы пользования этими записями.

Предметом исследования является разрабатываемое программное средство, которое должно реализовывать процессы, описанные как объект.

Методы исследования

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

Гипотезы исследования

Внедрение программного средства позволит:

· определить список программ, необходимых для работы персонала предприятия и отдельного пользователя;

· определить список пользователей сети;

· облегчить работу системного администратора, так как информация о программном обеспечении сети будет храниться не на бумажном носителе, а в структурированной СУБД.

Актуальность

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

Структура объема работ

Разработка должна быть проведена в несколько стадий:

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

· Техническо-рабочий проект.

Разработка технического проекта. Утверждение технического проекта. Разработка и тестирование проекта.

· Внедрение.

· Подготовка и передача проекта.

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

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

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

· Исследовать предметную область;

· Построить логическую и концептуальную модель;

· Выбрать набор программных средств для реализации проекта;

· Протестировать проект;

· Протестировать проект;

· Внедрить проект.

Требования к программному средству.

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

· Наименование;

· Серийный номер;

· Инвентарный номер;

· Кабинет, в котором находится ВТ;

· Ф.И.О. сотрудника, за которым закреплена ВТ.

Программное средство должно:

· Быть рассчитано на простого пользователя ПК;

· Быть просто в обращении, за счёт доступного интерфейса;

· Иметь удобную навигацию по разделам программного средства;

· Иметь возможность вывода отчета.

архитектура программный аппаратный интерфейс

1.2 Требования к составу и параметрам технических средств

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

Поддерживается операционными системами Windows XP/7/Vista, так как является приложением WIN32.

Для работы программного средства необходимо иметь компонент для работы с базами данных Access.

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

· Процессор с тактовой частотой не менее 1.6 GHz;

· Свободное место на жестком диске не менее 300 Мб;

· Оперативная память не менее 512 Мб;

· Клавиатура, мышь, монитор;

1.3 Анализ и состав входящей информации:

Входящая информация включает в себя:

· полное название ВТ;

· серийный номер;

· инвентарный номер;

· кабинет;

· Ф.И.О. сотрудника.

1.4 Анализ и состав исходящей информации:

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

1.5 Структура базы данных

Таблица 1.5.1 - Список оборудования

Имя поля

Данные

Наименование

Тип данных текстовый.

№ серийный

Тип данных числовой. Длинное целое.

№ инвентарный

Тип данных числовой. Длинное целое.

Кабинет

Тип данных числовой.

Ф.И.О.

Тип данных текстовый.

Таблица 1.5.2 - Тип оборудования

Имя поля

Данные

Порядковый номер

Тип данных счетчик.

Таблица 1.5.3 - Список кабинетов

Имя поля

Данные

Порядковый номер

Тип данных счетчик.

№ кабинета

Тип данных числовой.

Таблица 1.5.4 - Список пользователей

Имя поля

Данные

Ф.И.О.

Тип данных текстовый.

Должность

Тип данных текстовый. Максимальное количество символов 50.

Рис. 1.5.5 - Схема данных

2. Проектирование и программная реализация программного продукта

  • 2.1 выбор среды программирования
    • Borland Delphi 7 - это объектно-ориентированная среда визуального программирования (RAD - Rapid Application Development). Она предназначена для ускоренной разработки высокопроизводительных 32-битных приложений, которые могут работать в среде Windows или Linux. При этом Delphi позволяет свести к минимуму объем вводимого вручную программного кода. В состав Delphi входят средства, необходимые для разработки, тестирования и установки приложений, включая обширную библиотеку компонентов (VCL - Visual Components Library), средства визуального проектирования, шаблоны приложений и форм, а также различные мас-теры.
    • Visual Basic for Applications (VBA, Visual Basic для приложений) - немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.
    • VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic. VBA, будучи языком, построенным на COM, позволяет использовать все доступные в операционной системе COM объекты и компоненты ActiveX. По сути, возможно создание приложения на основе Microsoft Word VBA, использующего только средства Corel Draw.
    • В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) - инструментарий расширения функциональности приложений, основанный на Microsoft.NET.
    • Достоинства и недостатки
    • К достоинствам языка можно отнести сравнительную лёгкость освоения, благодаря которой приложения могут создавать даже пользователи, не программирующие профессионально.
    • К недостаткам именно VBA, если не рассматривать недостатки Basic в целом, можно отнести невозможность создания более-менее автономного кода и слишком высокую открытость кода для случайного изменения.
    • C++ Builder - программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.
    • Изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, которое сейчас принадлежит компании Embarcadero Technologies.
    • C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi[1]. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.
    • C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр.
    • 2.2 Выбор СУБД
    • Firebird (FirebirdSQL) - компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
    • В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
    • Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.
    • Interbase - СУБД от компании Borland.
    • В настоящее время последней версией является InterBase 2009 (2009), в которой появилась поддержка Unicode и шифрование AES/DES. InterBase 7.5/2007 и Firebird 1.5/2.0 похожи, но уже далеки от полной совместимости-то есть миграция между их форматами баз данных легче, чем между форматами совсем «чужих» баз данных, но все же сопряжена с определенными проблемами.
    • Основными достоинствами последней версии InterBase являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы, встраиваемая аутентификация пользователей, журналирование. Традиционным достоинством считается кросс-платформенность - InterBase поддерживает Linux, Microsoft Windows, Unix и Solaris.
    • Microsoft SQL Server - система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.
    • Microsoft Office Access или просто Microsoft Access - реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
    • 2.3 Технологии разработки
    • Данные в виде одного или нескольких файлов размещаются на файловом сервере. Файловый сервер принимает запросы, поступающие по сети от компьютеров-клиентов, и передает им требуемые данные. Однако обработка этих данных выполняется на компьютерах-клиентах. На каждом из компьютеров запускается полная копия процессора обработки данных Jet Engine. Любая копия Jet независимо управляет файлами MDB, содержащими данные. Единственная связь между этими независимыми действиями - файл блокировок (файл, который имеет имя, совпадающее с именем файла приложения, но с расширением Idb), который обязательно создается для каждого файла базы данных с расширением mdb. При этом каждая копия Jet выполняет изменения индексов, работу с системными таблицами и другие функции, входящие в компетенцию СУБД.
    • В архитектуре «клиент-сервер» сервер базы данных не только обеспечивает доступ к общим данным, но и берет на себя всю обработку этих данных. Клиент посылает на сервер запросы на чтение или изменение данных, которые формулируются на языке SQL. Сервер сам выполняет все необходимые изменения или выборки, контролируя при этом целостность и согласованность данных, и результаты в виде набора записей или кода возврата посылает на компьютер клиента.
    • 2.4 Интерфейс
    • Рис. 2.4.1 - Главная форма
    • На главной форме расположено 5 кнопок: Список оборудования, Тип оборудования, Список кабинетов, Список пользователей и Выход.
    • При нажатии на кнопку Список оборудования появляется форма, которая показана на рисунке 2.4.2.
    • Рис. 2.4.2 - Список оборудования
    • На этой форме показана база данных и 4 кнопки: Добавить, Удалить, Отчет и Назад. При нажатии на кнопку Добавить появляется форма Новое оборудование, показанная на рисунке 2.4.3, на которой имеются кнопки Сохранить и Назад.
    • Рис. 2.4.3 - Новое оборудование
    • При нажатии на кнопку Отчет на форме Список оборудования выводится отчёт в Excel, как показано на рисунке 2.4.4.
    • Рис. 2.4.4 - Отчет в Excel
    • При нажатии на кнопку Тип оборудования на Главной форме появляется форма Тип оборудования, показанная на рисунке 2.4.5.
    • Рис. 2.4.5 - Тип оборудования
    • На этой форме также имеются кнопки Добавить, Удалить и Назад. При нажатии на кнопку Добавить появляется форма Новый тип, на которой также имеются кнопки Сохранить и Назад.
    • Рис. 2.4.6 - Новый тип
    • При нажатии кнопки Список кабинетов на главной форме, появляется форма Список кабинетов, на которой имеется БД и кнопки Добавить, Удалить, Назад.
    • Рис. 2.4.7 - Список кабинетов
    • При нажатии на кнопку Добавить появляется форма Новый кабинет, на которой также имеются кнопки Сохранить и Назад.
    • Рис. 2.4.8 - Новый кабинет
    • При нажатии на кнопку Список пользователей на Главной форме появляется форма Список пользователей, на которой имеется БД и кнопки Добавить, Удалить, Назад.
    • Рис. 2.4.9 - Список пользователей
    • При нажатии на кнопку Добавить появляется форма Новый пользователь, на которой также имеются кнопки Сохранить и Назад.
    • Рис. 2.4.10 - Новый пользователь
    • При нажатии на кнопку Выход на главной форме появляется окно, показанное на рисунке 2.4.11.
    • При нажатии на кнопку Да программа закрывается.
    • 2.5 Существующие системы разработки ПС. Обоснование выбора ПО, СУБД для разработки и хранения данных
    • Для разработки программного средства следует использовать Delphi 7 компании Borland. Так же для разработки программного средства использовался программный продукт Microsoft Office Access, так как для использования созданного программного средства не должно требоваться специальное программное обеспечение. Это позволит установить созданный программный продукт на любой компьютер локальной сети предприятия.
    • Использование Delphi 7 обуславливается его широкими возможностями работы с базами данных, большой простотой и удобством.
    • 2.6 Механизм исполнения
    • Borland Delphi 7 это высокопроизводительный инструмент создания приложений.
    • Главные составные части среды программирования
    • · Дизайнер Форм (Form Designer)
    • · Окно Редактора Исходного Текста (Editor Window)
    • · Палитра Компонент (Component Palette)
    • · Инспектор Объектов (Object Inspector)
    • · Справочник (On-line help)
    • Каждый компонент, который помещается на форму, имеет свое отражение в окне Инспектора Объектов (Object Inspector). Object Inspector имеет две «странички» - «Properties» (Свойства) и «Events» (События). Создание программного средства в Delphi сводится к «нанесению» компонента на форму и настройке взаимодействия между ними путем:
    • · Изменения значения свойств этих компонентов;
    • · Написания адекватных реакций на события.
    • Существует несколько типов свойств:
    • Простые свойства - это те, значения которых являются числами или строками. Например, свойства Left и Top принимают целые значения, определяющие положение левого верхнего угла компонента или формы. Свойства Caption и Name представляют собой строки и определяют заголовок и имя компонента или формы
    • Заключение
    • В введении курсовой работы описывается цели и задачи данной курсовой работы. Определяются объект и методы исследования для разработки программного средства. Обозначается гипотеза и актуальность разрабатываемого программного средства.
    • В первом разделе курсовой работы описывается постановка задачи данной курсовой работы. Предъявляются требования к составу и параметрам технических средств. Происходит анализ входящей и исходящей информации. Определяется структура таблиц и типы данных столбцов
    • Во втором разделе курсовой работы происходит создание декомпозиции диаграмм. Показывается потоки данных в разрабатываемом программном средстве. Описывается обоснование выбора ПО и СУБД для разработки и хранения данных. Определяются механизм исполнения для создания данного программного средства.
    • Положительной характеристикой данного программного средства является его относительно не большие требования к составу и параметрам технических средств.
    • Отрицательной характеристикой данного программного средства является отсутствие возможности работы как сетевое приложение.
    • Литература

1. Агафонов, В.В. Диаграммы потоков данных, [Электронный ресурс]. Режим доступа: http://www.citforum.ru/programming/oop_rsis/glava2_ 6_1.shtml.

2. Рябко, Б.Я. Трехуровневая архитектура СУБД, [Электронный ресурс]. Режим доступа: http://www-sbras.nsc.ru/win/docs/db/rdbms/1-3.html.

3. Кричевский, Г.Е. Инфологическая модель данных «Сущность-связь», [Электронный ресурс]. Режим доступа: http://www.citforum.ru/database/ dbguide/2-1.shtml.

4. Минаев, Д.В. Delphi - что это, [Электронный ресурс]. Режим доступа: http://delphi.uz/illyustrirovannyi-samouchitel/vvedenie.html.

5. Вихляев, Н.М. Borland Delphi, [Электронный ресурс]. Режим доступа: http://www.helloworld.ru/texts/comp/lang/delphi/delphi1/les00.htm.

6. Лишер, Р.Р. Delphi. Справочник, Р.Р. Лишер. - Пер. с англ. - СПб.: Символ-Плюс, 2006. - 458 с.

7. Фарафонов, В.Л. Программирование баз данных в Delphi. Учебный курс, В.Л. Фарафонов. - СПб.: Питер, 2004. - 325 с.

8. Свердлов, С.В. СУБД MS Access, [Электронный ресурс]. Режим доступа: http://www.accessoft.ru/Text/Text10.html.

9. Рузайкин, Г.Д. MS Access 2003, [Электронный ресурс]. Режим доступа: http://lessons-tva.info/subscribe_access.html.

10. Коннолли. Т.Л. Базы данных: проектирование, реализация и сопровождение, Т.Л. Коннолли. - Теория и практика, 2-е изд. - М.: Издательский дом «Вильямс», 2001. - 405 с.

Приложение А

Код программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

XPManifest1: TXPManifest;

procedure Button4Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button5Click (Sender: TObject);

procedure FormClose (Sender: TObject; var Action: TCloseAction);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

uses Unit4, Unit2, Unit3, Unit8;

{$R *.dfm}

procedure TForm1. Button4Click (Sender: TObject);

begin

close;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

 // выборка в таблицу roomlist

form4.ADOQuery1.SQL. Clear;

form4.ADOQuery1.SQL. Text:=('select * from roomlist');

form4.ADOQuery1. Active:=true;

form4.ADOQuery1. Active:=true;

form4.DBGrid1. DataSource:=form4. DataSource1;

form4. Show;

form1. Hide;

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

 // выборка в таблицу hardlist

formІ.ADOQuery1.SQL. Clear;

formІ.ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name, hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');

formІ.ADOQuery1.SQL.add ('FROM hardtype INNER JOIN (roomlist INNER JOIN (Polzovateli INNER JOIN hardlist ON Polzovateli.id = hardlist.FIO) ON roomlist.id = hardlist.room) ON hardtype.id = hardlist.tupe;');

formІ.ADOQuery1. Active:=true;

formІ.ADOQuery1. Active:=true;

formІ.DBGrid1. DataSource:=formІ.DataSource1;

formІ.Show;

form1. Hide;

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

 //// выборка в таблицу hardtype

formі.ADOQuery1.SQL. Clear;

formі.ADOQuery1.SQL. Text:=('select * from hardtype');

formі.ADOQuery1. Active:=true;

formі.ADOQuery1. Active:=true;

formі.DBGrid1. DataSource:=formі.DataSource1;

formі.Show;

form1. Hide;

end;

procedure TForm1. FormShow (Sender: TObject);

begin

 // выравнивание формы по центру экрана

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TForm1. Button5Click (Sender: TObject);

begin

form8.ADOQuery1.SQL. Clear;

form8.ADOQuery1.SQL. Text:=('select * from polzovateli');

form8.ADOQuery1. Active:=true;

form8.ADOQuery1. Active:=true;

form8.DBGrid1. DataSource:=form8. DataSource1;

form8. Show;

form1. Hide;

end;

procedure TForm1. FormClose (Sender: TObject; var Action: TCloseAction);

begin

if MessageBox (0,'Вы действительно хотите выйти', 'Закрытие', MB_YESNO or MB_ICONQUESTION) = 7 then

Action:= caNone;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, XPMan, Comobj;

type

TFormІ = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

Button1: TButton;

Button2: TButton;

Button3: TButton;

ADOQuery2: TADOQuery;

ADOQuery3: TADOQuery;

XPManifest1: TXPManifest;

Button4: TButton;

procedure Button3Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button4Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

FormІ: TFormІ;

implementation

uses Unit1, Unit4, Unit5;

{$R *.dfm}

procedure TFormІ.Button3Click (Sender: TObject);

begin

form1. Show;

formІ.Hide;

end;

procedure TFormІ.Button2Click (Sender: TObject);

var id: integer;

begin

 // удаление записей из hardlist

id:=adoquery1. FieldByName('id').AsInteger;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from hardlist where id ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

formІ.ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name, hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');

formІ.ADOQuery1.SQL.add ('FROM hardtype INNER JOIN (roomlist INNER JOIN (Polzovateli INNER JOIN hardlist ON Polzovateli.id = hardlist.FIO) ON roomlist.id = hardlist.room) ON hardtype.id = hardlist.tupe;');

DataSource1. DataSet:= ADOQuery1;

ADOQuery1. Active:=true;

DBGrid1. DataSource:=DataSource1;

ADOQuery1. Open;

if MessageBox (Handle, 'Удалить?', 'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление, вывод окна с подтверждением на удаление)

end;

procedure TFormІ.Button1Click (Sender: TObject);

var d, s, f: integer;

begin

 // кнопка добавить

formІ.Hide;

form5.show;

form5. Edit2. Text:='';

FormІ.ADOQuery1.SQL. Text:='SELECT * FROM roomlist';

FormІ.ADOQuery1. Active:=True;

for d:=1 to FormІ.ADOQuery1. RecordCount do

begin

form5. ComboBox1. Items. Add (FormІ.ADOQuery1. FieldbyName('number').Value);

formІ.ADOQuery1. Next;

 //////////////////////////////////////////////////////////////////////

FormІ.ADOQuery2.SQL. Text:='SELECT * FROM hardtype';

FormІ.ADOQuery2. Active:=True;

for s:=1 to FormІ.ADOQuery2. RecordCount do

begin

form5. ComboBox2. Items. Add (FormІ.ADOQuery2. FieldbyName('name').Value);

formІ.ADOQuery2. Next;

 //////////////////////////////////////////////////////////////////////////////

FormІ.ADOQuery3.SQL. Text:='SELECT * FROM Polzovateli';

FormІ.ADOQuery3. Active:=True;

for f:=1 to FormІ.ADOQuery3. RecordCount do

begin

form5. ComboBox3. Items. Add (FormІ.ADOQuery3. FieldbyName('FIO').Value);

formІ.ADOQuery3. Next;

end; end; end; end;

 // выравнивание формы по центру экрана

procedure TFormІ.FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TFormІ.Button4Click (Sender: TObject);

var

XLApp, Sheet, Colum: Variant;

index, i: Integer;

begin

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

XLApp. Visible:=true;

XLApp. Workbooks. Add(-4167);

XLApp. Workbooks[1].Worksheets[1].Name:='Отчет';

Colum:=XLApp. Workbooks[1].Worksheets['Отчет'].Columns;

Colum. Columns[1].ColumnWidth:=20;

Colum. Columns[2].ColumnWidth:=20;

Colum. Columns[3].ColumnWidth:=20;

Colum. Columns[4].ColumnWidth:=20;

Colum. Columns[5].ColumnWidth:=20;

Colum:=XLApp. Workbooks[1].Worksheets['Отчет'].Rows;

Colum. Rows[2].Font. Bold:=true;

Colum. Rows[1].Font. Bold:=true;

Colum. Rows[1].Font. Color:=clBlue;

Colum. Rows[1].Font. Size:=14;

Sheet:=XLApp. Workbooks[1].Worksheets['Отчет'];

Sheet. Cells [1,2]:='Список оборудования';

Sheet. Cells [2,1]:='Наименование';

Sheet. Cells [2,2]:= '№ серийный';

Sheet. Cells [2,3]:='№ инвентарный';

Sheet. Cells [2,4]:='Кабинет';

Sheet. Cells [2,5]:='Ф.И.О.';

index:=3;

FormІ.ADOQuery1. First;

for i:=0 to FormІ.ADOQuery1. RecordCount-1 do

begin

Sheet. Cells [index, 1]:=FormІ.ADOQuery1. Fields. Fields[1].AsString;

Sheet. Cells [index, 2]:=FormІ.ADOQuery1. Fields. Fields[2].AsString;

Sheet. Cells [index, 3]:=FormІ.ADOQuery1. Fields. Fields[3].AsString;

Sheet. Cells [index, 4]:=FormІ.ADOQuery1. Fields. Fields[4].AsString;

Sheet. Cells [index, 5]:=FormІ.ADOQuery1. Fields. Fields[5].AsString;

Inc(index);

FormІ.ADOQuery1. Next;

end;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, XPMan;

type

TFormі = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

Button1: TButton;

Button2: TButton;

Button3: TButton;

XPManifest1: TXPManifest;

procedure Button3Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Formі: TFormі;

implementation

uses Unit1, Unit6;

{$R *.dfm}

procedure TFormі.Button3Click (Sender: TObject);

begin

form1. Show;

formі.Hide;

end;

 // выравнивание формы по центру экрана

procedure TFormі.FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TFormі.Button1Click (Sender: TObject);

begin

formі.Hide;

form6.show;

end;

procedure TFormі.Button2Click (Sender: TObject);

var id: integer;

begin

 // удаление записей из hardtype

{id:=adoquery1. FieldByName('id').AsInteger;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from hardlist where tupe ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from hardtype where id ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='select * from hardtype';

ADOQuery1. Open;}

if MessageBox (Handle, 'Удалить?', 'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление, вывод окна с подтверждением на удаление)

ADOQuery1. Delete;

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, XPMan;

type

TForm4 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

Button1: TButton;

Button2: TButton;

Button3: TButton;

XPManifest1: TXPManifest;

procedure Button3Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form4: TForm4;

implementation

uses Unit1, Unit7;

{$R *.dfm}

procedure TForm4. Button3Click (Sender: TObject);

begin

form1. Show;

form4. Hide;

end;

 // выравнивание формы по центру экрана

procedure TForm4. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TForm4. Button1Click (Sender: TObject);

begin

form4. Hide;

form7.show;

end;

procedure TForm4. Button2Click (Sender: TObject);

var id: integer;

begin

 // удаление записей из roomlist

id:=adoquery1. FieldByName('id').AsInteger;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from hardlist where room ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from roomlist where id ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='select * from roomlist';

ADOQuery1. Open;

if MessageBox (Handle, 'Удалить?', 'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление, вывод окна с подтверждением на удаление)

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm5 = class(TForm)

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

ComboBox1: TComboBox;

XPManifest1: TXPManifest;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

Label1: TLabel;

Label2: TLabel;

Label4: TLabel;

Label3: TLabel;

Label5: TLabel;

procedure Button2Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form5: TForm5;

implementation

uses Unit2, Unit4;

{$R *.dfm}

procedure TForm5. Button2Click (Sender: TObject);

begin

 // кнопка назад

formІ.ADOQuery1.SQL. Clear;

formІ.ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name, hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');

formІ.ADOQuery1.SQL.add ('FROM hardtype INNER JOIN (roomlist INNER JOIN (Polzovateli INNER JOIN hardlist ON Polzovateli.id = hardlist.FIO) ON roomlist.id = hardlist.room) ON hardtype.id = hardlist.tupe;');

formІ.ADOQuery1. Active:=true;

formІ.DBGrid1. DataSource:=formІ.DataSource1;

form5. Hide;

formІ.show;

end;

 // выравнивание формы по центру экрана

procedure TForm5. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TForm5. Button1Click (Sender: TObject);

var id, id2, id3: string;

begin

 // добавление записей в hardlist

if (Edit2. Text='') or (Edit3. Text='') then

begin ShowMessage ('Заполните все поля!'); exit;

end;

formІ.ADOQuery1.SQL. Clear;

begin

formІ.ADOQuery1.SQL. Text:= 'select * from roomlist where number=' + #39 + ComboBox1. Items [ComboBox1. ItemIndex]+ #39;

formІ.ADOQuery1. Active:=true;

id:=FormІ.ADOQuery1. Fields[0].value;

formІ.ADOQuery1. ExecSQL;

formІ.ADOQuery2.SQL. Text:= 'select * from hardtype where name=' + #39 + ComboBox2. Items [ComboBox2. ItemIndex]+ #39;

formІ.ADOQuery2. Active:=true;

id2:=FormІ.ADOQuery2. Fields[0].value;

formІ.ADOQuery3.SQL. Text:= 'select * from Polzovateli where FIO=' + #39 + ComboBox3. Items [ComboBox3. ItemIndex]+ #39;

formІ.ADOQuery3. Active:=true;

id3:=FormІ.ADOQuery3. Fields[0].value;

formІ.ADOQuery1.SQL. Clear;

formІ.ADOQuery1.SQL. Text:='insert into hardlist (tupe, serial, invent, room, FIO) values (' + #39 + id2 + #39 + ', ' + #39 + Edit2. Text + #39 + ', ' + #39 + Edit3. Text + #39 + ', '+ #39 + id + #39 + ', '+ #39 + id3 + #39 + ');';

formІ.ADOQuery1. ExecSQL;

formІ.ADOQuery1.SQL. Clear;

formІ.ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name, hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');

formІ.ADOQuery1.SQL.add ('FROM hardtype INNER JOIN (roomlist INNER JOIN (Polzovateli INNER JOIN hardlist ON Polzovateli.id = hardlist.FIO) ON roomlist.id = hardlist.room) ON hardtype.id = hardlist.tupe;');

formІ.ADOQuery1. Active:=true;

formІ.DBGrid1. DataSource:=formІ.DataSource1;

formІ.show;

form5. Hide;

end;

end;

end.

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm6 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

XPManifest1: TXPManifest;

XPManifest2: TXPManifest;

procedure Button2Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form6: TForm6;

implementation

uses Unit3;

{$R *.dfm}

procedure TForm6. Button2Click (Sender: TObject);

begin

form6. Hide;

formі.show;

end;

 // выравнивание формы по центру экрана

procedure TForm6. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TForm6. Button1Click (Sender: TObject);

begin

 // добавление записей в hardtype

formі.ADOQuery1.SQL. Text:='insert into hardtype (name) values (' + #39 + Edit1. Text + #39 + ');';

formі.ADOQuery1. ExecSQL;

formі.ADOQuery1.SQL. Clear;

formі.ADOQuery1.SQL. Text:=('select * from hardtype');

formі.ADOQuery1. Active:=true;

formі.ADOQuery1. Active:=true;

formі.DBGrid1. DataSource:=formі.DataSource1;

form6. Hide;

formі.Show;

end;

end.

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm7 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

XPManifest1: TXPManifest;

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form7: TForm7;

implementation

uses Unit4;

{$R *.dfm}

procedure TForm7. Button2Click (Sender: TObject);

begin

form4.show;

form7. Hide;

end;

procedure TForm7. Button1Click (Sender: TObject);

begin

 // добавление записей в roomlist

form4.ADOQuery1.SQL. Text:='insert into roomlist (number) values (' + #39 + Edit1. Text + #39 + ');';

form4.ADOQuery1. ExecSQL;

form4.ADOQuery1.SQL. Clear;

form4.ADOQuery1.SQL. Text:=('select * from roomlist');

form4.ADOQuery1. Active:=true;

form4.ADOQuery1. Active:=true;

form4.DBGrid1. DataSource:=form4. DataSource1;

form7. Hide;

form4. Show;

end;

 // выравнивание формы по центру экрана

procedure TForm7. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

end.

unit Unit8;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, XPMan;

type

TForm8 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

DBGrid1: TDBGrid;

XPManifest1: TXPManifest;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Button3Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form8: TForm8;

implementation

uses Unit9, Unit1;

{$R *.dfm}

procedure TForm8. Button1Click (Sender: TObject);

begin

form8. Hide;

form9.show;

end;

 // выравнивание формы по центру экрана

procedure TForm8. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

procedure TForm8. Button2Click (Sender: TObject);

var id: integer;

begin

 // удаление записей из polzovateli

id:=adoquery1. FieldByName('id').AsInteger;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from hardlist where FIO ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='Delete from Polzovateli where id ='+IntToStr(id)+';';

ADOQuery1. ExecSQL;

ADOQuery1. Close;

ADOQuery1.SQL. Text:='select * from Polzovateli';

ADOQuery1. Open;

if MessageBox (Handle, 'Удалить?', 'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление, вывод окна с подтверждением на удаление)

end;

procedure TForm8. Button3Click (Sender: TObject);

begin

form1. Show;

form8. Hide;

end;

end.

unit Unit9;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm9 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

Lable1: TLabel;

Lable2: TLabel;

XPManifest1: TXPManifest;

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form9: TForm9;

implementation

uses Unit8, Unit3, Unit6;

{$R *.dfm}

procedure TForm9. Button2Click (Sender: TObject);

begin

Form9. Hide;

Form8.show;

end;

procedure TForm9. Button1Click (Sender: TObject);

begin

 // добавление записей в polzovateli

form8.ADOQuery1.SQL. Text:='insert into polzovateli (FIO, Dolgnost) values (' + #39 + Edit1. Text + #39 + ', ' + #39 + Edit2. Text + #39 + ');';

form8.ADOQuery1. ExecSQL;

form8.ADOQuery1.SQL. Clear;

form8.ADOQuery1.SQL. Text:=('select * from polzovateli');

form8.ADOQuery1. Active:=true;

form8.ADOQuery1. Active:=true;

form8.DBGrid1. DataSource:=form8. DataSource1;

form9. Hide;

form8. Show;

end;

 // выравнивание формы по центру экрана

procedure TForm9. FormShow (Sender: TObject);

begin

left:=(screen. Width-Width) div 2;

top:=(Screen. Height-Height) div 2;

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.