43030

Разработка базу дискографии музыкальных коллективов

Курсовая

Информатика, кибернетика и программирование

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

Русский

2013-11-01

3.57 MB

4 чел.

1. Формирование технического задания

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

Задание: разработать базу дискографии музыкальных коллективов.

Для этого необходимо:

  •  Реляционная модель данных – удобный способ предоставление данных предметной области;
  •  Создать клиентскую часть для взаимодействия пользователя с базой данных.

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

Основными функциями базы являются:

  •  Внесение новых групп, а также изменение старых;
  •  Добавление жанра и стиля;
  •  Внесение новых данных о дисках;
  •  Внесение новых данных о песнях;
  •  Изменение и удаление данных о составе группы;
  •  Поиск данных о дисках по песням и группам;
  •  Учёт пользователей работающих непосредственно на внесение, изменение, удаление.

1.2 Требования, предъявляемые к разрабатываемой информационной системе

1.2.1 Требования к базе данных

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

-Надежность;

-производительность;

-безопасность;

- дружественность интерфейса.

1.2.2. Требования к получаемой и вводимой информации

База данных предназначена для любого типа пользователя.

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

1.2.3 Способ ведения базы данных

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

2. Формирование отношений и их нормализация.

2.1. Выявление информационных объектов БД

Приведение таблиц к первой нормальной форме:

Первая нормальная форма (1НФ) - это обычное отношение. Согласно общему определению отношений, любое отношение автоматически уже находится в 1НФ. Свойства 1НФ – это свойства обычных реляционных отношений:

  •  в отношении нет одинаковых кортежей;
  •  кортежи не упорядочены;
  •  атрибуты не упорядочены и различаются по наименованию;
  •  все значения атрибутов атомарные.

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

диск

год

группа

имя

фамилия

д.р.

песня

стиль

жанр

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

Для приведения отношения к 2НФ необходимо выявить потенциальный ключ отношения, то есть разделить атрибуты отношения на ключевые и не ключевые и  установить зависимости  неключевых атрибутов от  атрибутов, входящих в потенциальный ключ.

    

В качестве потенциального ключа принят атрибут (диск). По значению данного атрибута можно определить любой кортеж (строку, запись).

Приведение к третьей нормальной форме:

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

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

Проведём анализ предметной области. Для этого построим ER-диаграмму (модель «птичья лапка») и рассмотрим связи между таблицами (данными в них).

Рис.1

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

Рис.2

У одной группы может быть несколько участников.

Рис3.

У каждой группы один стиль.

Рис4.

У каждого жанра есть свои направления, т.е. стили.

Рис5.

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

Рис.6 Общая ER-модель

3. Даталогическое проектирование

 3.1 Выбор системы управления реляционной базой данных.

На основе построенной во втором пункте ER-модели создадим таблицы в Microsoft SQL Server 2000. Данный язык структурированных запросов был выбран по нескольким причинам:

  1.  из-за простоты словаря языка ;
  2.  большая часть функций языка остаётся как бы «за кадром»;
  3.  высокая производительность обработки запросов;
  4.  относительно небольшие требования к ПО;
  5.  дружественность интерфейса для программиста;
  6.  язык признан стандартом.

Конечно, можно было бы использовать СУБД ORACLE, Microsoft Access или какую-либо другую, но они имеют большие недостатки, чем Microsoft SQL Server 2000. Например, для работы в ORACLE требуется большой объём оперативной памяти, а Microsoft Access не может быстро обрабатывать данные, если их накопилось много.

3.2 Создание таблицы на платформе выбранной СУБД.

Физическое имя поля таблицы

Название атрибута

Тип поля

Размер поля (байт)

Инкриментность

Ключ (уникальность)

Необходимость заполнения (или значение по умолчанию)

Id_d

Код диска

int

4

Да

Да

Да

disk

Название диска

varchar

90

Нет

Нет

Да

god

Год диска

int

4

Да

Да

Да

Id_gr

Код группы

int

4

Да

Да

Да

gruppa

Название группы

varchar

50

Нет

Нет

Да

Id_st

Код стиля

int

4

Да

Да

Да

style

Стиль

varchar

50

Нет

Нет

Да

Физическое имя поля таблицы

Название атрибута

Тип поля

Размер поля (байт)

Инкриментность

Ключ (уникальность)

Необходимость заполнения (или значение по умолчанию)

Id_zh

Код жанра

Int

4

Да

Да

Да

zhanr

Жанр

varchar

25

Нет

Нет

Да

Id_chel

Код человека

int

4

Да

Да

Да

name

имя

varchar

20

Нет

Нет

Да

fam

фамилия

varchar

20

Нет

Нет

Да

dr

День рождения

datetime

8

Нет

Нет

Да

Id_p

Код песни

int

4

Да

Да

Да

pesnya

песня

varchar

100

Нет

Нет

Да

Id_polz

Код пользователя

int

4

Да

Да

Да

name

Имя польз

varchar

50

Нет

Нет

Да

fam

фамилия

varchar

50

Нет

Нет

Да

dr

Дата рождения

datetime

8

Нет

Нет

Да

dp

Дата заполнения

datetime

8

Нет

Нет

Да

g

группа

varchar

50

Нет

Нет

Да

f

факультет

varchar

50

Нет

Нет

Да

v

вуз

varchar

50

Нет

Нет

Да

Login

Логин

varchar

