Esempio n. 1
0
//===========================================================================
void __fastcall TfrmDeviceSetting::cbDeviceTypeChange(TObject *Sender)
{
    if ( cbDeviceType->ItemIndex == -1 ) return;

    TDeviceType DeviceType = (TDeviceType)cbDeviceType->Items->Objects[cbDeviceType->ItemIndex];

  // -------- Тут нечего делать, если одно и тоже -------
    if ( WorkDevice != NULL )
        if ( WorkDevice->DeviceType == DeviceType ) return;

    CBaseDevice *aNewDevice  = NULL;

    if ( DeviceType == edtCVGx             ) aNewDevice = new CCVGx ();
    if ( DeviceType == edtCVGx_old         ) aNewDevice = new CCVGx_old ();
    if ( DeviceType == edtCVGx_analog      ) aNewDevice = new CCVGx_analog();
    if ( DeviceType == edtCVGk             ) aNewDevice = new CCVGk ();
    if ( DeviceType == edtCVG_AFR          ) aNewDevice = new CCVG_AFR();
    if ( DeviceType == edtCVGx48           ) aNewDevice = new CCVGx48();

    if ( DeviceType == edtCVGxm            ) aNewDevice = new CCVGxm();
    if ( DeviceType == edtCVGxm_GK         ) aNewDevice = new CCVGxm_gk();
    if ( DeviceType == edtCVGxm_fap4       ) aNewDevice = new CCVGxm_fap4();
    if ( DeviceType == edtCVGx_test_rs485  ) aNewDevice = new CCVGx_test_rs485();
    if ( DeviceType == edtCVG_36           ) aNewDevice = new CCVG_36();
    if ( DeviceType == edtCVG_44_correct   ) aNewDevice = new CCVG_44_correct();

    if ( DeviceType == edtCVGxm_diff       ) aNewDevice = new CCVGxm_Diff ();
    if ( DeviceType == edtKeithley_2700    ) aNewDevice = new CKeithley_2700 ();


    if ( DeviceType == edtCVGk1            ) aNewDevice = new CCVGk1();
    if ( DeviceType == edtCVGk2            ) aNewDevice = new CCVGk2();

    if ( DeviceType == edtUE1              ) aNewDevice = new CUE1();

  // ------------
    if ( aNewDevice == NULL ) return;
    if ( WorkDevice != NULL )
    {
        if ( WorkDevice->ComPortName != NULL && aNewDevice->ComPortName == NULL) aNewDevice->ComPortName = strdup(WorkDevice->ComPortName);
        if ( WorkDevice->Storage->file_Param.FileName     != NULL && aNewDevice->Storage->file_Param.FileName     == NULL) aNewDevice->Storage->file_Param.FileName     = strdup(WorkDevice->Storage->file_Param.FileName);
    }

    aNewDevice->DeviceType = DeviceType;
  // ------------
    delete WorkDevice;  WorkDevice = aNewDevice;

    SetEnableDisabled_VCL_Group(this, "pDevice", WorkDevice != NULL );
    SetEnableDisabled_VCL_Group(this, "Panel1" , WorkDevice != NULL );
    SetEnableDisabled_VCL_Group(this, "Panel2" , WorkDevice != NULL );

  // ----- Обнавляю инфу на Диалоге -----
    UpdateDeviceInformation();

  // ----- Генерирую имя файла ----
    bGenerateFileNameClick(Sender);
}
Esempio n. 2
0
//===========================================================================
void __fastcall TfrmDeviceSetting::FormShow(TObject *Sender)
{

    SetEnableDisabled_VCL_Group(this, "pDevice" , WorkDevice != NULL );
    SetEnableDisabled_VCL_Group(this, "Panel1" , WorkDevice != NULL );
    SetEnableDisabled_VCL_Group(this, "Panel2" , WorkDevice != NULL );

    isWasErrorInKeyGridValue = false;

 // ----------- Обновляю список фолдеров -----
    cbDeviceNameDropDown   ( Sender );

 // -----Обновляю инфу об текущем девайсе ----
    UpdateDeviceInformation();
}
Esempio n. 3
0
//===========================================================================
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
   // ----
     QueryPerformanceFrequency(&qPerfFreq);
     QueryPerformanceCounter(&qPerfCounter1);
     DrawFPS = 0;
  // ---------
     BChart         = new CChart(pChart);

     rgVoltScales->Top    = Label10->BoundsRect.Bottom;
     rgVoltScales->Height = BChart->VoltScales.Count * 16;
     rgTimeScales->Height = BChart->VoltScales.Count * 16;
     Label1->Top          = rgVoltScales->BoundsRect.Bottom + 14;
     rgTimeScales->Top    = Label1->BoundsRect.Bottom;
     
     rgVoltScales->Items->Clear();
     rgTimeScales->Items->Clear();          
     for ( unsigned int i = 0; i < BChart->VoltScales.Count; i++)
        rgVoltScales->Items->Add(FloatToStr(BChart->VoltScales.Value[i]));

     for ( unsigned int i = 0; i < BChart->TimeScales.Count; i++)
        rgTimeScales->Items->Add(FloatToStr(BChart->TimeScales.Value[i]));
  // ---------

     Application->OnIdle = Idle;
     SetInterfaceParam();
     SetEnableDisabled_VCL_Group(frmMain, "Panel1", false);
}
Esempio n. 4
0
//===========================================================================
void __fastcall TfrmMain::CheckListBox1Click(TObject *Sender)
{
   SetEnableDisabled_VCL_Group(frmMain, "Panel1", CheckListBox1->Checked[CheckListBox1->ItemIndex]);

   if ( CheckListBox1->ItemIndex < 0 ) return;
   CCollection<short int> *cc = (CCollection<short int> *)CheckListBox1->Items->Objects[CheckListBox1->ItemIndex];
   if ( cc == NULL ) return;

 // ------ Цвет ---
   cbCanal->Selected = cc->gr_Color;

   BChart->Canals->Items[CheckListBox1->ItemIndex]->gr_Checked = CheckListBox1->Checked[CheckListBox1->ItemIndex];
   BChart->pbMain->Repaint();
}
Esempio n. 5
0
//===========================================================================
void TfrmMain::SetInterfaceParam()
{
     if ( CurrentWorkDevice == NULL ) return;
   // --------
     SetEnableDisabled_VCL_Group(frmMain, "Panel1", false);
    CheckListBox1->Items->BeginUpdate();
    CheckListBox1->Items->Clear();

     for (  int i = 0; i < CurrentWorkDevice->Canals->ItemsCount; i++ )
     {
         CheckListBox1->Items->AddObject(CurrentWorkDevice->Canals->Items[i]->Name, (TObject*)CurrentWorkDevice->Canals->Items[i]);
         CheckListBox1->Checked[i] = CurrentWorkDevice->Canals->Items[i]->gr_Checked;
     }
    CheckListBox1->Items->EndUpdate();

   // ----- Настраиваем панель -------
    rgVoltScales->ItemIndex = BChart->VoltScalesIndex;
    rgTimeScales->ItemIndex = BChart->TimeScalesIndex;

    CheckListBox1->Height = CheckListBox1->Items->Count * CheckListBox1->ItemHeight + 10;
}