⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp.~88~

📁 神经网络用于X荧光分析的源码。输入元素峰的强度
💻 ~88~
📖 第 1 页 / 共 2 页
字号:
//$$---- Form CPP ----
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "MAIN.h"
#include "backprop.h"

#include "unRegrObjects.hpp"

//#include "unGlobalVar.hpp"
//#include "unSamplingClass.hpp"

//#include "unARMath.hpp"
//#include "unPeriodTableClasses.hpp"

//#include "unPLS.hpp"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TformOXEA *formOXEA;
 TUserData UserData;
 TConfig Config;
 const
	AddMeasParamCount = 7;
  AnsiString AddMeasParamNames[AddMeasParamCount]  =
   {"BackScatter",
	"FluorSum",
	"MWPhase",
	"MWQuenching", //attenuation
	"MWTemper",
	"MWSurfWt",
	"DT"};
//---------------------------------------------------------------------------
__fastcall TformOXEA::TformOXEA(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TformOXEA::FormCreate(TObject *Sender)
{


	 RecordFrom = 4;
     RecordTo = 10;


	Config.ProgramLocation = ExtractFileDir(Application->ExeName);

   //	TestDirectory(Config->ProgramLocation);
	LoadProjectName();

  //	SetFileNamesAndDirs();

  
 // Spectrum->SpectraPath = Config->XRFSprPath;
 // TestDirectory(Spectrum->SpectraPath);


 
  LoadFormPosition();
  

  //OpenProject();



}
void __fastcall TformOXEA::OpenProject(void)
{

}
void __fastcall TformOXEA::ReloadTables(void)
{


}

 void __fastcall TformOXEA::SaveProjectName(void)
 {
   /*
   TIniFile *ini = new TIniFile(Config->ProgramLocation+ + IniFileName);
   ini->WriteString("Project","OXEA-Laboratory Current Project",LowerCase(Config->ProjectName));

	delete ini;
   */
 }


void __fastcall TformOXEA::LoadProjectName(void)
{

 AnsiString tfile = "oxea.ini";
 //strcat(Config->ProgramLocation,tfile);
 TIniFile *ini = new TIniFile(Config.ProgramLocation+tfile);
 try{
	Config.ProjectName =
	ini->ReadString("Project","OXEA-Laboratory Current Project",Config.ProgramLocation + "Projects\\Default.ini");
	 //  ini->ReadString()
	}
	catch(...)
	{


	}

   delete ini;

}
//---------------------------------------------------------
void __fastcall TformOXEA::SetFileNamesAndDirs(void)
{

  /*
	Config->SPrgName = ExtractFileName(Config->ProjectName);
	Config->ProjectName = LowerCase(Config->ProjectName);
	if (! FileExists(Config->ProjectName))
	{
	  Config->SPrgName = "default.ini";
	  Config->ProjectName = Config->ProgramLocation + "projects\\" + Config->SPrgName; //full
	  Config->ProjectName = LowerCase(Config->ProjectName);
	}
   AnsiString	Save = ExtractFileExt(Config->ProjectName); //extention;
	if (Save != "")
	{
	  Save = Config->SPrgName;
	 // Delete(Save,Length(Save) - 3, 4);

	  Save.Delete(Save.Length() - 3, 4);
	}
	Config->DataProjDir = LowerCase(ExtractFilePath(Config->ProjectName) + Save);
	TestDirectory(Config->DataProjDir);
	Config->XRFTablesPath = Config->DataProjDir + "tables\\";
	TestDirectory(Config->XRFTablesPath);
	Config->XRFSprPath = Config->DataProjDir + "spectra\\";
	TestDirectory(Config->XRFSprPath);

	*/
}
//--------------------------------------------------------------------------
 void __fastcall TformOXEA::LoadFormPosition(void)
 {
   Config.ProgramLocation = "c:\\indutech\\rfa\\";
  TIniFile *ini = new TIniFile(Config.ProgramLocation + "OXEA.ini");

 // OXEA_Ini := TIniFile.Create(Config.ProgramLocation + IniFileName);
 // with OXEA_Ini do begin

	 Left = ini->ReadInteger("OXEA-Laboratory Form","Left",0);
	 Top  = ini->ReadInteger("OXEA-Laboratory Form","Top",0);
	 Width = ini->ReadInteger("OXEA-Laboratory Form","Width",985);
	 Height = ini->ReadInteger("OXEA-Laboratory Form","Height",700);
	 Config.Language = ini->ReadInteger("OXEA-Laboratory Form","Language No",0);

	 delete ini;

 }


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

 bool __fastcall TformOXEA::LoadSubstances(void)
 {
  // return (1);
   
	int I,J,K ;
	bool Ka,Kb,La,Lb,Ma;

  // with tbPeaks, Config do
	   Config.XRFTablesPath = Config.XRFTablesPath + "\\tables\\";
	   tbPeaks->DatabaseName = Config.XRFTablesPath;

	 if (tbPeaks->Active )   tbPeaks->Close();


	  tbPeaks->TableName= PeaksTableName;

	   if (tbPeaks->Exists )
		 {
			try  {
			tbPeaks->Open();

		}
		catch (...)
		{
		 return(false);
		}

	   try {
		 Config.SubstCount = tbPeaks->RecordCount;

		  if (tbPeaks->FindField("Ka") != NULL )
			 Ka = true;

		if (tbPeaks->FindField("Kb") != NULL )
			 Kb = true;                  // Kb = tbPeaks->FindField('Kb') <> nil;

			if (tbPeaks->FindField("La") != NULL )
			 La = true; 		        // La = tbPeaks->FindField('La') <> nil;
		 if (tbPeaks->FindField("Lb") != NULL )
			 Lb = true; 			    // Lb = tbPeaks->FindField('Lb') <> nil;
		if (tbPeaks->FindField("Ma") != NULL )
			 Ma = true;                 //Ma = tbPeaks->FindField('Ma') <> nil;

		 J = 0;
		tbPeaks->First();
		
		 if (Config.SubstCount == 0 )
		  return (false);


		 for (I = 0 ; I<= Config.SubstCount - 1; I++)
		 {

		   Config.SubstLabel[I] = tbPeaks->FieldByName("Substance")->AsString;
					 Config.SubstName[I]= Config.SubstLabel[I].SubString(1,2);
					 Config.SubstName[I]= Config.SubstName[I].Trim();
					//Config->SubstName[I] = Trim(Copy(Config->SubstLabel[I],1,2));

           //read peak names
		   if (Ka)
			{
			  if (! VarIsNull(tbPeaks->FieldValues["Ka"]))
			  {
			   UserData.PeakLabel[J] = tbPeaks->FieldByName("Ka")->AsString;
			  J++;
			  }
			 }
		   if (Kb)
			{
			  if (! VarIsNull(tbPeaks->FieldValues["Kb"]))
			  {
			   UserData.PeakLabel[J] = tbPeaks->FieldByName("Kb")->AsString;
			  J++;
			  }
			 }

			if (La)
			{
			  if (! VarIsNull(tbPeaks->FieldValues["La"]))
			  {
			   UserData.PeakLabel[J] = tbPeaks->FieldByName("La")->AsString;
			  J++;
			  }
			 }
			if (Lb)
			{
			  if (! VarIsNull(tbPeaks->FieldValues["Lb"]))
			  {
			   UserData.PeakLabel[J] = tbPeaks->FieldByName("Lb")->AsString;
			  J++;
			  }
			 }
			if (Ma)
			{
			  if (! VarIsNull(tbPeaks->FieldValues["Ma"]))
			  {
			   UserData.PeakLabel[J] = tbPeaks->FieldByName("Ma")->AsString;
			  J++;
			  }
			 }


		   if (tbPeaks->Eof)
			  break;
		   tbPeaks->Next();
         }

         //user defined peaks
			tbPeaks->First();
		 if (tbPeaks->FindField("UserPeaks") != NULL)
			{
			while (! tbPeaks->Eof)
			 {
			 if (! VarIsNull(tbPeaks->FieldValues["UserPeaks"]))
				{
				UserData.PeakLabel[J] = tbPeaks->FieldByName("UserPeaks")->AsString;
				J++ ;
				}
			 tbPeaks->Next();
			}
		 }
		}
		 catch(...)
		 {}
         tbPeaks->Close();

	   //5 Zusatzrohwerte

	   for (K  = 0 ; K<=AddMeasParamCount - 1; K++)
	  {
		 UserData.PeakLabel[J] = AddMeasParamNames[K];
		 J++;
		}


	   UserData.PeakCount = J;

      //SQL peak names
	   for (I = 0 ; I<=UserData.PeakCount - 1; I++ )
		 UserData.PeakFieldName[I] = PeakLabelToSQLName(UserData.PeakLabel[I]);
	 } // if
	 else
	 return (False); //not Exist


  K = 0;
  for (I = Config.SubstCount ; I <= Config.SubstCount + AddUserValuesCount - 1;I++ )
  {
	Config.SubstName[I] = AddUserValueNames[K];
	Config.SubstLabel[I] = AddUserValueNames[K]; //translate !!!
	K++;
  }
  Config.SubstCount = Config.SubstCount + AddUserValuesCount;

 // OpenSubstsLabelsTable;
  //LoadSubstLabels; //overwrite if defined
	cbSubstance->Clear();
   if (Config.SubstCount != 0 )
	 {
	 for (I = 0; I<=  Config.SubstCount - 1;I++)
		cbSubstance->Items->Add(Config.SubstLabel[I]);
	 }
	 cbSubstance->ItemIndex = Config.SubstNo;


  return (true);

 }
 //-------------------------------------------------------------------------


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

void __fastcall TformOXEA::MenuOpenProjectClick(TObject *Sender)
{

  // Userdata.p
	AnsiString filepath,filepath1;
	if (OpenDialogsample->Execute())
	{
	filepath1 = ExtractFilePath(OpenDialogsample->FileName);
	filepath = ExtractFileName(OpenDialogsample->FileName);

	filepath =ChangeFileExt( filepath,"");

	Config.XRFTablesPath = filepath1+ filepath;
	/*
	Tablesample->DatabaseName =  "d:\\database\\3";  //dai zhi de laobiao

	Tablesample->TableName = "Calibration_0.db";
	if (Tablesample->Active )
		Tablesample->Close();

		if (Tablesample->Exists )
		{
		  try
		  {
		  Tablesample->Open();
		  }
		 catch(...)
		 {
		 Tablesample->Close();
		 }
		}
	 DataSource1->DataSet = Tablesample;
	 dbgSamples->DataSource = DataSource1;
	  */
	  LoadSubstances( );

	        //display the peaklabels of all peaks;
			ListBoxpeaks1->Items->Clear();
			for (int i = 0  ; i < UserData.PeakCount; i++)
			{
			ListBoxpeaks1->Items->Add(UserData.PeakLabel[i]);
			}
	 
   }
  
}
//---------------------------------------------------------------------------


void __fastcall TformOXEA::SpeedButtonopendataClick(TObject *Sender)
{

	   OpenDialogdatabase->InitialDir = Config.XRFTablesPath;
	if (OpenDialogdatabase->Execute())
	{

	Tablesample->DatabaseName = Config.XRFTablesPath;  //dai zhi de laobiao

	Tablesample->TableName = ExtractFileName(OpenDialogdatabase->FileName);
	if (Tablesample->Active )
		Tablesample->Close();

		if (Tablesample->Exists )
		{
		  try
		  {
		  Tablesample->Open();
		  }
		 catch(...)
		 {
		 Tablesample->Close();
		 }
		}
	 DataSource1->DataSet = Tablesample;
	 dbgSamples->DataSource = DataSource1;
   }
   cbSubstanceChange(Sender);
 /*
  int i,J,K;
   for (i = 5  ; i < dbgSamples->Columns->Count; i++)
   {
	dbgSamples->Columns->Items[i]->Visible  =false;
	//  dbgSamples->Columns->Items[i]->Color

   }

	 for (i =5 ; i < dbgSamples->Columns->Count; i++)
		{
		 AnsiString felname;
		 Config.SubstNo = cbSubstance->ItemIndex;

		 felname = AnsiString(prefLabField) + Config.SubstName[Config.SubstNo];
		 if (dbgSamples->Columns->Items[i]->FieldName == felname)
		 {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -