📄 main.cpp.~86~
字号:
//$$---- 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
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -