Имя поля
|
Данные
|
Ф.И.О.
|
Тип данных текстовый.
|
Должность
|
Тип данных текстовый. Максимальное количество символов 50.
|
Рис. 1.5.5 - Схема данных
2. Проектирование и
программная реализация программного продукта
.1 выбор среды
программирования
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 близок к 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.++ Builder объединяет в себе
комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик,
редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi[1].
Большинство компонентов, разработанных в Delphi, можно использовать и в C++
Builder без модификации, но обратное утверждение не верно.++ Builder содержит
инструменты, которые при помощи drag-and-drop действительно делают разработку
визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору
интерфейса и пр.
.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 можно писать приложения, работающие с базами данных.
.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 обуславливается его
широкими возможностями работы с базами данных, большой простотой и удобством.
.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.
. Кричевский, Г.Е. Инфологическая модель данных
«Сущность-связь», [Электронный ресурс]. Режим доступа:
http://www.citforum.ru/database/ dbguide/2-1.shtml.
. Минаев, Д.В. Delphi - что это, [Электронный ресурс].
Режим доступа: http://delphi.uz/illyustrirovannyi-samouchitel/vvedenie.html.
. Вихляев, Н.М. 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, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, XPMan;=
class(TForm): TButton;: TButton;: TButton;: TButton;: TButton;:
TXPManifest;Button4Click (Sender: TObject);Button3Click (Sender:
TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);FormShow
(Sender: TObject);Button5Click (Sender: TObject);FormClose (Sender: TObject;
var Action: TCloseAction);
{Private declarations}
{Public declarations};:
TForm1;Unit4, Unit2, Unit3, Unit8;
{$R *.dfm}TForm1.
Button4Click (Sender: TObject);;;TForm1. Button3Click (Sender: TObject);
// выборка в таблицу roomlist.ADOQuery1.SQL. Clear;.ADOQuery1.SQL. Text:=('select *
from roomlist');.ADOQuery1. Active:=true;.ADOQuery1. Active:=true;.DBGrid1.
DataSource:=form4. DataSource1;. Show;. Hide;;TForm1. Button1Click (Sender:
TObject);
// выборка в таблицу hardlistm².ADOQuery1.SQL. Clear;m².ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name,
hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');m².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;');m².ADOQuery1. Active:=true;m².ADOQuery1. Active:=true;m².DBGrid1. DataSource:=form².DataSource1;m².Show;. Hide;;TForm1. Button2Click (Sender: TObject);
//// выборка в таблицу hardtypem³.ADOQuery1.SQL. Clear;m³.ADOQuery1.SQL. Text:=('select * from hardtype');m³.ADOQuery1.
Active:=true;m³.ADOQuery1. Active:=true;m³.DBGrid1. DataSource:=form³.DataSource1;m³.Show;. Hide;;TForm1. FormShow (Sender: TObject);
begin
// выравнивание формы по центру
экрана
left:=(screen.
Width-Width) div 2;:=(Screen. Height-Height) div 2;;TForm1. Button5Click
(Sender: TObject);.ADOQuery1.SQL. Clear;.ADOQuery1.SQL. Text:=('select * from
polzovateli');.ADOQuery1. Active:=true;.ADOQuery1. Active:=true;.DBGrid1.
DataSource:=form8. DataSource1;. Show;. Hide;;TForm1. FormClose (Sender:
TObject; var Action: TCloseAction);MessageBox (0,'Вы действительно хотите выйти', 'Закрытие',
MB_YESNO or MB_ICONQUESTION) = 7 then:= caNone;;.Unit2;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DB, ADODB, Grids,
DBGrids, XPMan, Comobj;m² = class(TForm): TDataSource;: TDBGrid;: TADOConnection;:
TADOQuery;: TButton;: TButton;: TButton;: TADOQuery;: TADOQuery;: TXPManifest;:
TButton;Button3Click (Sender: TObject);Button2Click (Sender:
TObject);Button1Click (Sender: TObject);FormShow (Sender: TObject);Button4Click
(Sender: TObject);
{Private declarations}
{Public declarations};m²: TForm²;Unit1, Unit4,
Unit5;
{$R *.dfm}TForm².Button3Click
(Sender: TObject);. Show;m².Hide;;TForm².Button2Click (Sender: TObject);id: integer;
// удаление записей из
hardlist:=adoquery1. FieldByName('id').AsInteger;. Close;.SQL. Text:='Delete
from hardlist where id ='+IntToStr(id)+';';. ExecSQL;. Close;m².ADOQuery1.SQL.
Text:=('SELECT hardlist.id, hardtype.name, hardlist.serial, hardlist.invent,
roomlist.number, Polzovateli.FIO');m².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;');. DataSet:=
ADOQuery1;. Active:=true;. DataSource:=DataSource1;. Open;
if MessageBox (Handle, 'Удалить?',
'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление,
вывод окна с подтверждением на удаление)
//
кнопка добавить
form².Hide;
form5.show;. Edit2.
Text:='';m².ADOQuery1.SQL. Text:='SELECT * FROM roomlist';m².ADOQuery1.
Active:=True;d:=1 to Form².ADOQuery1. RecordCount do. ComboBox1. Items. Add (Form².ADOQuery1.
FieldbyName('number').Value);m².ADOQuery1. Next;
//////////////////////////////////////////////////////////////////////
m².ADOQuery2.SQL. Text:='SELECT * FROM hardtype';m².ADOQuery2.
Active:=True;s:=1 to Form².ADOQuery2. RecordCount do. ComboBox2. Items. Add (Form².ADOQuery2.
FieldbyName('name').Value);m².ADOQuery2. Next;
//////////////////////////////////////////////////////////////////////////////
m².ADOQuery3.SQL. Text:='SELECT * FROM Polzovateli';m².ADOQuery3.
Active:=True;f:=1 to Form².ADOQuery3. RecordCount do. ComboBox3. Items. Add (Form².ADOQuery3.
FieldbyName('FIO').Value);m².ADOQuery3. Next;; end; end; end;
// выравнивание формы по центру экранаTForm².FormShow (Sender:
TObject);:=(screen. Width-Width) div 2;:=(Screen. Height-Height) div 2;;TForm².Button4Click
(Sender: TObject);, Sheet, Colum: Variant;, i: Integer;:= CreateOleObject
('Excel. Application');. Visible:=true;
. Workbooks.
Add(-4167);. Workbooks[1].Worksheets[1].Name:='Отчет';:=XLApp. Workbooks[1].Worksheets['Отчет'].Columns;. Columns[1].ColumnWidth:=20;.
Columns[2].ColumnWidth:=20;. Columns[3].ColumnWidth:=20;.
Columns[4].ColumnWidth:=20;. Columns[5].ColumnWidth:=20;:=XLApp.
Workbooks[1].Worksheets['Отчет'].Rows;. Rows[2].Font. Bold:=true;. Rows[1].Font. Bold:=true;.
Rows[1].Font. Color:=clBlue;. Rows[1].Font. Size:=14;:=XLApp.
Workbooks[1].Worksheets['Отчет'];. Cells [1,2]:='Список оборудования';. Cells [2,1]:='Наименование';. Cells [2,2]:= '№ серийный';. Cells [2,3]:='№ инвентарный';. Cells [2,4]:='Кабинет';. Cells [2,5]:='Ф.И.О.';:=3;m².ADOQuery1. First;i:=0 to Form².ADOQuery1.
RecordCount-1 do. Cells [index, 1]:=Form².ADOQuery1. Fields.
Fields[1].AsString;. Cells [index, 2]:=Form².ADOQuery1. Fields.
Fields[2].AsString;. Cells [index, 3]:=Form².ADOQuery1. Fields.
Fields[3].AsString;. Cells [index, 4]:=Form².ADOQuery1. Fields.
Fields[4].AsString;. Cells [index, 5]:=Form².ADOQuery1. Fields.
Fields[5].AsString;(index);m².ADOQuery1. Next;;;.Unit3;, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,, StdCtrls, DB, ADODB, Grids, DBGrids, XPMan;m³ = class(TForm):
TDataSource;: TDBGrid;: TADOConnection;: TADOQuery;: TButton;: TButton;:
TButton;: TXPManifest;Button3Click (Sender: TObject);FormShow (Sender:
TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);
{Private declarations}
{Public declarations};m³: TForm³;Unit1, Unit6;
{$R *.dfm}TForm³.Button3Click
(Sender: TObject);. Show;m³.Hide;
end;
// выравнивание формы по центру
экрана
procedure TForm³.FormShow (Sender:
TObject);:=(screen. Width-Width) div 2;:=(Screen. Height-Height) div 2;;TForm³.Button1Click
(Sender: TObject);m³.Hide;.show;;TForm³.Button2Click (Sender: TObject);id: integer;
// удаление записей из hardtype
{id:=adoquery1.
FieldByName('id').AsInteger;. Close;.SQL. Text:='Delete from hardlist where
tupe ='+IntToStr(id)+';';. ExecSQL;. Close;.SQL. Text:='Delete from hardtype
where id ='+IntToStr(id)+';';. ExecSQL;. Close;.SQL. Text:='select * from
hardtype';. Open;}MessageBox (Handle, 'Удалить?', 'Удаление', MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на удаление, вывод окна с подтверждением на
удаление). Delete;;.Unit4;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls,
DB, ADODB, Grids, DBGrids, XPMan;= class(TForm): TDataSource;: TDBGrid;:
TADOConnection;: TADOQuery;: TButton;: TButton;: TButton;:
TXPManifest;Button3Click (Sender: TObject);FormShow (Sender:
TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);
{Private declarations}
{Public declarations};:
TForm4;Unit1, Unit7;
{$R *.dfm}TForm4.
Button3Click (Sender: TObject);. Show;. Hide;
end;
// выравнивание формы по центру
экрана
procedure TForm4.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;;TForm4. Button1Click (Sender: TObject);.
Hide;.show;;TForm4. Button2Click (Sender: TObject);id: integer;
// удаление записей из
roomlist:=adoquery1. FieldByName('id').AsInteger;. Close;.SQL. Text:='Delete
from hardlist where room ='+IntToStr(id)+';';. ExecSQL;. Close;.SQL.
Text:='Delete from roomlist where id ='+IntToStr(id)+';';. ExecSQL;.
Close;.SQL. Text:='select * from roomlist';. Open;MessageBox (Handle, 'Удалить?', 'Удаление',
MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на
удаление, вывод окна с подтверждением на
удаление);.Unit5;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls,
XPMan;= class(TForm): TEdit;: TEdit;: TButton;: TButton;: TComboBox;:
TXPManifest;: TComboBox;: TComboBox;: TLabel;: TLabel;: TLabel;: TLabel;:
TLabel;Button2Click (Sender: TObject);FormShow (Sender: TObject);Button1Click
(Sender: TObject);
{Private declarations}
{Public declarations};:
TForm5;Unit2, Unit4;
{$R *.dfm}TForm5.
Button2Click (Sender: TObject);
// кнопка назадm².ADOQuery1.SQL. Clear;m².ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name,
hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');m².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;');m².ADOQuery1. Active:=true;m².DBGrid1. DataSource:=form².DataSource1;. Hide;².show;
end;
//
выравнивание формы по центру экрана
procedure TForm5.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;;TForm5. Button1Click (Sender: TObject);id, id2, id3:
string;
//
добавление записей в hardlist
if (Edit2. Text='') or (Edit3.
Text='') then ShowMessage ('Заполните все
поля!'); exit;
end;m².ADOQuery1.SQL.
Clear;m².ADOQuery1.SQL. Text:= 'select * from roomlist where number=' +
#39 + ComboBox1. Items [ComboBox1. ItemIndex]+ #39;m².ADOQuery1.
Active:=true;:=Form².ADOQuery1. Fields[0].value;m².ADOQuery1.
ExecSQL;m².ADOQuery2.SQL. Text:= 'select * from hardtype where name=' + #39
+ ComboBox2. Items [ComboBox2. ItemIndex]+ #39;m².ADOQuery2.
Active:=true;:=Form².ADOQuery2. Fields[0].value;m².ADOQuery3.SQL.
Text:= 'select * from Polzovateli where FIO=' + #39 + ComboBox3. Items
[ComboBox3. ItemIndex]+ #39;m².ADOQuery3. Active:=true;:=Form².ADOQuery3.
Fields[0].value;m².ADOQuery1.SQL. Clear;m².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 +
');';m².ADOQuery1. ExecSQL;m².ADOQuery1.SQL. Clear;m².ADOQuery1.SQL. Text:=('SELECT hardlist.id, hardtype.name,
hardlist.serial, hardlist.invent, roomlist.number, Polzovateli.FIO');m².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;');m².ADOQuery1. Active:=true;m².DBGrid1. DataSource:=form².DataSource1;m².show;. Hide;;;.Unit6;, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,, StdCtrls, XPMan;= class(TForm): TEdit;: TLabel;:
TButton;: TButton;: TXPManifest;: TXPManifest;Button2Click (Sender:
TObject);FormShow (Sender: TObject);Button1Click (Sender: TObject);
{Private declarations}
{Public declarations};:
TForm6;Unit3;
{$R *.dfm}TForm6.
Button2Click (Sender: TObject);. Hide;m³.show;
end;
// выравнивание формы по центру
экрана
procedure TForm6.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;;TForm6. Button1Click (Sender: TObject);
// добавление записей в hardtypem³.ADOQuery1.SQL.
Text:='insert into hardtype (name) values (' + #39 + Edit1. Text + #39 + ');';m³.ADOQuery1.
ExecSQL;m³.ADOQuery1.SQL. Clear;m³.ADOQuery1.SQL. Text:=('select * from hardtype');m³.ADOQuery1.
Active:=true;m³.ADOQuery1. Active:=true;m³.DBGrid1. DataSource:=form³.DataSource1;. Hide;m³.Show;;.Unit7;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, XPMan;= class(TForm): TEdit;: TLabel;: TButton;:
TButton;: TXPManifest;Button2Click (Sender: TObject);Button1Click (Sender:
TObject);FormShow (Sender: TObject);
{Private declarations}
{Public declarations};:
TForm7;Unit4;
{$R *.dfm}TForm7.
Button2Click (Sender: TObject);.show;. Hide;;TForm7. Button1Click (Sender:
TObject);
// добавление записей в roomlist.ADOQuery1.SQL.
Text:='insert into roomlist (number) values (' + #39 + Edit1. Text + #39 +
');';.ADOQuery1. ExecSQL;.ADOQuery1.SQL. Clear;.ADOQuery1.SQL. Text:=('select *
from roomlist');.ADOQuery1. Active:=true;.ADOQuery1. Active:=true;.DBGrid1.
DataSource:=form4. DataSource1;. Hide;. Show;;
//
выравнивание формы по центру экрана
procedure TForm7.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;;.Unit8;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, Grids, DBGrids, DB, ADODB, StdCtrls, XPMan;= class(TForm):
TButton;: TButton;: TButton;: TDataSource;: TADOConnection;: TADOQuery;:
TDBGrid;: TXPManifest;Button1Click (Sender: TObject);Button2Click (Sender:
TObject);FormShow (Sender: TObject);Button3Click (Sender: TObject);
{Private declarations}
{Public declarations};:
TForm8;Unit9, Unit1;
{$R *.dfm}TForm8.
Button1Click (Sender: TObject);. Hide;.show;
end;
// выравнивание формы по центру
экрана
procedure TForm8.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;;
TForm8. Button2Click
(Sender: TObject);id: integer;
// удаление записей из
polzovateli:=adoquery1. FieldByName('id').AsInteger;. Close;.SQL. Text:='Delete
from hardlist where FIO ='+IntToStr(id)+';';. ExecSQL;. Close;.SQL.
Text:='Delete from Polzovateli where id ='+IntToStr(id)+';';. ExecSQL;.
Close;.SQL. Text:='select * from Polzovateli';. Open;MessageBox (Handle, 'Удалить?', 'Удаление',
MB_YESNO or MB_ICONQUESTION) = 6 then // (условие на
удаление, вывод окна с подтверждением на
удаление);TForm8.
Button3Click (Sender: TObject);. Show;. Hide;;.Unit9;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, StdCtrls, XPMan;= class(TForm):
TEdit;: TEdit;: TButton;: TButton;: TLabel;: TLabel;: TXPManifest;Button2Click
(Sender: TObject);Button1Click (Sender: TObject);FormShow (Sender: TObject);
{Private declarations}
{Public declarations};:
TForm9;Unit8, Unit3, Unit6;
{$R *.dfm}TForm9.
Button2Click (Sender: TObject);. Hide;.show;;TForm9. Button1Click (Sender:
TObject);
// добавление записей в
polzovateli.ADOQuery1.SQL. Text:='insert into polzovateli (FIO, Dolgnost)
values (' + #39 + Edit1. Text + #39 + ', ' + #39 + Edit2. Text + #39 +
');';.ADOQuery1. ExecSQL;.ADOQuery1.SQL. Clear;.ADOQuery1.SQL. Text:=('select *
from polzovateli');.ADOQuery1. Active:=true;.ADOQuery1. Active:=true;.DBGrid1.
DataSource:=form8. DataSource1;. Hide;. Show;;
//
выравнивание формы по центру экрана
procedure TForm9.
FormShow (Sender: TObject);:=(screen. Width-Width) div 2;:=(Screen.
Height-Height) div 2;
end;.