//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "LockFuses.h"          // для использования окна LockFusesForm
#include "ChipFunctions.h"      // переменные для работы с чипом
#include "FormFunctions.h"      // переменные для работы с формой
#include "Main.h"               // переменные для работы с главной формой
#include "LogFunctions.h"       // переменные для отправки сообщений в лог
#include "ProgressBar.h"        // для использования прогресс-бара
#include "PICFunctions.h"       // переменные для функций работы с чипами PIC
#include "pic16f630.h"          // переменные для функций работы с PIC16F630 / PIC16F676
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TLockFusesForm *LockFusesForm;
//---------------------------------------------------------------------------
//--- ИНИЦИАЛИЗИРУЕМ ВСЕ ЧЕКБОКСЫ -------------------------------------------
//---------------------------------------------------------------------------
void IniteAllCheckboxes()
{ LockFusesForm->Panel1->Visible        = false;        // делаем панель с чекбоксами невидимой
  // делаем все байты невидимыми
  LockFusesForm->GroupBox1->Visible     = false;        // делаем невидимым Байт 0
  LockFusesForm->GroupBox2->Visible     = false;        // делаем невидимым Байт 1
  LockFusesForm->GroupBox3->Visible     = false;        // делаем невидимым Байт 2
  LockFusesForm->GroupBox4->Visible     = false;        // делаем невидимым Байт 3
  // делаем все чекбоксы невидимыми
  LockFusesForm->CheckBox1->Visible     = false;        // делаем невидимым бит 0 байта 0
  LockFusesForm->CheckBox2->Visible     = false;        // делаем невидимым бит 1 байта 0
  LockFusesForm->CheckBox3->Visible     = false;        // делаем невидимым бит 2 байта 0
  LockFusesForm->CheckBox4->Visible     = false;        // делаем невидимым бит 3 байта 0
  LockFusesForm->CheckBox5->Visible     = false;        // делаем невидимым бит 4 байта 0
  LockFusesForm->CheckBox6->Visible     = false;        // делаем невидимым бит 5 байта 0
  LockFusesForm->CheckBox7->Visible     = false;        // делаем невидимым бит 6 байта 0
  LockFusesForm->CheckBox8->Visible     = false;        // делаем невидимым бит 7 байта 0
  LockFusesForm->CheckBox9->Visible     = false;        // делаем невидимым бит 0 байта 1
  LockFusesForm->CheckBox10->Visible    = false;        // делаем невидимым бит 1 байта 1
  LockFusesForm->CheckBox11->Visible    = false;        // делаем невидимым бит 2 байта 1
  LockFusesForm->CheckBox12->Visible    = false;        // делаем невидимым бит 3 байта 1
  LockFusesForm->CheckBox13->Visible    = false;        // делаем невидимым бит 4 байта 1
  LockFusesForm->CheckBox14->Visible    = false;        // делаем невидимым бит 5 байта 1
  LockFusesForm->CheckBox15->Visible    = false;        // делаем невидимым бит 6 байта 1
  LockFusesForm->CheckBox16->Visible    = false;        // делаем невидимым бит 7 байта 1
  LockFusesForm->CheckBox17->Visible    = false;        // делаем невидимым бит 0 байта 2
  LockFusesForm->CheckBox18->Visible    = false;        // делаем невидимым бит 1 байта 2
  LockFusesForm->CheckBox19->Visible    = false;        // делаем невидимым бит 2 байта 2
  LockFusesForm->CheckBox20->Visible    = false;        // делаем невидимым бит 3 байта 2
  LockFusesForm->CheckBox21->Visible    = false;        // делаем невидимым бит 4 байта 2
  LockFusesForm->CheckBox22->Visible    = false;        // делаем невидимым бит 5 байта 2
  LockFusesForm->CheckBox23->Visible    = false;        // делаем невидимым бит 6 байта 2
  LockFusesForm->CheckBox24->Visible    = false;        // делаем невидимым бит 7 байта 2
  LockFusesForm->CheckBox25->Visible    = false;        // делаем невидимым бит 0 байта 3
  LockFusesForm->CheckBox26->Visible    = false;        // делаем невидимым бит 1 байта 3
  LockFusesForm->CheckBox27->Visible    = false;        // делаем невидимым бит 2 байта 3
  LockFusesForm->CheckBox28->Visible    = false;        // делаем невидимым бит 3 байта 3
  LockFusesForm->CheckBox29->Visible    = false;        // делаем невидимым бит 4 байта 3
  LockFusesForm->CheckBox30->Visible    = false;        // делаем невидимым бит 5 байта 3
  LockFusesForm->CheckBox31->Visible    = false;        // делаем невидимым бит 6 байта 3
  LockFusesForm->CheckBox32->Visible    = false;        // делаем невидимым бит 7 байта 3
  // снимаем отметки со всех чекбоксов
  UncheckAllCheckboxes();
  // включаем все чекбоксы
  LockFusesForm->CheckBox1->Enabled     = true;         // включаем бит 0 байта 0
  LockFusesForm->CheckBox2->Enabled     = true;         // включаем бит 1 байта 0
  LockFusesForm->CheckBox3->Enabled     = true;         // включаем бит 2 байта 0
  LockFusesForm->CheckBox4->Enabled     = true;         // включаем бит 3 байта 0
  LockFusesForm->CheckBox5->Enabled     = true;         // включаем бит 4 байта 0
  LockFusesForm->CheckBox6->Enabled     = true;         // включаем бит 5 байта 0
  LockFusesForm->CheckBox7->Enabled     = true;         // включаем бит 6 байта 0
  LockFusesForm->CheckBox8->Enabled     = true;         // включаем бит 7 байта 0
  LockFusesForm->CheckBox9->Enabled     = true;         // включаем бит 0 байта 1
  LockFusesForm->CheckBox10->Enabled    = true;         // включаем бит 1 байта 1
  LockFusesForm->CheckBox11->Enabled    = true;         // включаем бит 2 байта 1
  LockFusesForm->CheckBox12->Enabled    = true;         // включаем бит 3 байта 1
  LockFusesForm->CheckBox13->Enabled    = true;         // включаем бит 4 байта 1
  LockFusesForm->CheckBox14->Enabled    = true;         // включаем бит 5 байта 1
  LockFusesForm->CheckBox15->Enabled    = true;         // включаем бит 6 байта 1
  LockFusesForm->CheckBox16->Enabled    = true;         // включаем бит 7 байта 1
  LockFusesForm->CheckBox17->Enabled    = true;         // включаем бит 0 байта 2
  LockFusesForm->CheckBox18->Enabled    = true;         // включаем бит 1 байта 2
  LockFusesForm->CheckBox19->Enabled    = true;         // включаем бит 2 байта 2
  LockFusesForm->CheckBox20->Enabled    = true;         // включаем бит 3 байта 2
  LockFusesForm->CheckBox21->Enabled    = true;         // включаем бит 4 байта 2
  LockFusesForm->CheckBox22->Enabled    = true;         // включаем бит 5 байта 2
  LockFusesForm->CheckBox23->Enabled    = true;         // включаем бит 6 байта 2
  LockFusesForm->CheckBox24->Enabled    = true;         // включаем бит 7 байта 2
  LockFusesForm->CheckBox25->Enabled    = true;         // включаем бит 0 байта 3
  LockFusesForm->CheckBox26->Enabled    = true;         // включаем бит 1 байта 3
  LockFusesForm->CheckBox27->Enabled    = true;         // включаем бит 2 байта 3
  LockFusesForm->CheckBox28->Enabled    = true;         // включаем бит 3 байта 3
  LockFusesForm->CheckBox29->Enabled    = true;         // включаем бит 4 байта 3
  LockFusesForm->CheckBox30->Enabled    = true;         // включаем бит 5 байта 3
  LockFusesForm->CheckBox31->Enabled    = true;         // включаем бит 6 байта 3
  LockFusesForm->CheckBox32->Enabled    = true;         // включаем бит 7 байта 3
}
//---------------------------------------------------------------------------
//--- СНИМАЕМ ОТМЕТКИ СО ВСЕХ ЧЕКБОКСОВ -------------------------------------
//---------------------------------------------------------------------------
void UncheckAllCheckboxes()
{ LockFusesForm->CheckBox1->Checked     = false;        // снимаем отметку с бита 0 байта 0
  LockFusesForm->CheckBox2->Checked     = false;        // снимаем отметку с бита 1 байта 0
  LockFusesForm->CheckBox3->Checked     = false;        // снимаем отметку с бита 2 байта 0
  LockFusesForm->CheckBox4->Checked     = false;        // снимаем отметку с бита 3 байта 0
  LockFusesForm->CheckBox5->Checked     = false;        // снимаем отметку с бита 4 байта 0
  LockFusesForm->CheckBox6->Checked     = false;        // снимаем отметку с бита 5 байта 0
  LockFusesForm->CheckBox7->Checked     = false;        // снимаем отметку с бита 6 байта 0
  LockFusesForm->CheckBox8->Checked     = false;        // снимаем отметку с бита 7 байта 0
  LockFusesForm->CheckBox9->Checked     = false;        // снимаем отметку с бита 0 байта 1
  LockFusesForm->CheckBox10->Checked    = false;        // снимаем отметку с бита 1 байта 1
  LockFusesForm->CheckBox11->Checked    = false;        // снимаем отметку с бита 2 байта 1
  LockFusesForm->CheckBox12->Checked    = false;        // снимаем отметку с бита 3 байта 1
  LockFusesForm->CheckBox13->Checked    = false;        // снимаем отметку с бита 4 байта 1
  LockFusesForm->CheckBox14->Checked    = false;        // снимаем отметку с бита 5 байта 1
  LockFusesForm->CheckBox15->Checked    = false;        // снимаем отметку с бита 6 байта 1
  LockFusesForm->CheckBox16->Checked    = false;        // снимаем отметку с бита 7 байта 1
  LockFusesForm->CheckBox17->Checked    = false;        // снимаем отметку с бита 0 байта 2
  LockFusesForm->CheckBox18->Checked    = false;        // снимаем отметку с бита 1 байта 2
  LockFusesForm->CheckBox19->Checked    = false;        // снимаем отметку с бита 2 байта 2
  LockFusesForm->CheckBox20->Checked    = false;        // снимаем отметку с бита 3 байта 2
  LockFusesForm->CheckBox21->Checked    = false;        // снимаем отметку с бита 4 байта 2
  LockFusesForm->CheckBox22->Checked    = false;        // снимаем отметку с бита 5 байта 2
  LockFusesForm->CheckBox23->Checked    = false;        // снимаем отметку с бита 6 байта 2
  LockFusesForm->CheckBox24->Checked    = false;        // снимаем отметку с бита 7 байта 2
  LockFusesForm->CheckBox25->Checked    = false;        // снимаем отметку с бита 0 байта 3
  LockFusesForm->CheckBox26->Checked    = false;        // снимаем отметку с бита 1 байта 3
  LockFusesForm->CheckBox27->Checked    = false;        // снимаем отметку с бита 2 байта 3
  LockFusesForm->CheckBox28->Checked    = false;        // снимаем отметку с бита 3 байта 3
  LockFusesForm->CheckBox29->Checked    = false;        // снимаем отметку с бита 4 байта 3
  LockFusesForm->CheckBox30->Checked    = false;        // снимаем отметку с бита 5 байта 3
  LockFusesForm->CheckBox31->Checked    = false;        // снимаем отметку с бита 6 байта 3
  LockFusesForm->CheckBox32->Checked    = false;        // снимаем отметку с бита 7 байта 3
}
//---------------------------------------------------------------------------
//--- КОНСТРУКТОР ФОРМЫ (ВЫЗЫВАЕТСЯ ПРИ ВЫЗОВЕ ОКНА) ------------------------
//---------------------------------------------------------------------------
__fastcall TLockFusesForm::TLockFusesForm(TComponent* Owner)
        : TForm(Owner)
{ IniteAllCheckboxes();  // инициализируем все элементы формы
  // включаем и подписываем элементы в зависимости от выбранного чипа
  switch(SelectedChip.ID&0x3FE0)     // отрезаем 5 младших бит при выборе чипа (они определяют ревизию, а не модель)
  { case 0x2080:        // выбрано устройство PIC16F887
    case 0x2060:        // выбрано устройство PIC16F886
    case 0x2040:        // выбрано устройство PIC16F884
    case 0x2020:        // выбрано устройство PIC16F883
    case 0x2000:        // выбрано устройство PIC16F882
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CPD";         // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "IESO";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "FCMEN";        // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Caption    = "LVP";          // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "!DEBUG";       // подписываем бит 5 байта 1
                        LockFusesForm->CheckBox25->Caption    = "BOR4V";        // подписываем бит 0 байта 3
                        LockFusesForm->CheckBox26->Caption    = "WRT0";         // подписываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Caption    = "WRT1";         // подписываем бит 2 байта 3
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        LockFusesForm->CheckBox25->Visible    = true;           // показываем бит 0 байта 3
                        LockFusesForm->CheckBox26->Visible    = true;           // показываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Visible    = true;           // показываем бит 2 байта 3
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x1C60:        // выбрано устройство PIC16LF721
    case 0x1C20:        // выбрано устройство PIC16F721
    case 0x1C40:        // выбрано устройство PIC16LF720
    case 0x1C00:        // выбрано устройство PIC16F720
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox13->Caption    = "PLLEN";        // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "!DEBUG";       // подписываем бит 5 байта 1
                        LockFusesForm->CheckBox17->Caption    = "WRT0";         // подписываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Caption    = "WRT1";         // подписываем бит 1 байта 2
                        LockFusesForm->CheckBox21->Caption    = "VCAPEN";       // подписываем бит 4 байта 2
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        LockFusesForm->CheckBox17->Visible    = true;           // показываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Visible    = true;           // показываем бит 1 байта 2
                        LockFusesForm->CheckBox21->Visible    = true;           // показываем бит 4 байта 2
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x1900:        // выбрано устройство PIC16LF727
    case 0x1800:        // выбрано устройство PIC16F727
    case 0x1940:        // выбрано устройство PIC16LF724
    case 0x1840:        // выбрано устройство PIC16F724
    case 0x1920:        // выбрано устройство PIC16LF726
    case 0x1820:        // выбрано устройство PIC16F726
    case 0x1B40:        // выбрано устройство PIC16LF723A
    case 0x1B00:        // выбрано устройство PIC16F723A
    case 0x1960:        // выбрано устройство PIC16LF723
    case 0x1860:        // выбрано устройство PIC16F723
    case 0x1B60:        // выбрано устройство PIC16LF722A
    case 0x1B20:        // выбрано устройство PIC16F722A
    case 0x1980:        // выбрано устройство PIC16LF722
    case 0x1880:        // выбрано устройство PIC16F722
    case 0x1AE0:        // выбрано устройство PIC16LF707
    case 0x1AC0:        // выбрано устройство PIC16F707
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "BORV";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox13->Caption    = "PLLEN";        // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "!DEBUG";       // подписываем бит 5 байта 1
                        LockFusesForm->CheckBox21->Caption    = "VCAPEN0";      // подписываем бит 4 байта 2
                        LockFusesForm->CheckBox22->Caption    = "VCAPEN1";      // подписываем бит 5 байта 2
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        LockFusesForm->CheckBox21->Visible    = true;           // показываем бит 4 байта 2
                        LockFusesForm->CheckBox22->Visible    = true;           // показываем бит 5 байта 2
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x1100:        // выбрано устройство PIC16F648A
    case 0x1060:        // выбрано устройство PIC16F628A
    case 0x1040:        // выбрано устройство PIC16F627A
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "WDTE";         // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "!PWRTE";       // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "FOSC2";        // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "BOREN";        // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "LVP";          // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "!CPD";         // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox14->Caption    = "!CP";          // подписываем бит 5 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x14A0:        // выбрано устройство PIC16LF1847
    case 0x1480:        // выбрано устройство PIC16F1847
    case 0x1BC0:        // выбрано устройство PIC12LF1840
    case 0x1B80:        // выбрано устройство PIC12F1840
    case 0x28E0:        // выбрано устройство PIC16LF1829
    case 0x27E0:        // выбрано устройство PIC16F1829
    case 0x28C0:        // выбрано устройство PIC16LF1828
    case 0x27C0:        // выбрано устройство PIC16F1828
    case 0x28A0:        // выбрано устройство PIC16LF1827
    case 0x27A0:        // выбрано устройство PIC16F1827
    case 0x2880:        // выбрано устройство PIC16LF1826
    case 0x2780:        // выбрано устройство PIC16F1826
    case 0x2860:        // выбрано устройство PIC16LF1825
    case 0x2760:        // выбрано устройство PIC16F1825
    case 0x2840:        // выбрано устройство PIC16LF1824
    case 0x2740:        // выбрано устройство PIC16F1824
    case 0x2820:        // выбрано устройство PIC16LF1823
    case 0x2720:        // выбрано устройство PIC16F1823
    case 0x2800:        // выбрано устройство PIC12LF1822
    case 0x2700:        // выбрано устройство PIC12F1822
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE0";        // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "WDTE1";        // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "!PWRTE";       // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "MCLRE";        // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CP";          // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "!CPD";         // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN0";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "BOREN1";       // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "!CLKOUTEN";    // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Caption    = "IESO";         // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "FCMEN";        // подписываем бит 5 байта 1
                        LockFusesForm->CheckBox17->Caption    = "WRT0";         // подписываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Caption    = "WRT1";         // подписываем бит 1 байта 2
                        LockFusesForm->CheckBox25->Caption    = "PLLEN";        // подписываем бит 0 байта 3
                        LockFusesForm->CheckBox26->Caption    = "STVREN";       // подписываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Caption    = "BORV";         // подписываем бит 2 байта 3
                        LockFusesForm->CheckBox29->Caption    = "!DEBUG";       // подписываем бит 4 байта 3
                        LockFusesForm->CheckBox30->Caption    = "LVP";          // подписываем бит 5 байта 3
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 5 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox17->Visible    = true;           // показываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Visible    = true;           // показываем бит 1 байта 2
                        LockFusesForm->CheckBox25->Visible    = true;           // показываем бит 0 байта 3
                        LockFusesForm->CheckBox26->Visible    = true;           // показываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Visible    = true;           // показываем бит 2 байта 3
                        LockFusesForm->CheckBox29->Visible    = true;           // показываем бит 4 байта 3
                        LockFusesForm->CheckBox30->Visible    = true;           // показываем бит 5 байта 3
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x1360:        // выбрано устройство PIC12F617
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "IOSCFS";       // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "WRT0";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "WRT1";         // подписываем бит 3 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x1240:        // выбрано устройство PIC16F616
    case 0x2260:        // выбрано устройство PIC16F610
    case 0x2240:        // выбрано устройство PIC12F609
    case 0x2180:        // выбрано устройство PIC12F615
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "IOSCFS";       // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x2E00:        // выбрано устройство PIC16LF1509
    case 0x2D40:        // выбрано устройство PIC16F1509
    case 0x2DE0:        // выбрано устройство PIC16LF1508
    case 0x2D20:        // выбрано устройство PIC16F1508
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE0";        // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "WDTE1";        // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "!PWRTE";       // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "MCLRE";        // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CP";          // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox10->Caption    = "BOREN0";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "BOREN1";       // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "!CLKOUTEN";    // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Caption    = "IESO";         // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "FCMEN";        // подписываем бит 5 байта 1
                        LockFusesForm->CheckBox17->Caption    = "WRT0";         // подписываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Caption    = "WRT1";         // подписываем бит 1 байта 2
                        LockFusesForm->CheckBox26->Caption    = "STVREN";       // подписываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Caption    = "BORV";         // подписываем бит 2 байта 3
                        LockFusesForm->CheckBox28->Caption    = "!LPBOR";       // подписываем бит 3 байта 3
                        LockFusesForm->CheckBox29->Caption    = "!DEBUG";       // подписываем бит 4 байта 3
                        LockFusesForm->CheckBox30->Caption    = "LVP";          // подписываем бит 5 байта 3
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        LockFusesForm->CheckBox17->Visible    = true;           // показываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Visible    = true;           // показываем бит 1 байта 2
                        LockFusesForm->CheckBox26->Visible    = true;           // показываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Visible    = true;           // показываем бит 2 байта 3
                        LockFusesForm->CheckBox28->Visible    = true;           // показываем бит 3 байта 3
                        LockFusesForm->CheckBox29->Visible    = true;           // показываем бит 4 байта 3
                        LockFusesForm->CheckBox30->Visible    = true;           // показываем бит 5 байта 3
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x2DC0:        // выбрано устройство PIC16LF1507
    case 0x2D00:        // выбрано устройство PIC16F1507
    case 0x2DA0:        // выбрано устройство PIC16LF1503
    case 0x2CE0:        // выбрано устройство PIC16F1503
    case 0x2D80:        // выбрано устройство PIC12LF1501
    case 0x2CC0:        // выбрано устройство PIC12F1501
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7 W1";         // Байт 0 младший байт слова конфига 1
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13 W1";        // Байт 1 старший байт слова конфига 1
                        LockFusesForm->GroupBox3->Caption     = "bits 0..7 W2";         // Байт 2 младший байт слова конфига 2
                        LockFusesForm->GroupBox4->Caption     = "bits 8..13 W2";        // Байт 3 старший байт слова конфига 2
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        LockFusesForm->GroupBox3->Visible     = true;           // показываем Байт 2
                        LockFusesForm->GroupBox4->Visible     = true;           // показываем Байт 3
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE0";        // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "WDTE1";        // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "!PWRTE";       // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "MCLRE";        // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CP";          // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox10->Caption    = "BOREN0";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "BOREN1";       // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "!CLKOUTEN";    // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox17->Caption    = "WRT0";         // подписываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Caption    = "WRT1";         // подписываем бит 1 байта 2
                        LockFusesForm->CheckBox26->Caption    = "STVREN";       // подписываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Caption    = "BORV";         // подписываем бит 2 байта 3
                        LockFusesForm->CheckBox28->Caption    = "!LPBOR";       // подписываем бит 3 байта 3
                        LockFusesForm->CheckBox30->Caption    = "LVP";          // подписываем бит 5 байта 3
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox17->Visible    = true;           // показываем бит 0 байта 2
                        LockFusesForm->CheckBox18->Visible    = true;           // показываем бит 1 байта 2
                        LockFusesForm->CheckBox26->Visible    = true;           // показываем бит 1 байта 3
                        LockFusesForm->CheckBox27->Visible    = true;           // показываем бит 2 байта 3
                        LockFusesForm->CheckBox28->Visible    = true;           // показываем бит 3 байта 3
                        LockFusesForm->CheckBox30->Visible    = true;           // показываем бит 5 байта 3
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 441;
                        break;
    case 0x3020:     // возможно это PIC16F753
                        if(SelectedChip.ID == 0x3030)       // если это точно PIC16F753
                        {       // подписываем нужные байты
                                LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                                LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                                // показываем нужные байты
                                LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                                LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                                // подписываем нужные биты
                                LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                                LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                                LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                                LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                                LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                                LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                                LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                                LockFusesForm->CheckBox11->Caption    = "WRT0";         // подписываем бит 2 байта 1
                                LockFusesForm->CheckBox12->Caption    = "WRT1";         // подписываем бит 3 байта 1
                                LockFusesForm->CheckBox13->Caption    = "!CLKOUTEN";    // подписываем бит 4 байта 1
                                LockFusesForm->CheckBox14->Caption    = "!DEBUG";       // подписываем бит 5 байта 1
                                // показываем нужные биты
                                LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                                LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                                LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                                LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                                LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                                LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                                LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                                LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                                LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                                LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                                LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                                // настраиваем ширину кнопки Save changes&close
                                LockFusesForm->OKButton->Width = 219;
                        }
                        break;
    case 0x1500:        // выбрано устройство PIC12F752
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "WRT0";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "WRT1";         // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Caption    = "!CLKOUTEN";    // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "!DEBUG";       // подписываем бит 5 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x1200:        // выбрано устройство PIC16F785
    case 0x1400:        // выбрано устройство PIC16F690
    case 0x1340:        // выбрано устройство PIC16F689
    case 0x1180:        // выбрано устройство PIC16F688
    case 0x1320:        // выбрано устройство PIC16F687
    case 0x04A0:        // выбрано устройство PIC16F685
    case 0x1080:        // выбрано устройство PIC16F684
    case 0x1440:        // выбрано устройство PIC16F677
    case 0x1420:        // выбрано устройство PIC16F631
    case 0x0460:        // выбрано устройство PIC12F683
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CPD";         // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "IESO";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "FCMEN";        // подписываем бит 3 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x10A0:        // выбрано устройство PIC16F636 / PIC16F639
    case 0x0FA0:        // выбрано устройство PIC12F635
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "!CP";          // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CPD";         // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "BOREN0";       // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Caption    = "BOREN1";       // подписываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Caption    = "IESO";         // подписываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Caption    = "FCMEN";        // подписываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Caption    = "!WURE";        // подписываем бит 4 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox10->Visible    = true;           // показываем бит 1 байта 1
                        LockFusesForm->CheckBox11->Visible    = true;           // показываем бит 2 байта 1
                        LockFusesForm->CheckBox12->Visible    = true;           // показываем бит 3 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219;
                        break;
    case 0x10C0:        // выбрано устройство PIC16F630
    case 0x10E0:        // выбрано устройство PIC16F676
    case 0x0F80:        // выбрано устройство PIC12F629
    case 0x0FC0:        // выбрано устройство PIC12F675
                        // подписываем нужные байты
                        LockFusesForm->GroupBox1->Caption     = "bits 0..7";            // Байт 0
                        LockFusesForm->GroupBox2->Caption     = "bits 8..13";           // Байт 1
                        // показываем нужные байты
                        LockFusesForm->GroupBox1->Visible     = true;           // показываем Байт 0
                        LockFusesForm->GroupBox2->Visible     = true;           // показываем Байт 1
                        // подписываем нужные биты
                        LockFusesForm->CheckBox1->Caption     = "FOSC0";        // подписываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Caption     = "FOSC1";        // подписываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Caption     = "FOSC2";        // подписываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Caption     = "WDTE";         // подписываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Caption     = "!PWRTE";       // подписываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Caption     = "MCLRE";        // подписываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Caption     = "BODEN";        // подписываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Caption     = "!CP";          // подписываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Caption     = "!CPD";         // подписываем бит 0 байта 1
                        LockFusesForm->CheckBox13->Caption    = "BG0";          // подписываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Caption    = "BG1";          // подписываем бит 5 байта 1
                        // показываем нужные биты
                        LockFusesForm->CheckBox1->Visible     = true;           // показываем бит 0 байта 0
                        LockFusesForm->CheckBox2->Visible     = true;           // показываем бит 1 байта 0
                        LockFusesForm->CheckBox3->Visible     = true;           // показываем бит 2 байта 0
                        LockFusesForm->CheckBox4->Visible     = true;           // показываем бит 3 байта 0
                        LockFusesForm->CheckBox5->Visible     = true;           // показываем бит 4 байта 0
                        LockFusesForm->CheckBox6->Visible     = true;           // показываем бит 5 байта 0
                        LockFusesForm->CheckBox7->Visible     = true;           // показываем бит 6 байта 0
                        LockFusesForm->CheckBox8->Visible     = true;           // показываем бит 7 байта 0
                        LockFusesForm->CheckBox9->Visible     = true;           // показываем бит 0 байта 1
                        LockFusesForm->CheckBox13->Visible    = true;           // показываем бит 4 байта 1
                        LockFusesForm->CheckBox14->Visible    = true;           // показываем бит 5 байта 1
                        // настраиваем ширину кнопки Save changes&close
                        LockFusesForm->OKButton->Width = 219; 
                        break;
    case 0:     //SendMsgToLog(14,"");            // сообщение в лог, что не выбран ни один чип
                break;
    default:    //SendMsgToLog(15," unknown");    // сообщение в лог, что чип нам неизвестен
                break;
  }
  PutDataOnCheckBoxes();                        // расставить в чекбоксы значения фьюзов
  LockFusesForm->Panel1->Visible        = true; // делаем панель с чекбоксами видимой
}
//---------------------------------------------------------------------------
//--- РАССТАВЛЯЕМ ЗНАЧЕНИЯ ФЬЮЗОВ В ЧЕКБОКСЫ --------------------------------
//---------------------------------------------------------------------------
void PutDataOnCheckBoxes()
{ // расставляем значения фьюзов в чекбоксы в зависимости от выбранного чипа
  // если бит установлен - галочку снимаем, если сброшен - ставим
  switch(SelectedChip.ID&0x3FE0)     // отрезаем 5 младших бит при выборе чипа (они определяют ревизию, а не модель)
  { case 0x2080:        // выбрано устройство PIC16F887
    case 0x2060:        // выбрано устройство PIC16F886
    case 0x2040:        // выбрано устройство PIC16F884
    case 0x2020:        // выбрано устройство PIC16F883
    case 0x2000:        // выбрано устройство PIC16F882
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // IESO = 0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // FCMEN = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // LVP = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !DEBUG = 0
                        if(!(SelectedChip.Area3[2*8+1]&1))  LockFusesForm->CheckBox25->Checked  = true; // BOR4V = 0
                        if(!(SelectedChip.Area3[2*8+1]&2))  LockFusesForm->CheckBox26->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*8+1]&4))  LockFusesForm->CheckBox27->Checked  = true; // WRT1 = 0
                        break;
    case 0x1C60:        // выбрано устройство PIC16LF721
    case 0x1C20:        // выбрано устройство PIC16F721
    case 0x1C40:        // выбрано устройство PIC16LF720
    case 0x1C00:        // выбрано устройство PIC16F720
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // PLLEN = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !DEBUG = 0
                        if(!(SelectedChip.Area3[2*8]&1))    LockFusesForm->CheckBox17->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*8]&2))    LockFusesForm->CheckBox18->Checked  = true; // WRT1 = 0
                        if(!(SelectedChip.Area3[2*8]&16))   LockFusesForm->CheckBox21->Checked  = true; // VCAPEN = 0
                        break;
    case 0x1900:        // выбрано устройство PIC16LF727
    case 0x1800:        // выбрано устройство PIC16F727
    case 0x1940:        // выбрано устройство PIC16LF724
    case 0x1840:        // выбрано устройство PIC16F724
    case 0x1920:        // выбрано устройство PIC16LF726
    case 0x1820:        // выбрано устройство PIC16F726
    case 0x1B40:        // выбрано устройство PIC16LF723A
    case 0x1B00:        // выбрано устройство PIC16F723A
    case 0x1960:        // выбрано устройство PIC16LF723
    case 0x1860:        // выбрано устройство PIC16F723
    case 0x1B60:        // выбрано устройство PIC16LF722A
    case 0x1B20:        // выбрано устройство PIC16F722A
    case 0x1980:        // выбрано устройство PIC16LF722
    case 0x1880:        // выбрано устройство PIC16F722
    case 0x1AE0:        // выбрано устройство PIC16LF707
    case 0x1AC0:        // выбрано устройство PIC16F707
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // BORV = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // PLLEN = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !DEBUG = 0
                        if(!(SelectedChip.Area3[2*8]&16))   LockFusesForm->CheckBox21->Checked  = true; // VCAPEN0 = 0
                        if(!(SelectedChip.Area3[2*8]&32))   LockFusesForm->CheckBox22->Checked  = true; // VCAPEN1 = 0
                        break;
    case 0x1100:        // выбрано устройство PIC16F648A
    case 0x1060:        // выбрано устройство PIC16F628A
    case 0x1040:        // выбрано устройство PIC16F627A
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // BOREN = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // LVP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !CP = 0
                        break;
    case 0x14A0:        // выбрано устройство PIC16LF1847
    case 0x1480:        // выбрано устройство PIC16F1847
    case 0x1BC0:        // выбрано устройство PIC12LF1840
    case 0x1B80:        // выбрано устройство PIC12F1840
    case 0x28E0:        // выбрано устройство PIC16LF1829
    case 0x27E0:        // выбрано устройство PIC16F1829
    case 0x28C0:        // выбрано устройство PIC16LF1828
    case 0x27C0:        // выбрано устройство PIC16F1828
    case 0x28A0:        // выбрано устройство PIC16LF1827
    case 0x27A0:        // выбрано устройство PIC16F1827
    case 0x2880:        // выбрано устройство PIC16LF1826
    case 0x2780:        // выбрано устройство PIC16F1826
    case 0x2860:        // выбрано устройство PIC16LF1825
    case 0x2760:        // выбрано устройство PIC16F1825
    case 0x2840:        // выбрано устройство PIC16LF1824
    case 0x2740:        // выбрано устройство PIC16F1824
    case 0x2820:        // выбрано устройство PIC16LF1823
    case 0x2720:        // выбрано устройство PIC16F1823
    case 0x2800:        // выбрано устройство PIC12LF1822
    case 0x2700:        // выбрано устройство PIC12F1822
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE0 = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // WDTE1 = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // !CLKOUTEN = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // IESO = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // FCMEN = 0
                        if(!(SelectedChip.Area3[2*8]&1))    LockFusesForm->CheckBox17->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*8]&2))    LockFusesForm->CheckBox18->Checked  = true; // WRT1 = 0
                        if(!(SelectedChip.Area3[2*8+1]&1))  LockFusesForm->CheckBox25->Checked  = true; // PLLEN = 0
                        if(!(SelectedChip.Area3[2*8+1]&2))  LockFusesForm->CheckBox26->Checked  = true; // STVREN = 0
                        if(!(SelectedChip.Area3[2*8+1]&4))  LockFusesForm->CheckBox27->Checked  = true; // BORV = 0
                        if(!(SelectedChip.Area3[2*8+1]&16)) LockFusesForm->CheckBox29->Checked  = true; // !DEBUG = 0
                        if(!(SelectedChip.Area3[2*8+1]&32)) LockFusesForm->CheckBox30->Checked  = true; // LVP = 0
                        break;
    case 0x1360:        // выбрано устройство PIC12F617
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // IOSCFS = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // WRT1 = 0
                        break;
    case 0x1240:        // выбрано устройство PIC16F616
    case 0x2260:        // выбрано устройство PIC16F610
    case 0x2240:        // выбрано устройство PIC12F609
    case 0x2180:        // выбрано устройство PIC12F615
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // IOSCFS = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1 = 0
                        break;
    case 0x2E00:        // выбрано устройство PIC16LF1509
    case 0x2D40:        // выбрано устройство PIC16F1509
    case 0x2DE0:        // выбрано устройство PIC16LF1508
    case 0x2D20:        // выбрано устройство PIC12F1508
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE0 = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // WDTE1 = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // !CLKOUTEN = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // IESO = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // FCMEN = 0
                        if(!(SelectedChip.Area3[2*8]&1))    LockFusesForm->CheckBox17->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*8]&2))    LockFusesForm->CheckBox18->Checked  = true; // WRT1 = 0
                        if(!(SelectedChip.Area3[2*8+1]&2))  LockFusesForm->CheckBox26->Checked  = true; // STVREN = 0
                        if(!(SelectedChip.Area3[2*8+1]&4))  LockFusesForm->CheckBox27->Checked  = true; // BORV = 0
                        if(!(SelectedChip.Area3[2*8+1]&8))  LockFusesForm->CheckBox28->Checked  = true; // !LPBOR = 0
                        if(!(SelectedChip.Area3[2*8+1]&16)) LockFusesForm->CheckBox29->Checked  = true; // !DEBUG = 0
                        if(!(SelectedChip.Area3[2*8+1]&32)) LockFusesForm->CheckBox30->Checked  = true; // LVP = 0
                        break;
    case 0x2DC0:        // выбрано устройство PIC16LF1507
    case 0x2D00:        // выбрано устройство PIC16F1507
    case 0x2DA0:        // выбрано устройство PIC16LF1503
    case 0x2CE0:        // выбрано устройство PIC16F1503
    case 0x2D80:        // выбрано устройство PIC12LF1501
    case 0x2CC0:        // выбрано устройство PIC12F1501
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE0 = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // WDTE1 = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // BOREN1 = 0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // !CLKOUTEN = 0
                        if(!(SelectedChip.Area3[2*8]&1))    LockFusesForm->CheckBox17->Checked  = true; // WRT0 = 0
                        if(!(SelectedChip.Area3[2*8]&2))    LockFusesForm->CheckBox18->Checked  = true; // WRT1 = 0
                        if(!(SelectedChip.Area3[2*8+1]&2))  LockFusesForm->CheckBox26->Checked  = true; // STVREN = 0
                        if(!(SelectedChip.Area3[2*8+1]&4))  LockFusesForm->CheckBox27->Checked  = true; // BORV = 0
                        if(!(SelectedChip.Area3[2*8+1]&8))  LockFusesForm->CheckBox28->Checked  = true; // !LPBOR = 0
                        if(!(SelectedChip.Area3[2*8+1]&32)) LockFusesForm->CheckBox30->Checked  = true; // LVP = 0
                        break;
     case 0x3020:     // возможно это PIC16F753
                        if(SelectedChip.ID == 0x3030)       // если это точно PIC16F753
                        {       if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                                if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                                if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                                if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                                if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                                if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0
                                if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1
                                if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // WRT0
                                if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // WRT1
                                if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // !CLKOUTEN
                                if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !DEBUG
                        }
                        break;
    case 0x1500:        // выбрано устройство PIC12F752
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // WRT0
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // WRT1
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // !CLKOUTEN
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // !DEBUG
                        break;
    case 0x1200:        // выбрано устройство PIC16F785
    case 0x1400:        // выбрано устройство PIC16F690
    case 0x1340:        // выбрано устройство PIC16F689
    case 0x1180:        // выбрано устройство PIC16F688
    case 0x1320:        // выбрано устройство PIC16F687
    case 0x04A0:        // выбрано устройство PIC16F685
    case 0x1080:        // выбрано устройство PIC16F684
    case 0x1440:        // выбрано устройство PIC16F677
    case 0x1420:        // выбрано устройство PIC16F631
    case 0x0460:        // выбрано устройство PIC12F683
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // IESO
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // FCMEN
                        break;
    case 0x10A0:        // выбрано устройство PIC16F636 / PIC16F639
    case 0x0FA0:        // выбрано устройство PIC12F635
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // BOREN0
                        if(!(SelectedChip.Area3[2*7+1]&2))  LockFusesForm->CheckBox10->Checked  = true; // BOREN1
                        if(!(SelectedChip.Area3[2*7+1]&4))  LockFusesForm->CheckBox11->Checked  = true; // IESO
                        if(!(SelectedChip.Area3[2*7+1]&8))  LockFusesForm->CheckBox12->Checked  = true; // FCMEN
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // !WURE
                        break;
    case 0x10C0:        // выбрано устройство PIC16F630
    case 0x10E0:        // выбрано устройство PIC16F676
    case 0x0F80:        // выбрано устройство PIC12F629
    case 0x0FC0:        // выбрано устройство PIC12F675
                        if(!(SelectedChip.Area3[2*7]&1))    LockFusesForm->CheckBox1->Checked   = true; // FOSC0 = 0
                        if(!(SelectedChip.Area3[2*7]&2))    LockFusesForm->CheckBox2->Checked   = true; // FOSC1 = 0
                        if(!(SelectedChip.Area3[2*7]&4))    LockFusesForm->CheckBox3->Checked   = true; // FOSC2 = 0
                        if(!(SelectedChip.Area3[2*7]&8))    LockFusesForm->CheckBox4->Checked   = true; // WDTE = 0
                        if(!(SelectedChip.Area3[2*7]&16))   LockFusesForm->CheckBox5->Checked   = true; // !PWRTE = 0
                        if(!(SelectedChip.Area3[2*7]&32))   LockFusesForm->CheckBox6->Checked   = true; // MCLRE = 0
                        if(!(SelectedChip.Area3[2*7]&64))   LockFusesForm->CheckBox7->Checked   = true; // BODEN = 0
                        if(!(SelectedChip.Area3[2*7]&128))  LockFusesForm->CheckBox8->Checked   = true; // !CP = 0
                        if(!(SelectedChip.Area3[2*7+1]&1))  LockFusesForm->CheckBox9->Checked   = true; // !CPD = 0
                        if(!(SelectedChip.Area3[2*7+1]&16)) LockFusesForm->CheckBox13->Checked  = true; // BG0 = 0
                        if(!(SelectedChip.Area3[2*7+1]&32)) LockFusesForm->CheckBox14->Checked  = true; // BG1 = 0
                        break;
    case 0:
    default:    break;
  }
}
//---------------------------------------------------------------------------
//--- ВЫЧИСЛЯЕМ ЗНАЧЕНИЯ ФЬЮЗОВ НА ОСНОВЕ ЧЕКБОКСОВ -------------------------
//---------------------------------------------------------------------------
void GetDataFromCheckBoxes()
{ // сначала нужно поместить в память данные с формы, в зависимости от вкладки
  switch(Form1->PageControl1->TabIndex)
  {     case 0: GetDataToMemory(6,3);      // из RichEdit6 в Area3
                break;
        case 1: GetDataToMemory(7,3);      // из RichEdit7 в Area3
                break;
        default: break;
  }
  // вычисляем значения фьюзов на основе чекбоксов в зависимости от выбранного чипа
  // если галочка снята - бит установлен, если установлена - сброшен
  switch(SelectedChip.ID&0x3FE0)     // отрезаем 5 младших бит при выборе чипа (они определяют ревизию, а не модель)
  { case 0x2080:        // выбрано устройство PIC16F887
    case 0x2060:        // выбрано устройство PIC16F886
    case 0x2040:        // выбрано устройство PIC16F884
    case 0x2020:        // выбрано устройство PIC16F883
    case 0x2000:        // выбрано устройство PIC16F882
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CPD = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // IESO = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // FCMEN = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // PLLEN = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // |DEBUG = 0
                        if(LockFusesForm->CheckBox25->Checked) SelectedChip.Area3[2*8+1] &= ~1;   // BOR4V = 0
                        if(LockFusesForm->CheckBox26->Checked) SelectedChip.Area3[2*8+1] &= ~2;   // WRT0 = 0
                        if(LockFusesForm->CheckBox27->Checked) SelectedChip.Area3[2*8+1] &= ~4;   // WRT1 = 0
                        break;
    case 0x1C60:        // выбрано устройство PIC16LF721
    case 0x1C20:        // выбрано устройство PIC16F721
    case 0x1C40:        // выбрано устройство PIC16LF720
    case 0x1C00:        // выбрано устройство PIC16F720
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3C;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // PLLEN = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // |DEBUG = 0
                        if(LockFusesForm->CheckBox17->Checked) SelectedChip.Area3[2*8]   &= ~1;   // WRT0 = 0
                        if(LockFusesForm->CheckBox18->Checked) SelectedChip.Area3[2*8]   &= ~2;   // WRT1 = 0
                        if(LockFusesForm->CheckBox21->Checked) SelectedChip.Area3[2*8]   &= ~16;  // VCAPEN = 0
                        break;
    case 0x1900:        // выбрано устройство PIC16LF727
    case 0x1800:        // выбрано устройство PIC16F727
    case 0x1940:        // выбрано устройство PIC16LF724
    case 0x1840:        // выбрано устройство PIC16F724
    case 0x1920:        // выбрано устройство PIC16LF726
    case 0x1820:        // выбрано устройство PIC16F726
    case 0x1B40:        // выбрано устройство PIC16LF723A
    case 0x1B00:        // выбрано устройство PIC16F723A
    case 0x1960:        // выбрано устройство PIC16LF723
    case 0x1860:        // выбрано устройство PIC16F723
    case 0x1B60:        // выбрано устройство PIC16LF722A
    case 0x1B20:        // выбрано устройство PIC16F722A
    case 0x1980:        // выбрано устройство PIC16LF722
    case 0x1880:        // выбрано устройство PIC16F722
    case 0x1AE0:        // выбрано устройство PIC16LF707
    case 0x1AC0:        // выбрано устройство PIC16F707
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // BORV = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // PLLEN = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // |DEBUG = 0
                        if(LockFusesForm->CheckBox21->Checked) SelectedChip.Area3[2*8]   &= ~16;  // VCAPEN0 = 0
                        if(LockFusesForm->CheckBox22->Checked) SelectedChip.Area3[2*8]   &= ~32;  // VCAPEN1 = 0
                        break;
    case 0x1100:        // выбрано устройство PIC16F648A
    case 0x1060:        // выбрано устройство PIC16F628A
    case 0x1040:        // выбрано устройство PIC16F627A
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // WDTE = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // |PWRTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // FOSC2 = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // BOREN = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // LVP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // |CPD = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // |CP = 0
                        break;
    case 0x14A0:        // выбрано устройство PIC16LF1847
    case 0x1480:        // выбрано устройство PIC16F1847
    case 0x1BC0:        // выбрано устройство PIC12LF1840
    case 0x1B80:        // выбрано устройство PIC12F1840
    case 0x28E0:        // выбрано устройство PIC16LF1829
    case 0x27E0:        // выбрано устройство PIC16F1829
    case 0x28C0:        // выбрано устройство PIC16LF1828
    case 0x27C0:        // выбрано устройство PIC16F1828
    case 0x28A0:        // выбрано устройство PIC16LF1827
    case 0x27A0:        // выбрано устройство PIC16F1827
    case 0x2880:        // выбрано устройство PIC16LF1826
    case 0x2780:        // выбрано устройство PIC16F1826
    case 0x2860:        // выбрано устройство PIC16LF1825
    case 0x2760:        // выбрано устройство PIC16F1825
    case 0x2840:        // выбрано устройство PIC16LF1824
    case 0x2740:        // выбрано устройство PIC16F1824
    case 0x2820:        // выбрано устройство PIC16LF1823
    case 0x2720:        // выбрано устройство PIC16F1823
    case 0x2800:        // выбрано устройство PIC12LF1822
    case 0x2700:        // выбрано устройство PIC12F1822
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE0 = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // WDTE1 = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // MCLRE = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // |CPD = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // |CLKOUTEN = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // IESO = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // FCMEN = 0
                        if(LockFusesForm->CheckBox17->Checked) SelectedChip.Area3[2*8]   &= ~1;   // WRT0 = 0
                        if(LockFusesForm->CheckBox18->Checked) SelectedChip.Area3[2*8]   &= ~2;   // WRT1 = 0
                        if(LockFusesForm->CheckBox25->Checked) SelectedChip.Area3[2*8+1] &= ~1;   // PLLEN = 0
                        if(LockFusesForm->CheckBox26->Checked) SelectedChip.Area3[2*8+1] &= ~2;   // STVREN = 0
                        if(LockFusesForm->CheckBox27->Checked) SelectedChip.Area3[2*8+1] &= ~4;   // BORV = 0
                        if(LockFusesForm->CheckBox29->Checked) SelectedChip.Area3[2*8+1] &= ~16;  // |DEBUG = 0
                        if(LockFusesForm->CheckBox30->Checked) SelectedChip.Area3[2*8+1] &= ~32;  // LVP = 0
                        break;
    case 0x1360:        // выбрано устройство PIC12F617
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // IOSCFS = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // WRT0 = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // WRT1 = 0
                        break;
    case 0x1240:        // выбрано устройство PIC16F616
    case 0x2260:        // выбрано устройство PIC16F610
    case 0x2240:        // выбрано устройство PIC12F609
    case 0x2180:        // выбрано устройство PIC12F615
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // IOSCFS = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        break;
    case 0x2E00:        // выбрано устройство PIC16LF1509
    case 0x2D40:        // выбрано устройство PIC16F1509
    case 0x2DE0:        // выбрано устройство PIC16LF1508
    case 0x2D20:        // выбрано устройство PIC12F1508
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE0 = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // WDTE1 = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // MCLRE = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CP = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // |CLKOUTEN = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // IESO = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // FCMEN = 0
                        if(LockFusesForm->CheckBox17->Checked) SelectedChip.Area3[2*8]   &= ~1;   // WRT0 = 0
                        if(LockFusesForm->CheckBox18->Checked) SelectedChip.Area3[2*8]   &= ~2;   // WRT1 = 0
                        if(LockFusesForm->CheckBox26->Checked) SelectedChip.Area3[2*8+1] &= ~2;   // STVREN = 0
                        if(LockFusesForm->CheckBox27->Checked) SelectedChip.Area3[2*8+1] &= ~4;   // BORV = 0
                        if(LockFusesForm->CheckBox28->Checked) SelectedChip.Area3[2*8+1] &= ~8;   // |LPBOR = 0
                        if(LockFusesForm->CheckBox29->Checked) SelectedChip.Area3[2*8+1] &= ~16;  // |DEBUG = 0
                        if(LockFusesForm->CheckBox30->Checked) SelectedChip.Area3[2*8+1] &= ~32;  // LVP = 0
                        break;
    case 0x2DC0:        // выбрано устройство PIC16LF1507
    case 0x2D00:        // выбрано устройство PIC16F1507
    case 0x2DA0:        // выбрано устройство PIC16LF1503
    case 0x2CE0:        // выбрано устройство PIC16F1503
    case 0x2D80:        // выбрано устройство PIC12LF1501
    case 0x2CC0:        // выбрано устройство PIC12F1501
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        SelectedChip.Area3[16] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[17] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE0 = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // WDTE1 = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // MCLRE = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CP = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // |CLKOUTEN = 0
                        if(LockFusesForm->CheckBox17->Checked) SelectedChip.Area3[2*8]   &= ~1;   // WRT0 = 0
                        if(LockFusesForm->CheckBox18->Checked) SelectedChip.Area3[2*8]   &= ~2;   // WRT1 = 0
                        if(LockFusesForm->CheckBox26->Checked) SelectedChip.Area3[2*8+1] &= ~2;   // STVREN = 0
                        if(LockFusesForm->CheckBox27->Checked) SelectedChip.Area3[2*8+1] &= ~4;   // BORV = 0
                        if(LockFusesForm->CheckBox28->Checked) SelectedChip.Area3[2*8+1] &= ~8;   // |LPBOR = 0
                        if(LockFusesForm->CheckBox30->Checked) SelectedChip.Area3[2*8+1] &= ~32;  // LVP = 0
                        break;
    case 0x3020:     // возможно это PIC16F753
                        if(SelectedChip.ID == 0x3030)       // если это точно PIC16F753
                        {       SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                                SelectedChip.Area3[15] = 0x3F;
                                if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                                if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                                if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                                if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                                if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                                if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                                if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                                if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // WRT0 = 0
                                if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // WRT1 = 0
                                if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // !CLKOUTEN = 0
                                if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // !DEBUG = 0
                        }
                        break;
    case 0x1500:        // выбрано устройство PIC12F752
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // WRT0 = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // WRT1 = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // !CLKOUTEN = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // !DEBUG = 0
                        break;
    case 0x1200:        // выбрано устройство PIC16F785
    case 0x1400:        // выбрано устройство PIC16F690
    case 0x1340:        // выбрано устройство PIC16F689
    case 0x1180:        // выбрано устройство PIC16F688
    case 0x1320:        // выбрано устройство PIC16F687
    case 0x04A0:        // выбрано устройство PIC16F685
    case 0x1080:        // выбрано устройство PIC16F684
    case 0x1440:        // выбрано устройство PIC16F677
    case 0x1420:        // выбрано устройство PIC16F631
    case 0x0460:        // выбрано устройство PIC12F683
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CPD = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // IESO = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // FCMEN = 0
                        break;
    case 0x10A0:        // выбрано устройство PIC16F636 / PIC16F639
    case 0x0FA0:        // выбрано устройство PIC12F635
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x3F;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // |CP = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CPD = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // BOREN0 = 0
                        if(LockFusesForm->CheckBox10->Checked) SelectedChip.Area3[2*7+1] &= ~2;   // BOREN1 = 0
                        if(LockFusesForm->CheckBox11->Checked) SelectedChip.Area3[2*7+1] &= ~4;   // IESO = 0
                        if(LockFusesForm->CheckBox12->Checked) SelectedChip.Area3[2*7+1] &= ~8;   // FCMEN = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // |WURE = 0
                        break;
    case 0x10C0:        // выбрано устройство PIC16F630
    case 0x10E0:        // выбрано устройство PIC16F676
    case 0x0F80:        // выбрано устройство PIC12F629
    case 0x0FC0:        // выбрано устройство PIC12F675
                        SelectedChip.Area3[14] = 0xFF;   // сначала переводим все фьюзы в незапрограммированное состояние
                        SelectedChip.Area3[15] = 0x31;
                        if(LockFusesForm->CheckBox1->Checked)  SelectedChip.Area3[2*7]   &= ~1;   // FOSC0 = 0 (фьюз запрограммирован)
                        if(LockFusesForm->CheckBox2->Checked)  SelectedChip.Area3[2*7]   &= ~2;   // FOSC1 = 0
                        if(LockFusesForm->CheckBox3->Checked)  SelectedChip.Area3[2*7]   &= ~4;   // FOSC2 = 0
                        if(LockFusesForm->CheckBox4->Checked)  SelectedChip.Area3[2*7]   &= ~8;   // WDTE = 0
                        if(LockFusesForm->CheckBox5->Checked)  SelectedChip.Area3[2*7]   &= ~16;  // |PWRTE = 0
                        if(LockFusesForm->CheckBox6->Checked)  SelectedChip.Area3[2*7]   &= ~32;  // MCLRE = 0
                        if(LockFusesForm->CheckBox7->Checked)  SelectedChip.Area3[2*7]   &= ~64;  // BODEN = 0
                        if(LockFusesForm->CheckBox8->Checked)  SelectedChip.Area3[2*7]   &= ~128; // |CP = 0
                        if(LockFusesForm->CheckBox9->Checked)  SelectedChip.Area3[2*7+1] &= ~1;   // |CPD = 0
                        if(LockFusesForm->CheckBox13->Checked) SelectedChip.Area3[2*7+1] &= ~16;  // BG0 = 0
                        if(LockFusesForm->CheckBox14->Checked) SelectedChip.Area3[2*7+1] &= ~32;  // BG1 = 0
                        break;
    case 0:
    default:    break;
  }
  // помещаем на форму данные из памяти (в том числе изменённые)
  switch(Form1->PageControl1->TabIndex)
  {     case 0: PlaceDataToForm(6,3);      // в RichEdit6 из Area3
                break;
        case 1: PlaceDataToForm(7,3);      // в RichEdit7 из Area3
                break;
        default: break;
  }
}
//---------------------------------------------------------------------------
//--- НАЖАЛИ КНОПКУ ОК НА ПАНЕЛИ --------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TLockFusesForm::OKButtonClick(TObject *Sender)
{ GetDataFromCheckBoxes();      // перед закрытием окна формируем новые байты фьюзов на основе чекбоксов
  Close();
}
//---------------------------------------------------------------------------