50

Нет

Нет

Да

password

Пароль

varchar

50

Нет

Нет

Да

Id_p

Код логина

int

4

Да

Да

Да

3.3 Создание индексов

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

4. Организация бизнес логики на стороне сервера 

4.1 Механизмы взаимодействия клиента с сервером.

При взаимодействии клиента с сервером производятся следующие действия:

  •  ввод данных в базу;
  •  модификация данных;
  •  получение клиентом необходимой информации.

Для ввода данных в базу оператору придётся вручную вводить в клиентскую часть данные. Ключевые поля в базе данных заполняются инкриментно.

Для модификации данных базы оператору так же придётся ввести некоторые данные в клиентскую часть. Все необходимые недостающие данные берутся из самой базы (идентификаторы полей либо сами данные). Для добавления используются через встроенные объекты C++, при этом выполняется ряд процедур.

Для получения информации требуется задать только параметр поиска.

Эти действия целесообразно оформить в виде соответствующих хранимых процедур

4.2 Описание требуемых запросов. Оформление их в виде хранимых процедур и функций. 

Необходимо  найти по песни, группу и диск:

CREATE PROCEDURE poiskpesnya   @p varchar(100)  AS

select distinct pesnya, gruppa, [disk]

from poisk

where pesnya like @p+'%'

GO

Необходимо  найти по группе, песню и диск:

CREATE PROCEDURE poiskgruppa   @p varchar(100)  AS

select distinct pesnya, gruppa, [disk]

from poisk

where gruppa  Like @p+'%'

GO

Для получения id песни и занесения её в журнал pesn:

CREATE PROCEDURE dobidpes @p varchar(100)  AS

declare @ident int, @ident1 varchar(150)

set nocount on

DECLARE a_cursor CURSOR FOR

select distinct id_p, pesnya

from k_pesnya

where  @p=pesnya

delete from pesn

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @ident, @ident1

if(@ident=null)

begin

insert into pesn (identa) values (@ident+1)

end

if(@ident<>null)

begin

insert into pesn (identa) values (@ident)

end

DEALLOCATE a_cursor

GO

Для получения id группы и занесения её в журнал gr:

CREATE PROCEDURE dobidgr @p varchar(100)  AS

declare @ident int, @pp varchar(50)

set nocount on

DECLARE a_cursor CURSOR FOR

select id_gr, gruppa from k_gruppi

where @p=gruppa

delete from gr

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @ident, @pp

if(@ident=null)

begin

insert into gr (identa) values (0)

end

if(@ident<>null)

begin

insert into gr (identa) values (@ident)

end

DEALLOCATE a_cursor

GO

Для получения id диска и занесения её в журнал dis:

CREATE PROCEDURE dobidds @p varchar(90)  AS

declare @ident int, @pp varchar(90)

set nocount on

DECLARE a_cursor CURSOR FOR

select id_d, [disk] from k_disk

where @p=[disk]

delete from dis

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @ident, @pp

if(@ident=null)

begin

insert into dis (identa) values (0)

end

if(@ident<>null)

begin

insert into dis (identa) values (@ident)

end

DEALLOCATE a_cursor

GO

Нахождения стиля входящего в жанр:

CREATE PROCEDURE poiskst @p varchar(100)  AS

select style, zhanr  --distinct zh

from stzh

where  @p=zhanr

GO

Для получения id диска и занесения её в журнал sts:

CREATE PROCEDURE styl @p varchar(50)  AS

declare @ident int, @pp varchar(50)

set nocount on

DECLARE a_cursor CURSOR FOR

select id_st, style  from k_style

where @p=style

delete from sts

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @ident, @pp

insert into sts (ident) values (@ident)

DEALLOCATE a_cursor

GO

При регистрации для получении id логина и хранения его в журнале pasw:

CREATE PROCEDURE idlog @p varchar(100)  AS

declare @ident int, @ident1 varchar(150)

set nocount on

DECLARE a_cursor CURSOR FOR

select distinct id_p, login

from pas

where  @p=login

delete from pasw

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @ident, @ident1

if(@ident=null)

begin

insert into pasw (identa) values (0)

end

if(@ident<>null)

begin

insert into pasw (identa) values (@ident)

end

DEALLOCATE a_cursor

GO

Процедура поиска для редактирования состава по группам:

CREATE PROCEDURE redsostav   @p int AS

select * from k_sostav

where @p=id_gr

GO 

Обновление группы:

CREATE PROCEDURE redgryp @g varchar(100), @gg varchar(100)  AS

update k_gruppi

set gruppa = @g

where gruppa =  @gg

GO

Проверка пороля и логина:

CREATE PROCEDURE logpas @l varchar(25), @p varchar(25)  AS

declare @log varchar(25), @pas varchar(25), @id int

set nocount on

DECLARE a_cursor CURSOR FOR

select id_p, login, [password]

from pas

where  @l=login and @p=[password]

delete from pasw

OPEN a_cursor

FETCH NEXT FROM a_cursor INTO @id, @l, @p

if(@id=null)

begin

insert into pasw (identa) values (0)

end

if(@id<>null)

begin

insert into pasw (identa) values (@id)

end

DEALLOCATE a_cursor

GO

Добавление стиля:

CREATE PROCEDURE dobst  @st varchar(100), @id int  AS

set insert into k_style  (style, id_zhanr) values  (@st, @id)

GO

