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

#ifndef Define_Material_ARSSH
#define Define_Material_ARSSH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>

#include "Steel_param_ARSS.h"
#include "Data_Gen.h"
#include <Vcl.Grids.hpp>

#define steel_STAND_GOST_27772  "ГОСТ 27772-2015, Таблица 5, фасонный прокат"
#define steel_STAND_GOST_57837  "ГОСТ Р 57837–2017, Таблица 7, фасонный прокат"
#define steel_STAND_SP_16       "СП 16.13330.2017, Таблица В.4, двутавры"

#define steel_TRUBA_GOST_27772  "ГОСТ 27772-2015, Таблица 4, универсальный прокат"
#define steel_TRUBA_SP_16       "СП 16.13330.2017, Таблица В.3, трубы"

#define steel_WELD_GOST_27772   "ГОСТ 27772-2015, Таблица 4, универсальный прокат"
#define steel_WELD_SP_16        "СП 16.13330.2017, Таблица В.3, универсальный прокат"


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

void Get_Mater_Param_0(int i, double *E, double *G, double *nu) ;


class TDefine_Material_ARSSForm : public TForm
{
__published:	// IDE-managed Components
        TPanel *Panel1;
        TEdit *Edit_Num;
        TLabel *Label1;
        TLabel *Label2;
        TGroupBox *GroupBox1;
        TEdit *Edit_E;
        TEdit *Edit_G;
        TEdit *Edit_nu;
        TLabel *Label3;
        TLabel *Label4;
        TLabel *Label5;
	TGroupBox *GroupBox_Prop;
        TEdit *Edit_dens;
        TLabel *Label9;
        TBitBtn *BitBtn_Cancel;
        TBitBtn *BitBtn_OK;
        TLabel *Label_gamma_m;
        TLabel *Label11;
        TEdit *Edit_gamma_m;
        TComboBox *ComboBox_steel;
		TComboBox *ComboBox_gost;
	TStringGrid *StringGrid_Prop;

        void __fastcall BitBtn_OKClick(TObject *Sender);
        void __fastcall FormShow(TObject *Sender);
        void __fastcall ComboBox_steelChange(TObject *Sender);
		void __fastcall ComboBox_gostChange(TObject *Sender);
		void __fastcall Read_Mater(TObject *Sender);
		// Установить список материалов, соответствующий прокату (фасон или труба)
		void __fastcall Set_Material(int index_profil, int index_GOST);
	void __fastcall BitBtn_CancelClick(TObject *Sender);
	void __fastcall Set_Material_name(int index_profil, int index_GOST, char *title_mater);


private:	// User declarations
   bool flag_close;
   String text, header;
   STEEL_PARAM steel_param;
   MATER_PARAM mater_param;
   int Index_profil;  // Установленный тип профиля (0 - фасон, 1 - трубы
   AnsiString Name_steel;  // Название стали с префиксом

   AnsiString Prefix;
public:		// User declarations
		__fastcall TDefine_Material_ARSSForm(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TDefine_Material_ARSSForm *Define_Material_ARSSForm;
//---------------------------------------------------------------------------
#endif
