Exemplo n.º 1
0
bool TfrmFiltrParam::CheckInputValues()
{
  bool Result = true;

    try { Kalman->k1   = StrToFloat(efK1          ->Text); } catch ( ... ) { ShowWrongEdit(efK1); return false; }
    try { Kalman->k2   = StrToFloat(efK2          ->Text); } catch ( ... ) { ShowWrongEdit(efK2); return false; }
    try { DST1   ->N   = StrToInt  (efN           ->Text); } catch ( ... ) { ShowWrongEdit(efN ); return false; }
    try { T0           = StrToFloat(efT0          ->Text); } catch ( ... ) { ShowWrongEdit(efT0); return false; }
    try { EndCalcTime  = StrToFloat(efT           ->Text); } catch ( ... ) { ShowWrongEdit(efT ); return false; }
    try { EndTimeCoefN = StrToFloat(efEndTimeCoefN->Text); } catch ( ... ) { ShowWrongEdit(efEndTimeCoefN); return false; }

    DST11->N = DST1->N;
    DST33->N = DST1->N;
    DST3 ->N = DST1->N;
    DST4 ->N = DST1->N;
    DST5 ->N = DST1->N;
    
  return Result;
}
Exemplo n.º 2
0
//==================================================================
//==================================================================
//==================================================================
bool TfrmWave::CheckRightInput()
{
  Wave->WaveOptions.Polynom.Enabled       = isPolinomBox->Checked;

  Wave->WaveOptions.Sinus.Enabled         = isSinusBox->Checked;
  Wave->WaveOptions.Sinus.Sinus1.Enabled  = isSinHarmonik1Box->Checked;
  Wave->WaveOptions.Sinus.Sinus2.Enabled  = isSinHarmonik2Box->Checked;
  Wave->WaveOptions.Sinus.Sinus3.Enabled  = isSinHarmonik3Box->Checked;

  Wave->WaveOptions.Saw.Enabled           = isSawBox->Checked;
  Wave->WaveOptions.Impuls.Enabled        = isImpulsBox->Checked;

  Wave->WaveOptions.Gause.Enabled         = isGauseNoise->Checked;
  Wave->WaveOptions.RandomProcess.Enabled = isRandomProcess->Checked;

  if (Wave->WaveOptions.Polynom.Enabled) {
     try { Wave->WaveOptions.Polynom.c0 = StrToFloat(eC0->Text); } catch (...) { Beep(); ShowWrongEdit(eC0); return false; };
     try { Wave->WaveOptions.Polynom.c1 = StrToFloat(eC1->Text); } catch (...) { Beep(); ShowWrongEdit(eC1); return false; };
     try { Wave->WaveOptions.Polynom.c2 = StrToFloat(eC2->Text); } catch (...) { Beep(); ShowWrongEdit(eC2); return false; };
     try { Wave->WaveOptions.Polynom.c3 = StrToFloat(eC3->Text); } catch (...) { Beep(); ShowWrongEdit(eC3); return false; };
  };

  if (Wave->WaveOptions.Sinus.Enabled) {
       if (Wave->WaveOptions.Sinus.Sinus1.Enabled) {
           try {  Wave->WaveOptions.Sinus.Sinus1.a    = StrToFloat(eSinA1->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinA1); return false; };
           try {  Wave->WaveOptions.Sinus.Sinus1.alfa = StrToFloat(eSinAlfa1->Text);} catch (...) { Beep(); ShowWrongEdit(eSinAlfa1); return false; };
           try {  Wave->WaveOptions.Sinus.Sinus1.f    = StrToFloat(eSinF1->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinF1); return false; };
           try {  Wave->WaveOptions.Sinus.Sinus1.w    = StrToFloat(eSinW1->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinW1); return false; };
      ; };

       if (Wave->WaveOptions.Sinus.Sinus2.Enabled) {
           try { Wave->WaveOptions.Sinus.Sinus2.a    = StrToFloat(eSinA2->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinA2); return false; };
           try { Wave->WaveOptions.Sinus.Sinus2.alfa = StrToFloat(eSinAlfa2->Text);} catch (...) { Beep(); ShowWrongEdit(eSinAlfa2); return false; };
           try { Wave->WaveOptions.Sinus.Sinus2.f    = StrToFloat(eSinF2->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinF2); return false; };
           try { Wave->WaveOptions.Sinus.Sinus2.w    = StrToFloat(eSinW2->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinW2); return false; };
      ; };

       if (Wave->WaveOptions.Sinus.Sinus3.Enabled) {
           try {  Wave->WaveOptions.Sinus.Sinus3.a    = StrToFloat(eSinA3->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinA3); return false; };
           try { Wave->WaveOptions.Sinus.Sinus3.alfa = StrToFloat(eSinAlfa3->Text);} catch (...) { Beep(); ShowWrongEdit(eSinAlfa3); return false; };
           try { Wave->WaveOptions.Sinus.Sinus3.f    = StrToFloat(eSinF3->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinF3); return false; };
           try { Wave->WaveOptions.Sinus.Sinus3.w    = StrToFloat(eSinW3->Text);   } catch (...) { Beep(); ShowWrongEdit(eSinW3); return false; };
      ; };
 ; };

  if (Wave->WaveOptions.Saw.Enabled) {
        try { Wave->WaveOptions.Saw.k  = StrToFloat(eSawK->Text);  } catch (...) { Beep(); ShowWrongEdit(eSawK); return false; };
        try { Wave->WaveOptions.Saw.Te = StrToFloat(eSawTe->Text);} catch (...) { Beep(); ShowWrongEdit(eSawTe); return false; };
        if (Wave->WaveOptions.Saw.Te == 0) {
            MessageDlg("Параметр Te не может быть равен 0 !!!", mtError, TMsgDlgButtons() << mbOK, 0);
            Beep();
            eSawTe->SetFocus();
            eSawTe->SelectAll();
            return false;
       ; };
 ; };

  if (Wave->WaveOptions.Impuls.Enabled) {
        try { Wave->WaveOptions.Impuls.a  = StrToFloat(eImpulsA->Text);  } catch (...) { Beep(); ShowWrongEdit(eImpulsA); return false; };
        try { Wave->WaveOptions.Impuls.Tb  = StrToFloat(eImpulsTb->Text);} catch (...) { Beep(); ShowWrongEdit(eImpulsTb); return false; };
        try { Wave->WaveOptions.Impuls.L  = StrToFloat(eImpulsL->Text);  } catch (...) { Beep(); ShowWrongEdit(eImpulsL); return false; };
 ; };

  if (Wave->WaveOptions.Gause.Enabled) {
        //try { Wave->WaveOptions.Gause.Mean = StrToFloat(eGauseMean->Text);} catch (...) { Beep(); ShowWrongEdit(eGauseMean); return false; };
        try { Wave->WaveOptions.Gause.SKO  = StrToFloat(eGauseSKO->Text); } catch (...) { Beep(); ShowWrongEdit(eGauseSKO); return false; };
 ; };

  if (Wave->WaveOptions.RandomProcess.Enabled) {
        try { Wave->WaveOptions.RandomProcess.Tf = StrToFloat(eRandomTf->Text);      } catch (...) { Beep(); ShowWrongEdit(eRandomTf); return false; };
        try { Wave->WaveOptions.RandomProcess.SigmaU  = StrToFloat(eRandomSKO->Text);} catch (...) { Beep(); ShowWrongEdit(eRandomSKO); return false; };
 ; };

  try { Wave->WaveOptions.TbPrev = StrToFloat(ePrevBegin->Text); } catch (...) { Beep(); ShowWrongEdit(ePrevBegin); return false; };
  try { Wave->WaveOptions.TePrev = StrToFloat(ePrevEnd->Text  ); } catch (...) { Beep(); ShowWrongEdit(ePrevEnd);   return false; };

  if (isRandomProcess->Checked)
    if (Wave->WaveOptions.RandomProcess.Tf <= 0){
        Beep();
        eRandomTf->SelectAll(); eRandomTf->SetFocus();
        MessageDlg("Значение Tf должно быть > 0", mtWarning, TMsgDlgButtons() << mbOK, 0);
        return false;
    }

  return  true;
}