Ejemplo n.º 1
0
//---------------------------------------------------------------------------
void __fastcall TFNoSenseRestProp::BtOkClick(TObject *Sender)
{
   TEdit *Ex;
   try
   {
      Ex = EA;
   	A = StrToFloat(EA->Text);
      Ex = EB;
   	B = StrToFloat(EB->Text);
      Ex = EA;
   	K = StrToFloat(EK->Text);
      Ex = EdX;
   	dX = StrToFloat(EdX->Text);
      Ex = EdY;
   	dY = StrToFloat(EdY->Text);
   }
   catch(...)
   {
      Application->MessageBoxA("Неверный формат числа", "Floating Poitn Error",
                               MB_OK | MB_ICONERROR);
      Ex->SetFocus();
   	return;
   }
	ResultOk = true;
   Close();
}
Ejemplo n.º 2
0
//---------------------------------------------------------------------------
bool TMillersForm::CalcIndex(void)
{
    bool bRet = true;
    AnsiString S;
    TEdit *pIndexEdit;
    try
    {
     if(DirectIndexHEdit->Text != ""
     && DirectIndexHEdit->Text != ""
     && DirectIndexHEdit->Text != "")
     {
      pIndexEdit = DirectIndexHEdit;
      MI.h = pIndexEdit->Text.ToDouble();
      pIndexEdit = DirectIndexKEdit;
      MI.k = pIndexEdit->Text.ToDouble();
      pIndexEdit = DirectIndexLEdit;
      MI.l = pIndexEdit->Text.ToDouble();

      TMillersIndexes PerpMI;
      PerpMI = MI.Perpend();
      PerpIndexHEdit->Text = AnsiString().sprintf("%.2f",PerpMI.h);
      PerpIndexKEdit->Text = AnsiString().sprintf("%.2f",PerpMI.k);
      PerpIndexLEdit->Text = AnsiString().sprintf("%.2f",PerpMI.l);

      if(AngleIndexHEdit->Text != ""
      && AngleIndexKEdit->Text != ""
      && AngleIndexLEdit->Text != "")
      {
       TMillersIndexes AngelMI;

       pIndexEdit = AngleIndexHEdit;
       AngelMI.h = pIndexEdit->Text.ToDouble();
       pIndexEdit = AngleIndexKEdit;
       AngelMI.k = pIndexEdit->Text.ToDouble();
       pIndexEdit = AngleIndexLEdit;
       AngelMI.l = pIndexEdit->Text.ToDouble();

       double dAngle = MI.Angle(AngelMI);
       AngleValueLabel->Caption = AnsiString().sprintf("%.2f",dAngle);//FloatToStrF(dAngle, AnsiString::sffGeneral, 5,2);
      }
     }
    }
    catch(EConvertError *EC)
    {
     bRet = false;
     if(m_bShowExeption == true)
     {
      S = pIndexEdit->Text;
      AnsiString Text = "¬ведено неправильное чиcловое значение '" + S + "'";
	  Application->MessageBox(_WST(Text),_WST("ќшибка"),MB_OK | MB_ICONEXCLAMATION);
      if(pIndexEdit->CanFocus())
	   pIndexEdit->SetFocus();
	 }
    }
    return bRet;
}