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

#include <vcl.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "JvComponentBase"
#pragma link "JvHidControllerClass"
#pragma link "JvGIF"
#pragma resource "*.dfm"
TForm1 *Form1;

int Written;
int Loud=4,Control=0,pozice_Vst=3,Loudpom=64,poz_Vst=0,Con_Ztl=1,Con_Ztlvp=1,Con_Ztlvz=1;
int pozice_Hlo,pozice_Vys,pozice_Hla,pozice_Vyvp,pozice_Vyvz;
int pozH1,pozH2=103,pozH3=103,pozV1,pozV2=119,pozV3=119;
int poz_Hla1,poz_Hla2=63,poz_Hla3=63;
int poz_Vyvp1,poz_Vyvp2=160,poz_Vyvp3=160;
int poz_Vyvz1,poz_Vyvz2=224,poz_Vyvz3=224;
unsigned char buff[9];

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TForm1::HIDCtlDeviceChange(TObject *Sender)
{
                                                                                //Tato funkce se zavola pri kazde zmene HID zarizeni
                                                                                //Program musi pocitat s tim, ze se zarizeni muze
                                                                                //kdykoli odpojit

                                                                                //odpojime se
  if (ActiveDevice!=NULL) HIDCtl->CheckIn(ActiveDevice);
                                                                                //Znovu nacist zarizeni
     HIDCtl->Enumerate();
                                                                                //Naslo se ?
  if (ActiveDevice != NULL)
  {
     Application->MessageBox("Zařízení USB je úspěšně připojeno", "Korekční zesilovač", MB_OK);                                                 //Zakáže používat Vstupní zesílení(Vstup2)
     Hloubky->Enabled=true;
     Hlasitost->Enabled=true;
     Vysky->Enabled=true;
     Vyvazeni_Zad->Enabled=true;
     Vyvazeni_Pred->Enabled=true;
     Vstupy->Enabled=true;
     Vstup1->Enabled=true;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
     Vstup2->Enabled=true;
     Vstup3->Enabled=true;
     Z_Predni->Enabled=true;
     Z_Zadni->Enabled=true;
     Loudness->Enabled=true;
     Uplne_Ztlumeni->Enabled=true;
     Z_Predni->Checked=false;
     Z_Zadni->Checked=false;
     Loudness->Checked=false;
     Uplne_Ztlumeni->Checked=false;
     Hlasitost->Position=63;
     Vyvazeni_Pred->Position=160;
     Vyvazeni_Zad->Position=224;
     Hloubky->Position=103;
     Vysky->Position=119;
     Vstup1->Position=92;
     Vstup2->Position=93;
     Vstup3->Position=94;
     Vstupy->ItemIndex=0;
     UVstup1->Caption="0dB";
     UVstup2->Caption="0dB";
     UVstup3->Caption="0dB";
     UHlasitost->Caption="-78,75dB";
     UHloubky->Caption="0dB";
     UVysky->Caption="0dB";
     UVyva_pred->Caption="0dB";
     UVyva_zad->Caption="0dB";
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=92;                                                                //naplní buff[1] nastaví vstup 1 bez Loudness 0dB
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=128;                                                               //naplní buff[1] útlum 0dB pro levý přední
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=160;                                                               //naplní buff[1] útlum 0dB pro pravý přední
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=192;                                                               //naplní buff[1] útlum 0dB pro levý zadní
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=224;                                                               //naplní buff[1] útlum 0dB pro pravý  zadní
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=63;                                                                //naplní buff[1] útlum -78,75dB pro zesílení
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=103;                                                               //naplní buff[1] útlum 0dB pro hloubky
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     buff[0]=0;                                                                 //Musí naplnit buff[0]=0 z důvodu správné komunikace
     buff[1]=119;                                                               //naplní buff[1] útlum 0dB pro výšky
     ActiveDevice->WriteFile(buff, 9,Written );                               //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
     Label1->Caption=IntToStr(119);                                             //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  }
  else
  {
     Application->MessageBox("Zařízení USB není připojeno!!!!Prosím nejdříve stiknete OK a poté připojte zařízení ke sběrnici USB", "Korekční zesilovač", MB_OK);
     Z_Predni->Enabled=false;
     Z_Zadni->Enabled=false;
     Loudness->Enabled=false;
     Vstup1->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
     Vstup2->Enabled=false;
     Vstup3->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
     Hloubky->Enabled=false;
     Hlasitost->Enabled=false;
     Vysky->Enabled=false;
     Vyvazeni_Zad->Enabled=false;
     Vyvazeni_Pred->Enabled=false;
     Vstupy->Enabled=false;
     Uplne_Ztlumeni->Enabled=false;
  }
}

bool __fastcall TForm1::HIDCtlEnumerate(TJvHidDevice *HidDev,
      const int Idx)
{
                                                                                //Tato funkce se opakovane vola pro kazde zarizeni HID.
                                                                                //Podle VID a PID najdeme to nase
                                                                                // a aktivujeme je (funkce checkout)
  AnsiString S;

  if ((HidDev->Attributes.VendorID == 0x03EB) && (HidDev->Attributes.ProductID == 0x2013))
  {
  //tohle je nase zarizeni - vypis hodnot
  S.sprintf("(Ver=%01X.%01X.%01X.%01X, SN=%ls)",
  ((HidDev->Attributes.VersionNumber)&0x55) ,
  ((HidDev->Attributes.VersionNumber)&0xAA) ,
  ((HidDev->Attributes.VersionNumber)&0x55) ,
  ((HidDev->Attributes.VersionNumber)&0xAA),
  HidDev->SerialNumber );
  //Memo1->Lines->Add("  nalezeno: " + HidDev->ProductName +" "+ S);
                                                                                //checkout
  HIDCtl->CheckOutByIndex(ActiveDevice, Idx);
  }
  return(true);
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
 if (ActiveDevice!=NULL) HIDCtl->CheckIn(ActiveDevice);
}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
 pozice_Hla=Hlasitost->Position;
 pozice_Vyvp=Vyvazeni_Pred->Position;
 pozice_Vyvz=Vyvazeni_Zad->Position;
 pozice_Hlo=Hloubky->Position;
 pozice_Vys=Vysky->Position;

 ActiveDevice=NULL;
}