Добавление жанра:

CREATE PROCEDURE dobzh  @zh varchar(100)  AS

set insert into k_zhanr  (zhanr) values  (@zh)

GO

5. Проектирование клиентского интерфейса

5.1 Описание способа подключения

Для проектирования клиентского интерфейса был выбран язык программирования Borland C++ Builder v.6.

Для подключения использовались компоненты ADOConnection, ADOQuery, DataSource, DBNavigator для редактирования, а для просмотра данных в таблицах использовался компонент DBGrid.

5.2 Определение функциональности клиентского приложения

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

Для работы клиента используются следующие формы

При старте проекта:

При выборе регистрации пользователя появляется следующее:

 

После заполнения данного окна оно исчезает. Необходимо сначала ввести все поля, а после вводит пароль и логин. Вернулись к исходному окну (стартовое ), выбираем поиск по песням:

    

     

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

Аналогично выбираем поиск по группам:

Работает аналогично предыдущему.

Возвращаемся к стартовой форме, идём в меню insert, появляется следующее:

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

При проверке, если введённые данные не корректны, появится следующее:

При удачном введение:

Возвращаемся к меню insert, появится следующее:

В данном окне можно добавить песню при этом необходимо выбрать группу и диск, при этом вызовется процедура, поиска id песни, которая необходима для корректного ввода. Если данная песня есть, то он не изменится, если нет то к последнему значению прибавиться единица.

Если нет нужной группы, то её можно добавить:

Работа аналогична предыдущей. Выбираем жанр, в результате вызывается процедура, которая выдаёт все стили данного жанра:

 

Также если нет жанра или стиля, которые необходимы их можно внести:

Выбираем жанр, пишем стиль и добавляем, и ниже, если надо добавляем жанр.

При добавлении участников группы:

         

При добавлении диска:

Снова возвращаемся в главное меню и выбираем edit:

Сначала группу для редактирования, в случае если она поменяет название и др.

Выбираем группу из списка, ниже заменяем.

При редактировании состава:

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

5.3 Реализация  кода и форм в выбранном средстве разработки.

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit5.h"

#include "Unit6.h"

#include "Unit7.h"

#include "Unit8.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "Word_2K_SRVR"

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Label3MouseMove(TObject *Sender, TShiftState Shift,

     int X, int Y)

