43030

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

Курсовая

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

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

Русский

2013-11-01

3.57 MB

2 чел.

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.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

одпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Лист

Дата

Подпись

№ докум.

Лист

Изм.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Изм.

Лист

№ докум.

Подпись

Дата

Лист


 

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

51222. Моделювання BPMN структури підприємства 1.41 MB
  Виділяють чотири основні категорії елементів: Обєкти потоку управління: події дії і логічні оператори Зєднуючі обєкти: потік управління потік повідомлень та асоціації Ролі: пули і доріжки Артефакти: дані групи і текстові анотації. Опис технологічних процесів і функційОбєкти що описують процеси і функції поділяються на три основних типи: Події events Дії ctivities Логічні оператори gtewys. ПодіїПодії зображуються колом. Згідно розташуванню в процесі події можуть бути класифіковані на початкові strt проміжні...
51223. МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССА ПРЕДПРИЯТИЯ В НОТАЦИИ BPMN 767 KB
  Графическое представение Наименование None Ничто Conditionl event Условные события Messege event Сообщение события Multiple event Несколько событий Prllel multiple event Параллельные множественные события Signl event Знаковые события Timer event Событие таймера None Никто Compenstion event Компенсация события Conditionl event Условные события Escltion event Расширение наращивание постепенное усиление события Link event Ссылка событий Messege event Сообщение события Multiple event Несколько...
51227. Дослідження процесів теплообміну та порівняння потоків теплоти через різні поверхні термодинамічної системи 470 KB
  Основною метою роботи є визначення коефіцієнта співвідношення теплових потоків що виходять з заданої термодинамічної системи через дві поверхні – відкриту поверхню води та стінки сосуду тобто оцінка ефективності теплоізолюючих параметрів стінок сосуду. Порядок виконання роботи Залити в сосуди визначену кількість гарячої води з температурою t1. Визначити початкові дані температуру води і зовнішнього середовища tзс і занести в таблицю 3. де c – питома теплоємкість рідини теплоємність води с = 4187 Дж кг˚С; m – маса води у сосуді...
51228. ИССЛЕДОВАНИЕ ОСНОВНЫХ МЕТРОЛОГИЧЕСКИХ ХАРАКТЕРИСТИК ЭЛЕКТРОМЕХАНИЧЕСКИХ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ 644.81 KB
  Определить основную погрешность и вариацию показаний поверяемого миллиамперметра или вольтметра на постоянном токе. Погрешность и вариация определяются для 6 – 8 точек шкалы с обязательным включением в число поверяемых точек всех числовых отметок. Определить основную погрешность поверяемого прибора длячего: а указатель поверяемого прибора последовательно установить наповеряемые отметки шкалы сначала при плавном увеличении измеряемой величины а затем на те же отметки при плавном уменьшенииизмеряемой величины; б для всех поверяемых отметок...
51229. ИЗМЕРЕНИЕ ПАРАМЕТРОВ СИГНАЛОВ В ЭЛЕКТРОННЫХ СХЕМАХ 305.66 KB
  Поскольку в практике встречаются сигналы различной формы то важно учитывать тип детектора и в каких значениях напряжения проградуирована шкала вольтметра. Прежде чем приступить к измерению напряжения необходимо на основании предварительного анализа сигнала форма частота возможный порядок напряжения и участка цепи к которому будет подключаться вольтметра характер цепи эквивалентное сопротивление цепи а также с учетом требований к точности результата измерений выбрать тип вольтметра. При этом следует использовать сведения о MX...