void __fastcall TForm1::HlasitostChange(TObject *Sender)
{
    pozice_Hla=Hlasitost->Position;                                             //Určí pozici Hlasitosti a zapíše do proměné pozice_Hla(pozice posuvníku)
    buff[0]=0;                                                                  //Musí naplnit buff[0]=0 z důvodu správné komunikace
    buff[1]=pozice_Hla;                                                         //naplní buff[1] proměnou pozice_Hla
    ActiveDevice->WriteFile(buff, 9,Written );                                  //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
    UHlasitost->Caption=FloatToStr(-pozice_Hla*1.25)+"dB";                      //Ukáže skutečnou velikost hlasitosti(zesílení/zeslabení v dB)
    Label1->Caption=IntToStr(pozice_Hla);                                       //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::HloubkyChange(TObject *Sender)
{
 int posHlou;                                                                   //pomocná proměná pro výpočet Hloubek(pozice posuvníku)

 pozice_Hlo=Hloubky->Position;                                                  //Určí pozici Hloubek

 if ((pozice_Hlo<103)&(Hlasitost->Position<11))
 {
  Hlasitost->Position=11;
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=11;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );
 }

 if (pozice_Hlo>103)                                                            //Testuje se jetli,že pozice Hloubek větší než 103(Jestli budou Hloubky klesat).Jestli ano nastává přepočet na správná data pro audioprocesor
 {
  posHlou=206-pozice_Hlo;                                                       //Převádí zvyšující ze ukazetel pozice_Hlo na snižující číslo.Přepočet pro správná data pro audioprocesor.V posHlou je skutečné číslo pro komunikaci s audioprocesorem
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=posHlou;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );                                    //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UHloubky->Caption=IntToStr(2*posHlou-206)+"dB";                               //Ukáže skutečnou velikost hloubek(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(posHlou);                                            //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
 return;                                                                        //Návrat jestli je pozice_Hlo>103
 }
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=pozice_Hlo+8;                                                         //naplní buff[1] pozice_Hlo+8->správné data pro audioprocesor,přepočet z pozice_Hlo;
  ActiveDevice->WriteFile(buff, 9,Written );                                    //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UHloubky->Caption=IntToStr((111-(pozice_Hlo+8))*2)+"dB";                      //Ukáže skutečnou velikost hloubek(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(pozice_Hlo+8);                                       //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::VyskyChange(TObject *Sender)
{
 int posVys;                                                                    //pomocná proměná pro výpočet Výšek(pozice posuvníku)

 pozice_Vys=Vysky->Position;                                                    //Určí pozici Výšek a zapíše do proměné pozice_Vys

 if ((pozice_Vys<119)&(Hlasitost->Position<11))
 {
  Hlasitost->Position=11;
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=11;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );
 }

 if (pozice_Vys>119)                                                            //Testuje se jetli,že pozice Výšek větší než 119(Jestli budou Výšky klesat).Jestli ano nastává přepočet na správná data pro audioprocesor
 {
  posVys=238-pozice_Vys;                                                        //Převádí zvyšující ze ukazetel pozice_Vys na snižující číslo.Přepočet pro správná data pro audioprocesor.V posVys je skutečné číslo pro komunikaci s audioprocesorem
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=posVys;                                                               //naplní buff[1] proměnou posVys
  ActiveDevice->WriteFile(buff, 9,Written );                                    //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UVysky->Caption=IntToStr(2*posVys-238)+"dB";                                  //Ukáže skutečnou velikost výšek(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(posVys);                                             //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
 return;
 }
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=pozice_Vys+8;                                                         //naplní buff[1] pozice_Vys+8->správné data pro audioprocesor,přepočet z pozice_Vys;
  ActiveDevice->WriteFile(buff, 9,Written );                                    //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UVysky->Caption=IntToStr((127-(pozice_Vys+8))*2)+"dB";                        //Ukáže skutečnou velikost výšek(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(pozice_Vys+8);                                       //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::VstupyClick(TObject *Sender)
{
 switch (Vstupy->ItemIndex)                                                     //Testuje jaký je vybrán Vstup.Podle toho určí na jaký skočí Case(0,1,2)
 {
case 0:  Label1->Caption=IntToStr(64+Vstup1->Position*8+Loud);                  //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
         buff[0];                                                               //Musí naplnit buff[0]=0 z důvodu správné komunikace
         buff[1]=(64+Vstup1->Position*8+Loud);                                  //naplní buff[1] (92-Vstup1->Position*8-Loud)->správné data pro audioprocesor,přepočet z Vstup1->Position(nastavení na vstup 1);
         ActiveDevice->WriteFile(buff, 9,Written );                           //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
         Vstup1->Enabled=true;                                                  //Povolí používat Vstupní zesílení(Vstup1)
         Vstup2->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
         Vstup3->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup3)
         pozice_Vst=Vstup1->Position;                                           //Uloží pozici Vstupního zesílení Vstupu 1 do proměnné pozice_Vst( z důvodu aktivování nebo deaktivování Loudness)
         Loudpom=64;                                                            //Nastaví proměnou Loudpom(pro další výpočty se vstupy) určuje s kterým vstupem bude počítáno při aktivaci nebo deaktivaci Loudness

        if (poz_Vst==1)                                                         //Testuje jaký byl před změnou vstupu aktivovaný vstup
        {
         poz_Hla2=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp2=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz2=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH2=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV2=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
        else
        {
         poz_Hla3=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp3=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz3=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH3=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV3=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
         poz_Vst=0;                                                             //Uloží do proměné poz_Vst(0).tím se určí, který byl před tím zvolen vstup
         Hlasitost->Position=poz_Hla1;                                          //Nastaví hlasitost do té polohy v které byla než se vstup1 přepl na jiný vstup
         Vyvazeni_Pred->Position=poz_Vyvp1;                                     //Nastaví vyvážení předních reproduktorů do té polohy v které byla než se vstup1 přepl na jiný vstup
         Vyvazeni_Zad->Position=poz_Vyvz1;                                      //Nastaví vyvážení zadních reproduktorů do té polohy v které byla než se vstup1 přepl na jiný vstup
         Hloubky->Position=pozH1;                                               //Nastaví hloubky do té polohy v které byla než se vstup1 přepl na jiný vstup
         Vysky->Position=pozV1;                                                 //Nastaví vyšky do té polohy v které byla než se vstup1 přepl na jiný vstup
         break;

case 1:  Label1->Caption=IntToStr(65+Vstup2->Position*8+Loud);                  //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
         buff[0];                                                               //Musí naplnit buff[0]=0 z důvodu správné komunikace
         buff[1]=(65+Vstup2->Position*8+Loud);                                  //naplní buff[1] (93-Vstup2->Position*8-Loud)->správné data pro audioprocesor,přepočet z Vstup2->Position(nastavení na vstup 2);
         ActiveDevice->WriteFile(buff, 9,Written );                             //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
         Vstup1->Enabled=false;                                                 //Povolí používat Vstupní zesílení(Vstup1)
         Vstup2->Enabled=true;                                                  //Zakáže používat Vstupní zesílení(Vstup2)
         Vstup3->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup3)
         pozice_Vst=Vstup2->Position;                                           //Uloží pozici Vstupního zesílení Vstupu 2 do proměnné pozice_Vst( z důvodu aktivování nebo deaktivování Loudness)
         Loudpom=65;                                                            //Nastaví proměnou Loudpom(pro další výpočty se vstupy) určuje s kterým vstupem bude počítáno při aktivaci nebo deaktivaci Loudness

        if (poz_Vst==0)                                                         //Testuje jaký byl před změnou vstupu aktivovaný vstup
        {
         poz_Hla1=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp1=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz1=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH1=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV1=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
        else
        {
         poz_Hla3=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp3=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz3=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH3=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV3=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
         poz_Vst=1;                                                             //Uloží do proměné poz_Vst(1).tím se určí, který byl před tím zvolen vstup
         Hlasitost->Position=poz_Hla2;                                          //Nastaví hlasitost do té polohy v které byla než se vstup2 přepl na jiný vstup
         Vyvazeni_Pred->Position=poz_Vyvp2;                                     //Nastaví vyvážení předních reproduktorů do té polohy v které byla než se vstup2 přepl na jiný vstup
         Vyvazeni_Zad->Position=poz_Vyvz2;                                      //Nastaví vyvážení zadních reproduktorů do té polohy v které byla než se vstup2 přepl na jiný vstup
         Hloubky->Position=pozH2;                                               //Nastaví hloubky do té polohy v které byla než se vstup2 přepl na jiný vstup
         Vysky->Position=pozV2;                                                 //Nastaví vyšky do té polohy v které byla než se vstup2 přepl na jiný vstup
        break;

case 2:  Label1->Caption=IntToStr(66+Vstup3->Position*8+Loud);                  //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
         buff[0];                                                               //Musí naplnit buff[0]=0 z důvodu správné komunikace
         buff[1]=(66+Vstup3->Position*8+Loud);                                  //naplní buff[1] (94-Vstup3->Position*8-Loud)->správné data pro audioprocesor,přepočet z Vstup3->Position(nastavení na vstup 3);
         ActiveDevice->WriteFile(buff, 9,Written );                           //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
         Vstup1->Enabled=false;                                                 //Povolí používat Vstupní zesílení(Vstup1)
         Vstup2->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
         Vstup3->Enabled=true;                                                  //Zakáže používat Vstupní zesílení(Vstup3)
         pozice_Vst=Vstup3->Position;                                           //Uloží pozici Vstupního zesílení Vstupu 3 do proměnné pozice_Vst( z důvodu aktivování nebo deaktivování Loudness)
         Loudpom=66;                                                            //Nastaví proměnou Loudpom(pro další výpočty se vstupy)určuje s kterým vstupem bude počítáno při aktivaci nebo deaktivaci Loudness

        if (poz_Vst==1)                                                         //Testuje jaký byl před změnou vstupu aktivovaný vstup
        {
         poz_Hla2=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp2=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz2=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH2=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV2=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
        else
        {
         poz_Hla1=pozice_Hla;                                                   //Uloží proměnou pozice_Hla(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvp1=pozice_Vyvp;                                                 //Uloží proměnou pozice_Vyvp(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         poz_Vyvz1=pozice_Vyvz;                                                 //Uloží proměnou pozice_Vyvz(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozH1=pozice_Hlo;                                                      //Uloží proměnou pozice_Hlo(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
         pozV1=pozice_Vys;                                                      //Uloží proměnou pozice_Vys(z důvodu aby se při návratu na tento vstup načetla jeho předchozí nastavení(když byl tento vstup aktivován při přepnutí na jiný vstup)
        }
         poz_Vst=2;                                                             //Uloží do proměné poz_Vst(2).tím se určí, který byl před tím zvolen vstup
         Hlasitost->Position=poz_Hla3;                                          //Nastaví hlasitost do té polohy v které byla než se vstup3 přepl na jiný vstup
         Vyvazeni_Pred->Position=poz_Vyvp3;                                     //Nastaví vyvážení předních reproduktorů do té polohy v které byla než se vstup3 přepl na jiný vstup
         Vyvazeni_Zad->Position=poz_Vyvz3;                                      //Nastaví vyvážení zadních reproduktorů do té polohy v které byla než se vstup3 přepl na jiný vstup
         Hloubky->Position=pozH3;                                               //Nastaví hloubky do té polohy v které byla než se vstup3 přepl na jiný vstup
         Vysky->Position=pozV3;                                                 //Nastaví vyšky do té polohy v které byla než se vstup3 přepl na jiný vstup
         }
}

void __fastcall TForm1::Vstup1Change(TObject *Sender)
{
 pozice_Vst=Vstup1->Position;
                                                    //Určí pozici Vstupního zesílení vstupu 1 a zapíše do proměné pozice_Vst(pozice posuvníku)
 if (pozice_Vst<3)
 {
  Hlasitost->Position=63;
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=63;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );
 }

  buff[0];                                                                       //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=(64+pozice_Vst*8+Loud);                                                //naplní buff[1] (92-pozice_Vst*8-Loud)->správné data pro audioprocesor,přepočet z pozice_Vst;
  ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UVstup1->Caption=FloatToStr(11.25- 3.75*pozice_Vst)+"dB";                      //Ukáže skutečnou velikost Vstupního zesílení 1(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(64+pozice_Vst*8+Loud);                                //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  Loudpom=64;                                                                    //Nastaví proměnou Loudpom(pro další výpočty se vstupy)
}

void __fastcall TForm1::Vstup2Change(TObject *Sender)
{
 pozice_Vst=Vstup2->Position;                                                   //Určí pozici Vstupního zesílení vstupu 2 a zapíše do proměné pozice_Vst(pozice posuvníku)

 if (pozice_Vst<3)
 {
  Hlasitost->Position=63;
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=63;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );
 }


  buff[0];                                                                       //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=(65+pozice_Vst*8+Loud);                                                //naplní buff[1] (92-pozice_Vst*8-Loud)->správné data pro audioprocesor,přepočet z pozice_Vst;
  ActiveDevice->WriteFile(buff, 9,Written );                                     //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UVstup2->Caption=FloatToStr(11.25- 3.75*pozice_Vst)+"dB";                      //Ukáže skutečnou velikost Vstupního zesílení 2 (zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(65+pozice_Vst*8+Loud);                                //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  Loudpom=65;
}

void __fastcall TForm1::Vstup3Change(TObject *Sender)
{
 pozice_Vst=Vstup3->Position;                                                   //Určí pozici Vstupního zesílení vstupu 3 a zapíše do proměné pozice_Vst(pozice posuvníku)

 if (pozice_Vst<3)
 {
  Hlasitost->Position=63;
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=63;                                                              //naplní buff[1] proměnou posHlo
  ActiveDevice->WriteFile(buff, 9,Written );
 }

  buff[0];                                                                       //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=(66+pozice_Vst*8+Loud);                                                //naplní buff[1] (92-pozice_Vst*8-Loud)->správné data pro audioprocesor,přepočet z pozice_Vst;
  ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  UVstup3->Caption=FloatToStr(11.25- 3.75*pozice_Vst)+"dB";                      //Ukáže skutečnou velikost Vstupního zesílení 3(zesílení/zeslabení v dB)
  Label1->Caption=IntToStr(66+pozice_Vst*8+Loud);                                //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  Loudpom=66;
}

void __fastcall TForm1::LoudnessClick(TObject *Sender)
{
 if(Control==0)                                                                 //Testuje jestli je Loudness zatrženo(0=ne, 1=ano)
 {
  Control=1;                                                                    //Nastaví proměnou Control=1(zatrženo)
  Loud=0;                                                                       //Nastaví proměnou Loud=0(Aktivuje Fyziologicou regulaci Loudness)
  buff[0]=0;                                                                    //Musí naplnit buff[0]=0 z důvodu správné komunikace
  buff[1]=Loudpom+pozice_Vst*8+Loud;                                                                  //naplní buff[1] pozice_Vyvz
  ActiveDevice->WriteFile(buff, 9,Written );
  Label1->Caption=IntToStr(Loudpom+pozice_Vst*8+Loud);                          //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
 return;
 }
  Control=0;                                                                    //Nastaví proměnou Control=0(nezatrženo)
  Loud=4;                                                                       //Nastaví proměnou Loud=4(Deaktivuje Fyziologicou regulaci Loudness)
  buff[0]=0;
  buff[1]=Loudpom+pozice_Vst*8+Loud;                                                                  //naplní buff[1] pozice_Vyvz
  ActiveDevice->WriteFile(buff, 9,Written );
  Label1->Caption=IntToStr(Loudpom+pozice_Vst*8+Loud);                          //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::Vyvazeni_PredChange(TObject *Sender)
{
  pozice_Vyvp=Vyvazeni_Pred->Position;                                          //pomocná proměná pro výpočet vyvážení předních reproduktorů(pozice posuvníku)

  if(pozice_Vyvp==160)                                                          //Testuje jestli je pozice_Vyvp=160(kvůli nastavení 0dB pro levý reproduktor.Pravý přední reproduktor má pro 0dB právě hodnotu 160
  {
   buff[0];                                                                     //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=128;                                                                 //naplní buff[1] 128->správné data pro audioprocesor(Nataví 0db pro levý přední reproduktor)
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  }
  if (pozice_Vyvp<160)                                                          //Testuje se jetli,že pozice vyvážení větší než 160(Jestli se bude zeslabovat levý nebo pravý přední reproduktor).Jestli ano nastává přepočet na správná data pro audioprocesor
  {
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=(159-pozice_Vyvp)+129;                                               //naplní buff[1] (159-pozice_Vyvp)+129->správné data pro audioprocesor(přepočet z pozice_Vyvp)
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
   UVyva_pred->Caption=FloatToStr(1.25*(128-((159-pozice_Vyvp)+129)))+"dB";     //Ukáže skutečnou velikost vyvážení levého nebo právého předního kanálu(zesílení/zeslabení v dB)
   Label1->Caption=IntToStr((159-pozice_Vyvp)+129);                             //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  return;                                                                       //Návrat jestli je pozice_Vyvp<160)
 }
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=pozice_Vyvp;                                                         //naplní buff[1] pozice_Vyvp
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
   UVyva_pred->Caption=FloatToStr(1.25*(160-(pozice_Vyvp)))+"dB";               //Ukáže skutečnou velikost vyvážení levého nebo právého předního kanálu(zesílení/zeslabení v dB)
   Label1->Caption=IntToStr(pozice_Vyvp);                                       //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::Vyvazeni_ZadChange(TObject *Sender)
{
  pozice_Vyvz=Vyvazeni_Zad->Position;                                           //pomocná proměná pro výpočet vyvážení zadních reproduktorů(pozice posuvníku)

  if(pozice_Vyvz==224)                                                          //Testuje jestli je pozice_Vyvz=224(kvůli nastavení 0dB pro levý reproduktor.Pravý zadní reproduktor má pro 0dB právě hodnotu 224q
  {
   buff[0];                                                                     //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=192;                                                                 //naplní buff[1] 128->správné data pro audioprocesor(Nataví 0db pro levý zadní reproduktor)
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
  }
  if (pozice_Vyvz<224)                                                          //Testuje se jetli,že pozice vyvážení větší než 224(Jestli se bude zeslabovat levý nebo pravý zadní reproduktor).Jestli ano nastává přepočet na správná data pro audioprocesor
  {
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=(223-pozice_Vyvz)+193;                                               //naplní buff[1] (223-pozice_Vyvp)+193->správné data pro audioprocesor(přepočet z pozice_Vyvz)
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
   UVyva_zad->Caption=FloatToStr(1.25*(192-((223-pozice_Vyvz)+193)))+"dB";      //Ukáže skutečnou velikost vyvážení levého nebo právého zadního kanálu(zesílení/zeslabení v dB)
   Label1->Caption=IntToStr((223-pozice_Vyvz)+193);                             //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  return;                                                                       //Návrat jestli je pozice_Vyvz<224)
 }
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=pozice_Vyvz;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );                                   //Odešle buff[9] o velikosti 9 bajtů,zde používám pro užitečné data jenom 1 bajt a to buff[1]
   UVyva_zad->Caption=FloatToStr(1.25*(224-(pozice_Vyvz)))+"dB";                //Ukáže skutečnou velikost vyvážení levého nebo právého zadního kanálu(zesílení/zeslabení v dB)
   Label1->Caption=IntToStr(pozice_Vyvz);                                       //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::Uplne_ZtlumeniClick(TObject *Sender)
{
  if(Con_Ztl==0)
  {
   Con_Ztl=1;
   Z_Predni->Enabled=true;
   Z_Zadni->Enabled=true;
   Loudness->Enabled=true;
   Vstup1->Enabled=true;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
   Vstup2->Enabled=true;
   Vstup3->Enabled=true;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
   Hloubky->Enabled=true;
   Hlasitost->Enabled=true;
   Vysky->Enabled=true;
   Vyvazeni_Zad->Enabled=true;
   Vyvazeni_Pred->Enabled=true;
   Vstupy->Enabled=true;
   Vyvazeni_Pred->Position=160;
   Vyvazeni_Zad->Position=224;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=128;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=160;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=192;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=224;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(224);                                               //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
  return;
  }
   Con_Ztl=0;
   Z_Predni->Enabled=false;
   Z_Zadni->Enabled=false;
   Loudness->Enabled=false;
   Vstup1->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
   Vstup2->Enabled=false;
   Vstup3->Enabled=false;                                                 //Zakáže používat Vstupní zesílení(Vstup2)
   Hloubky->Enabled=false;
   Hlasitost->Enabled=false;
   Vysky->Enabled=false;
   Vyvazeni_Zad->Enabled=false;
   Vyvazeni_Pred->Enabled=false;
   Vstupy->Enabled=false;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=159;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=191;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=223;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=255;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(255);                         //Zobrazí, které data posílám mikroprocesoru.Data jsou v desítkovém zobrazení.Při přenosu jsou ovšem ve formě binární
}

void __fastcall TForm1::Z_PredniClick(TObject *Sender)
{
  if(Con_Ztlvp==1)
  {
   Z_Zadni->Checked=False;
   Z_Predni->Checked=true;
   Con_Ztlvz=1;
   Con_Ztlvp=0;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=159;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=191;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(191);
   Vyvazeni_Pred->Enabled=false;
  return;
  }
   Z_Predni->Checked=False;
   Con_Ztlvz=1;
   Con_Ztlvp=1;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=128;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=160;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(160);
   Vyvazeni_Pred->Enabled=true;
   Vyvazeni_Pred->Position=160;
}

void __fastcall TForm1::Z_ZadniClick(TObject *Sender)
{
  if(Con_Ztlvz==1)
  {
   Z_Predni->Checked=False;
   Z_Zadni->Checked=true;
   Con_Ztlvp=1;
   Con_Ztlvz=0;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=223;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=255;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(225);
   Vyvazeni_Zad->Enabled=false;
  return;
  }
   Z_Zadni->Checked=False;
   Con_Ztlvp=1;
   Con_Ztlvz=1;
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=192;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   buff[0]=0;                                                                   //Musí naplnit buff[0]=0 z důvodu správné komunikace
   buff[1]=224;                                                         //naplní buff[1] pozice_Vyvz
   ActiveDevice->WriteFile(buff, 9,Written );
   Label1->Caption=IntToStr(224);
   Vyvazeni_Zad->Enabled=true;
   Vyvazeni_Zad->Position=224;
}


void __fastcall TForm1::KonecClick(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------



void __fastcall TForm1::InfoClick(TObject *Sender)
{
Application->MessageBox("© Copyright 2009 (Bakalářská práce)  Autor: Marek Požár  Student FEKT VUT BRNO", "Korekční zesilovač", MB_OK);
}
//---------------------------------------------------------------------------