{

Label3->Font->Color=clRed;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Label3MouseLeave(TObject *Sender)

{

Label3->Font->Color=clBlack;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Label3Click(TObject *Sender)

{

ShellExecute(Handle,NULL,"mailto:blacktoxa2005@rambler.ru?subject=Tema",

NULL,NULL,SW_SHOWNORMAL);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N7Click(TObject *Sender)

{

Form1->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)

{

mn=0;

Form8->Show();

Form8->CGauge1->Enabled=true;

Form8->CGauge1->Progress=0;

Form8->Edit1->Text="";

Form8->Edit2->Text="";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)

{

Form3->GroupBox1->Visible=true;

Form3->GroupBox1->Enabled=true;

Form3->GroupBox2->Visible=false;

Form3->GroupBox2->Enabled=false;

Form3->Edit1->Text="";

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)

{

Form3->GroupBox1->Visible=false;

Form3->GroupBox1->Enabled=false;

Form3->GroupBox2->Visible=true;

Form3->GroupBox2->Enabled=true;

Form3->Edit2->Text="";

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N8Click(TObject *Sender)

{

Form5->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::StaticText1Click(TObject *Sender)

{

Form6->Show();

Form6->Panel2->Visible=true;

Form6->Panel2->Align=alClient;

Form6->Button1->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N11Click(TObject *Sender)

{

MessageBox(Handle,"","",16420);        

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Gruppi1Click(TObject *Sender)

{

mn=1;

Form8->Show();

Form8->CGauge1->Enabled=true;

Form8->CGauge1->Progress=0;

Form8->Edit1->Text="";

Form8->Edit2->Text="";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Sostav1Click(TObject *Sender)

{

mn=2;

Form8->Show();

Form8->CGauge1->Enabled=true;

Form8->CGauge1->Progress=0;

Form8->Edit1->Text="";

Form8->Edit2->Text="";

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

#include "Unit4.h"

#include "Unit7.h"

#include "Unit9.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::FormCreate(TObject *Sender)

{

try{

ADOQuery1->Open();

ADOQuery8->Open();

ADOQuery3->SQL->Text="select * from k_gruppi";

ADOQuery4->SQL->Text="select * from k_disk";

ADOQuery3->Open();

ADOQuery4->Open();

ComboBox1->Items->Clear();

ComboBox2->Items->Clear();

int n;

int n1;

n=ADOQuery3->RecordCount;

ADOQuery3->First();

for (int i=0;i<n;i++)

{

ComboBox1->Items->Add(ADOQuery3->FieldByName("gruppa")->AsString);

ADOQuery3->Next();

}

n1=ADOQuery4->RecordCount;

ADOQuery4->First();

for (int i=0;i<n1;i++)

{

ComboBox2->Items->Add(ADOQuery4->FieldByName("disk")->AsString);

ADOQuery4->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

DBNavigator4->BtnClick(nbInsert);

DBNavigator1->BtnClick(nbInsert);

}

//---------------------------------------------------------------------------

void __fastcall TForm2::DBEdit1Change(TObject *Sender)

{

int n;

n=ADOQuery1->RecordCount;

ADOQuery2->SQL->Text="exec dobidpesn  '" + DBEdit1->Text +"'";

try{

ADOQuery2->Open();

}

catch(...){

}

ADOQuery3->SQL->Text="select * from pesid";

try{

ADOQuery3->Open();

AnsiString s;

s=ADOQuery3->FieldByName("identa")->AsString;

if(s>0){

DBEdit4->Text=ADOQuery3->FieldByName("identa")->AsString;

}

if(s==0){

DBEdit4->Text=(n+1);

}

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit1->Text!=""){

if(ComboBox1->Text!=""){

if(ComboBox2->Text!=""){

Button6->Enabled=true;

}

}

}

if(DBEdit1->Text==""){

Button6->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::ComboBox1Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec dobidgr '" + ComboBox1->Text +"'";;

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="select * from gr";

try{

ADOQuery3->Open();

DBEdit2->Text=ADOQuery3->FieldByName("identa")->AsString;

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit1->Text!=""){

if(ComboBox1->Text!=""){

if(ComboBox2->Text!=""){

Button6->Enabled=true;

}

}

}

if(ComboBox1->Text==""){

Button6->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::ComboBox2Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec dobidds '" + ComboBox2->Text +"'";;

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="select * from dis";

try{

ADOQuery3->Open();

DBEdit3->Text=ADOQuery3->FieldByName("identa")->AsString;

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit1->Text!=""){

if(ComboBox1->Text!=""){

if(ComboBox2->Text!=""){

Button6->Enabled=true;

}

}

}

if(ComboBox2->Text==""){

Button6->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::ComboBox3Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec zhh '" + ComboBox3->Text +"'";;

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="select * from zhz";

try{

ADOQuery3->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

try{

ADOQuery4->SQL->Text="exec poiskst '" + ComboBox3->Text +"'";

ADOQuery4->Open();

ComboBox4->Text="";

ComboBox4->Items->Clear();

int n1;

n1=ADOQuery4->RecordCount;

ADOQuery4->First();

for (int i=0;i<n1;i++)

{

ComboBox4->Items->Add(ADOQuery4->FieldByName("style")->AsString);

ADOQuery4->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit5->Text!=""){

if(ComboBox3->Text!=""){

if(ComboBox4->Text!=""){

Button4->Enabled=true;

}

}

}

if(ComboBox3->Text==""){

Button4->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::ComboBox4Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec styl '" + ComboBox4->Text +"'";;

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="select * from sts";

try{

ADOQuery3->Open();

DBEdit8->Text=ADOQuery3->FieldByName("ident")->AsString;

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit5->Text!=""){

if(ComboBox3->Text!=""){

if(ComboBox4->Text!=""){

Button4->Enabled=true;

}

}

}

if(ComboBox4->Text==""){

Button4->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button4Click(TObject *Sender)

{

if(DBEdit5->Text!=""){

if(ComboBox3->Text!=""){

if(ComboBox3->Text!=""){

Button7->Enabled=true;

ComboBox3->Text="";

ComboBox4->Text="";

DBNavigator2->BtnClick(nbPost);

DBNavigator2->BtnClick(nbInsert);

try{

ADOQuery3->SQL->Text="select * from k_gruppi";

ADOQuery3->Open();

ComboBox1->Items->Clear();

int n;

n=ADOQuery3->RecordCount;

ADOQuery3->First();

for (int i=0;i<n;i++)

{

ComboBox1->Items->Add(ADOQuery3->FieldByName("gruppa")->AsString);

ADOQuery3->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::DBEdit5Change(TObject *Sender)

{

if(DBEdit5->Text!=""){

if(ComboBox3->Text!=""){

if(ComboBox4->Text!=""){

Button4->Enabled=true;

}

}

}

if(DBEdit5->Text==""){

Button4->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Label10Click(TObject *Sender)

{

Form2->Height=233;

Form2->Width=489;

Panel3->Visible=false;

Panel3->Enabled=false;

Panel6->Visible=false;

Panel6->Enabled=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button5Click(TObject *Sender)

{

if(DBEdit7->Text!=""){

if(DBEdit9->Text!=""){

DBNavigator3->BtnClick(nbPost);

DBNavigator3->BtnClick(nbInsert);

try{

ADOQuery4->SQL->Text="select * from k_disk";

ADOQuery4->Open();

ComboBox2->Items->Clear();

int n1;

n1=ADOQuery4->RecordCount;

ADOQuery4->First();

for (int i=0;i<n1;i++)

{

ComboBox2->Items->Add(ADOQuery4->FieldByName("disk")->AsString);

ADOQuery4->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::DBEdit7Change(TObject *Sender)

{

if(DBEdit7->Text!=""){

if(DBEdit9->Text!=""){

Button5->Enabled=true;

}

}

if(DBEdit7->Text==""){

Button5->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::DBEdit9Change(TObject *Sender)

{

if(DBEdit7->Text!=""){

if(DBEdit9->Text!=""){

Button5->Enabled=true;

}

}

if(DBEdit9->Text==""){

Button5->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button3Click(TObject *Sender)

{

DBNavigator4->BtnClick(nbPost);

DBNavigator4->BtnClick(nbInsert);

DBNavigator1->BtnClick(nbInsert);

//DBNavigator1->BtnClick(nbRefresh);

ComboBox1->Text="";

ComboBox2->Text="";

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button6Click(TObject *Sender)

{

DBNavigator1->BtnClick(nbPost);

for(int i=0;i<100;i++)

{

ProgressBar1->StepBy(1);

}

if(ProgressBar1->Position==100)

{

ProgressBar1->Position=0;

}

Button3->Click();

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button7Click(TObject *Sender)

{

Form4->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Label4Click(TObject *Sender)

{

try{

ADOQuery5->Open();

ADOQuery3->SQL->Text="select * from k_zhanr";

ADOQuery3->Open();

ComboBox3->Items->Clear();

int n;

n=ADOQuery3->RecordCount;

ADOQuery3->First();

for (int i=0;i<n;i++)

{

ComboBox3->Items->Add(ADOQuery3->FieldByName("zhanr")->AsString);

ADOQuery3->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

DBNavigator2->BtnClick(nbInsert);

Form2->Height=383;

Form2->Width=489;

Panel3->Visible=true;

Panel3->Enabled=true;

Panel6->Visible=false;

Panel6->Enabled=false;

     

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Label5Click(TObject *Sender)

{

try{

ADOQuery7->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

DBNavigator3->BtnClick(nbInsert);

Form2->Height=383;

Form2->Width=489;

Panel6->Visible=true;

Panel6->Enabled=true;

Panel3->Visible=false;

Panel3->Enabled=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Form9->Show();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Edit1Change(TObject *Sender)

{

ADOQuery1->SQL->Text="exec poiskpesnya '" + Edit1->Text + "'";

try{

ADOQuery1->Open();

}

catch(...){

}

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Edit2Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec poiskgruppa '" + Edit2->Text + "'";

try{

ADOQuery2->Open();

}

catch(...){

}

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Button1Click(TObject *Sender)

{

Form3->Close();

Form1->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)

{

Form3->Close();

Form1->Show();        

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#include <ccalendr.h>

#pragma hdrstop

#include "Unit4.h"

#include "Unit2.h"

#include "Unit1.h"

#include "Unit3.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "CCALENDR"

#pragma resource "*.dfm"

TForm4 *Form4;

//---------------------------------------------------------------------------

__fastcall TForm4::TForm4(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm4::FormCreate(TObject *Sender)

{

try{

ADOQuery1->Open();

ADOQuery2->SQL->Text="select * from k_gruppi";

ADOQuery2->Open();

ComboBox1->Items->Clear();

int n;

n=ADOQuery2->RecordCount;

ADOQuery2->First();

for (int i=0;i<n;i++)

{

ComboBox1->Items->Add(ADOQuery2->FieldByName("gruppa")->AsString);

ADOQuery2->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

DBNavigator1->BtnClick(nbInsert);

}

//---------------------------------------------------------------------------

void __fastcall TForm4::ComboBox1Change(TObject *Sender)

{

ADOQuery2->SQL->Text="exec dobidgr '" + ComboBox1->Text +"'";;

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="select * from gr";

try{

ADOQuery3->Open();

DBEdit4->Text=ADOQuery3->FieldByName("identa")->AsString;

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(ComboBox1->Text!=""){

Button1->Enabled=true;

}

}

}

}

if(ComboBox1->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm4::DBEdit1Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(ComboBox1->Text!=""){

Button1->Enabled=true;

}

}

}

}

if(DBEdit1->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm4::DBEdit2Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(ComboBox1->Text!=""){

Button1->Enabled=true;

}

}

}

}

if(DBEdit2->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm4::DBEdit3Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(ComboBox1->Text!=""){

Button1->Enabled=true;

}

}

}

}

if(DBEdit3->Text=="**.**.**"){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button1Click(TObject *Sender)

{

for(int i=0;i<100;i++){

ProgressBar1->StepBy(1);

Cursor=crHourGlass;

}

if(ProgressBar1->Position==100){

DBNavigator1->BtnClick(nbPost);

DBNavigator1->BtnClick(nbRefresh);

DBNavigator1->BtnClick(nbInsert);

ProgressBar1->Position=0;

Cursor=crDefault;

}

ComboBox1->Text="";

DBEdit1->Text="";

DBEdit2->Text="";

Cursor=crDefault;

}

//---------------------------------------------------------------------------

void __fastcall TForm4::DateTimePicker1Change(TObject *Sender)

{

DBEdit3->Text=DateTimePicker1->DateTime;

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button2Click(TObject *Sender)

{

Form2->Show();

Form4->Close();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#include <ccalendr.h>

#pragma hdrstop

#include "Unit6.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm6 *Form6;

//---------------------------------------------------------------------------

__fastcall TForm6::TForm6(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm6::N1Click(TObject *Sender)

{

Form6->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DateTimePicker1Change(TObject *Sender)

{

DBEdit3->Text=DateTimePicker1->DateTime;

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit3->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DateTimePicker2Change(TObject *Sender)

{

DBEdit4->Text=DateTimePicker2->DateTime;

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit4->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::FormCreate(TObject *Sender)

{

ADOQuery1->Open();

ADOQuery2->Open();

}

//---------------------------------------------------------------------------

void __fastcall TForm6::Button1Click(TObject *Sender)

{

Panel2->Visible=false;

Panel2->Align=alNone;

Button1->Visible=false;

DBNavigator1->BtnClick(nbInsert);

DBNavigator2->BtnClick(nbInsert);

DBEdit4->Text=DateTimePicker2->DateTime;

}

//---------------------------------------------------------------------------

void __fastcall TForm6::Button2Click(TObject *Sender)

{

if(Edit1->Text!=""){

if(Edit1->Text!=DBEdit10->Text){

MessageBox(Handle,"ПАРОЛИ НЕ СОВПОДАЮТ","Осторожно",48);

}

if(Edit1->Text==DBEdit10->Text){

for(int i=0;i<100;i++){

ProgressBar1->StepBy(1);

}

if(ProgressBar1->Position==100){

ProgressBar1->Position=0;

}

Form1->Caption=DBEdit1->Text;

DBNavigator2->BtnClick(nbPost);

DBNavigator1->BtnClick(nbPost);

Form6->Close();

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit8Change(TObject *Sender)

{

int Result;

int n;

n=ADOQuery2->RecordCount;

ADOQuery3->SQL->Text="exec idlog  '" + DBEdit8->Text +"'";

try{

ADOQuery3->Open();

}

catch(...){

}

ADOQuery3->SQL->Text="select * from pasw";

try{

ADOQuery3->Open();

AnsiString s;

s=ADOQuery3->FieldByName("identa")->AsString;

if(s>0){

//Result=MessageBox(Handle,"","",16420);

Button2->Enabled=false;

DBEdit9->Text=n;

}

if(s==0){

DBEdit9->Text=(n+1);

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit7->Text==""){

Button2->Enabled=false;

}

}

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit1Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit2->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit2Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit2->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit5Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit5->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit6Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit6->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit7Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit5->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm6::DBEdit10Change(TObject *Sender)

{

if(DBEdit1->Text!=""){

if(DBEdit2->Text!=""){

if(DBEdit3->Text!=""){

if(DBEdit4->Text!=""){

if(DBEdit5->Text!=""){

if(DBEdit6->Text!=""){

if(DBEdit7->Text!=""){

if(DBEdit8->Text!=""){

if(DBEdit10->Text!=""){

Button2->Enabled=true;

}}}}}}}}}

if(DBEdit10->Text==""){

Button2->Enabled=false;

}

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit7.h"

#include "Unit2.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm7 *Form7;

//---------------------------------------------------------------------------

__fastcall TForm7::TForm7(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm7::RadioButton1Click(TObject *Sender)

{

ADOQuery1->SQL->Text="select * from k_gruppi";

try{

ADOQuery1->Open();

}

catch(...){

}

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button2Click(TObject *Sender)

{

Form7->Close();

Form1->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm7::ComboBox1Change(TObject *Sender)

{

Edit1->Text=ComboBox1->Text;

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button1Click(TObject *Sender)

{

if(ComboBox1->Text!="" && Edit1->Text!=""){

try{

ADOQuery1->SQL->Text="exec redgryp '" + Edit1->Text + "', '" + ComboBox1->Text + "'";

ADOQuery1->Open();

ADOQuery1->Refresh();

}

catch(Exception &E)

{

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

else {

MessageBox(Handle,"Поля не должны быть пустыми","Не изменилось",48);

}

try{

ADOQuery1->SQL->Text="select * from k_gruppi";

ADOQuery1->Open();

ComboBox1->Items->Clear();

int n;

n=ADOQuery1->RecordCount;

ADOQuery1->First();

for (int i=0;i<n;i++)

{

ComboBox1->Items->Add(ADOQuery1->FieldByName("gruppa")->AsString);

ADOQuery1->Next();

}

}

catch(Exception &E)

{

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm7::ComboBox2Change(TObject *Sender)

{

ADOQuery1->SQL->Text="exec dobidgr '" + ComboBox2->Text +"'";;

try{

ADOQuery1->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery2->SQL->Text="select * from gr";

try{

ADOQuery2->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery3->SQL->Text="exec redsostav '" + ADOQuery2->FieldByName("identa")->AsString +"'";

try{

ADOQuery3->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm7::FormCreate(TObject *Sender)

{

ADOQuery2->Open();

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button5Click(TObject *Sender)

{

Form7->Close();

Form1->Show();        

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button3Click(TObject *Sender)

{

DBNavigator1->BtnClick(nbEdit);

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button6Click(TObject *Sender)

{

DBNavigator1->BtnClick(nbPost);

}

//---------------------------------------------------------------------------

void __fastcall TForm7::Button4Click(TObject *Sender)

{

DBNavigator1->BtnClick(nbDelete);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit8.h"

#include "Unit1.h"

#include "Unit2.h"

#include "Unit7.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "CGAUGES"

#pragma resource "*.dfm"

TForm8 *Form8;

//---------------------------------------------------------------------------

__fastcall TForm8::TForm8(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm8::Button1Click(TObject *Sender)

{

CGauge1->Visible=true;

int i=0;

int nn;

nn=random(98)+1;

ADOQuery1->SQL->Text="exec logpas '" + Edit1->Text +"', '" + Edit2->Text + "'";

try{

ADOQuery1->Open();}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery2->SQL->Text="select * from pasw";

try{

ADOQuery2->Open();

if((ADOQuery2->FieldByName("identa")->AsString)==0){

for(int t=0; t<1000000000; t++){

//if(t<1000000000){

i++;//}

if(i==10000000){

CGauge1->AddProgress(1);

i=0;

if(CGauge1->Progress==nn){

t=10000000000;

MessageBox(Handle,"error","Идентификация",48);

/*ADOQuery1->Refresh();

ADOQuery2->Refresh();*/

CGauge1->Visible=false;

ADOQuery1->Close();

ADOQuery2->Close();

Form8->Close();

Form1->Show();}}}}

else if((ADOQuery2->FieldByName("identa")->AsString)>0){

int i=0;

for(int t=0; t<1000000000; t++){

i++;

if(i==10000000){

CGauge1->AddProgress(1);

i=0;}}

MessageBox(Handle,"ок","Идентификация",48);

if(Form1->mn==0){

Form2->Height=233;

Form2->Width=489;

Form8->Close();

CGauge1->Visible=false;

Form2->Show();}

if(Form1->mn==1){

Form7->GroupBox1->Visible=true;

Form7->GroupBox1->Enabled=true;

Form7->GroupBox2->Visible=false;

Form7->GroupBox2->Enabled=false;

try{

Form7->ADOQuery1->SQL->Text="select * from k_gruppi";

Form7->ADOQuery1->Open();

Form7->ComboBox1->Items->Clear();

int n;

n=Form7->ADOQuery1->RecordCount;

Form7->ADOQuery1->First();

for (int i=0;i<n;i++){

Form7->ComboBox1->Items->Add(Form7->ADOQuery1->FieldByName("gruppa")->AsString);

Form7->ADOQuery1->Next();}}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

CGauge1->Visible=false;

Form8->Close();

Form7->Show();}

if(Form1->mn==2){

Form7->GroupBox2->Visible=true;

Form7->GroupBox2->Enabled=true;

Form7->GroupBox1->Visible=false;

Form7->GroupBox1->Enabled=false;

try{

Form7->ADOQuery1->SQL->Text="select * from k_gruppi";

Form7->ADOQuery1->Open();

Form7->ComboBox2->Items->Clear();

int n;

n=Form7->ADOQuery1->RecordCount;

Form7->ADOQuery1->First();

for (int i=0;i<n;i++){

Form7->ComboBox2->Items->Add(Form7->ADOQuery1->FieldByName("gruppa")->AsString);

Form7->ADOQuery1->Next();}}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

CGauge1->Visible=false;

Form8->Close();

Form7->Show();}

}}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm8::Edit1Change(TObject *Sender)

{

CGauge1->Progress=0;        

}

//---------------------------------------------------------------------------

void __fastcall TForm8::Edit2Change(TObject *Sender)

{

CGauge1->Progress=0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit9.h"

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm9 *Form9;

//---------------------------------------------------------------------------

__fastcall TForm9::TForm9(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm9::ComboBox1Change(TObject *Sender)

{

ADOQuery1->SQL->Text="exec zhh '" + ComboBox1->Text +"'";;

try{

ADOQuery1->Open();

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

ADOQuery2->SQL->Text="select * from zhz";

try{

ADOQuery2->Open();

//Edit1->Text=ADOQuery2->FieldByName("identa")->AsString;

}

catch(Exception &E){

//ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

if(ComboBox1->Text!=""){

if(Edit1->Text!=""){

Button1->Enabled=true;

}

}

if(ComboBox1->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm9::FormCreate(TObject *Sender)

{

try{

ADOQuery1->SQL->Text="select * from k_zhanr";

ADOQuery1->Open();

ComboBox1->Items->Clear();

int n;

n=ADOQuery1->RecordCount;

ADOQuery1->First();

for (int i=0;i<n;i++)

{

ComboBox1->Items->Add(ADOQuery1->FieldByName("zhanr")->AsString);

ADOQuery1->Next();

}

}

catch(Exception &E)

{

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm9::Button1Click(TObject *Sender)

{

ADOQuery2->SQL->Text="exec dobst '" + Edit1->Text + ", " + Edit2->Text + "'";

try{

ADOQuery2->Open();

}

catch(Exception &E){

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

try{

ADOQuery1->SQL->Text="select * from k_zhanr";

ADOQuery1->Open();

ComboBox1->Items->Clear();

int n;

n=ADOQuery1->RecordCount;

ADOQuery1->First();

for (int i=0;i<n;i++){

ComboBox1->Items->Add(ADOQuery1->FieldByName("zhanr")->AsString);

ADOQuery1->Next();

}

}

catch(Exception &E){

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

}

//---------------------------------------------------------------------------

void __fastcall TForm9::Edit1Change(TObject *Sender)

{

if(ComboBox1->Text!=""){

if(Edit1->Text!=""){

Button1->Enabled=true;

}

}

if(Edit1->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm9::Edit3Change(TObject *Sender)

{

if(Edit3->Text!=""){

Button1->Enabled=true;

}

if(Edit3->Text==""){

Button1->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm9::Button2Click(TObject *Sender)

{

ADOQuery2->SQL->Text="exec dobzh '" + Edit1->Text + "'";

try{

ADOQuery2->Open();

}

catch(Exception &E){

ShowMessage(AnsiString(E.ClassName()) + " " + E.Message + " " );

}

      

}

//---------------------------------------------------------------------------

6. Организационное проектирование.

Пользователи:

  •  системный администратор – без ограничения прав доступа к базе данных.
  •  Любые лица, которым нечего делать, и решили использовать данную базу, т.е. без ограничений.

Аппаратное оснащение системы:

  •  Сервер:
  •  Процессор не ниже 2 Гц;
  •  Оперативная память минимум 1024 Мб;
  •  Сетевая карта;
  •  Операционная система, поддерживающая технологию NT.
  •  Рабочие станции:
  •  Процессор не ниже 1 Гц;
  •  Оперативная память минимум 128 Мб;
  •  Сетевая карта;
  •  Операционная система Windows 2000.

Передача данных (сеть):

  •  Скорость 10 Мб/с;
  •  Топология любая, поддерживающая протоколы TCP/IP.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

одпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист


 

А также другие работы, которые могут Вас заинтересовать

40414. Английская революция XVII века 262.06 KB
  Гражданская война Начало войны Большое число роялистов присоединилось к армии короля. Один из офицеров парламентской армии Оливер Кромвель обратил внимание на вражескую кавалерию. Солдаты Армии нового образца получали должную военную подготовку и в бою вели себя очень дисциплинированно. Раньше офицерами становились солдаты из благополучных и знатных семей но в Армии нового образца они выдвигались по службе по мере своих заслуг на поле боя и боевых качеств.
40415. Буржуазные революции и национально-освободительные движения в 20-е годы XIX века в Европе 58.93 KB
  Буржуазные революции в Испании Португалии и Италии были вызваны притязаниями буржуазии на власть и ее борьбой против абсолютизма восстановленного после краха наполеоновской империи. Хотя обстановка в этих странах в годы Реставрации существенно различалась в Италии антифеодальные преобразования революционного и наполеоновского периода в основном остались в силе тогда как в Испании и Португалии феодальные устои общества не были поколеблены вспыхнувшие здесь буржуазные революции имели некоторые общие специфические черты. Революции в...
40416. Европейский абсолютизм и его особенности 24.47 KB
  Во Франции абсолютизму благоприятствовали богословы приписывающие верховной власти божественное происхождение и юристы признававшие за государями абсолютную власть древних римских императоров. На протяжении всего девятнадцатого века после Великой Французской Революции происходит процесс постепенной демократизации и ограничения власти монарха. Юридическое обоснование своей власти монархи находили в восстановлении нормы римского права которая была зафиксирована в VI веке в Кодексе византийского императора Юстиниана: Воля императора имеет...
40417. Великая францу́зская револю́ция 244.54 KB
  [править]Характер Историки утверждают что Великая французская революция по своему характеру была буржуазной заключалась в смене феодального строя капиталистическим и ведущую роль в этом процессе играл класс буржуазии свергнувший в ходе революции феодальную аристократию. [править]Созыв Генеральных штатов После целого ряда неудачных попыток выйти из затруднительного финансового положения Людовик XVI объявил в декабре 1787 года что созовёт государственные чины Франции на заседаниегенеральных штатов через пять лет....
40418. ГЕРМАНИЯ В 1815–1847 ГГ 16.77 KB
  Самыми развитыми в экономическом отношении районами стали территории среднего течения Рейна – Рейнско Вестфальские провинции Пруссии богатые залежами каменного угля и железной руды. крупнейшим торгово промышленным центром становится столица Пруссии – Берлин город с 400–тысячным населением. В нем сосредоточилось 2 3 всего машиностроительного и ситценабивного производства Пруссии. и Пруссии таможенные барьеры между государствами входившими в Германский союз.
40419. Англійський абсолютизм, його особливі риси 149.2 KB
  произвол королевских чиновников и судей злоупотребления королевских фаворитов герцог Бэкингем; распространение законов военного времени на время мирное постои армии в домах частных лиц; ограничения в торговой и промышленной сферах государственные монополии; стремление реставрировать ненавистный большинству англичан католицизм; ориентация династии Стюартов Яков I Карл I на католические государства континентальной Европы Францию Италию традиционных торговых соперников Англии. зачастую поразному относились к тем или...
40420. Німеччина 102.91 KB
  На развитие немецкого Просвещения влияли политическая раздробленность Германии и ее экономическая отсталость что определило преимущественный интерес немецких просветителей не к социальнополитическим проблемам а к вопросам философии морали эстетики и воспитания. Молодой Лессинг первый в Германии XVIII в. В отличие от Англии и Франции где абсолютизм способствовал государственному объединению в Германии XVIIXVIII вв. Он взял сюжет не из далекого прошлого но из самой живой современности Минна фон Барнхельм Направленная...
40421. Іспанський абсолютизм, його характерні риси 62.5 KB
  Это дало основание Марксу сравнить абсолютную монархию в Испании с Турецкой империей. Испания – писал Маркс – подобно Турции оставалась скоплением дурно управляемых республик с номинальным сувереном во главе В сложившихся условиях в Испании не выработался единый национальный язык сохранились обособленные этнические группы: каталонцы галисийцы и баски говорили на своих языках отличных от кастильского диалекта который составил основу литературного испанского языка. Абсолютная монархия в Испании не смогла стать объединяющим началом...
40422. Італія 2 пол. 17-18 ст. 89.57 KB
  подъем начали переживать и традиционные для Италии виды ремесел связанные с рынком предметов роскоши тканей и одежды для представителей благородных сословий холодного оружия. Однако масштабы экономического оживления в Италии в целом оказались невелики. Очень заметным становилось отставание Италии и в развитии новой предпринимательской культуры которая по своим мировоззренческих и социальнопсихологическим основам была тесно связана с протестантским духом. Вследствие всех этих причин в Италии очень затянулся процесс перехода от...