📄 unit_main.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit_Main.h"
#include "inifiles.hpp"
#include "PowCtr.h"
#include "Unit_ThreadTest.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "PERFGRAP"
#pragma link "CGAUGES"
#pragma resource "*.dfm"
int iTestTim;
int iTestN;
int iGpibIndex;
int iPriAdd;
float fOutputPow;
float fVoltProt;
float fCurrLimit;
bool iReatimeChg;
int clock;
CPowCtr *power;
float fCurrSum;
int icount;
float fCurrMax;
float fCurrMin;
float fCurrAver;
TForm_Main *Form_Main;
ThreadTest *test;
//---------------------------------------------------------------------------
__fastcall TForm_Main::TForm_Main(TComponent* Owner)
: TForm(Owner)
{
fCurrSum=0;
icount=0;
fCurrMax=0;
fCurrMin=1;
fCurrAver=0;
}
//---------------------------------------------------------------------------
void TForm_Main::LoadSetting(void)
{
TIniFile *reg;
reg=new TIniFile(GetCurrentDir()+"\\cfg.ini");
iTestTim=reg->ReadInteger("Test","TestTim",1000);
iTestN=reg->ReadInteger("Test","TestNum",1000);
iGpibIndex=reg->ReadInteger("Instrument","Index",0);
iPriAdd=reg->ReadInteger("Instrument","PriAdd",5);
fOutputPow=reg->ReadFloat("Instrument","OutputPow",3.8);
fVoltProt=reg->ReadFloat("Instrument","VoltProt",5);
fCurrLimit=reg->ReadFloat("Instrument","CurrLimit",2);
iReatimeChg=reg->ReadBool("MISC","RealTimeChg",true);
delete reg;
Edit_tim->Text=IntToStr(iTestTim);
Edit_testN->Text=IntToStr(iTestN);
CheckBox_RealtimneChg->Checked=iReatimeChg;
Edit_GpibIndex->Text=IntToStr(iGpibIndex);
Edit_PriAdd->Text=IntToStr(iPriAdd);
Edit_OutPutPow->Text=FormatFloat("0.00",fOutputPow);
Edit_VoltProt->Text=FormatFloat("0.0",fVoltProt);
Edit_CurrLimt->Text=FormatFloat("0.0",fCurrLimit);
}
void TForm_Main::SaveSetting(void)
{
TIniFile *reg;
iTestTim=StrToInt(Trim(Edit_tim->Text));
iTestN=StrToInt(Trim(Edit_testN->Text));
iReatimeChg=CheckBox_RealtimneChg->Checked;
iGpibIndex=StrToInt(Trim(Edit_GpibIndex->Text));
iPriAdd=StrToInt(Trim(Edit_PriAdd->Text));
fOutputPow=StrToFloat(Trim(Edit_OutPutPow->Text));
fVoltProt=StrToFloat(Trim(Edit_VoltProt->Text));
fCurrLimit=StrToFloat(Trim(Edit_CurrLimt->Text));
reg=new TIniFile(GetCurrentDir()+"\\cfg.ini");
reg->WriteInteger("Test","TestTim",iTestTim);
reg->WriteInteger("Test","TestNum",iTestN);
reg->WriteInteger("Instrument","Index",iGpibIndex);
reg->WriteInteger("Instrument","PriAdd",iPriAdd);
reg->WriteFloat("Instrument","OutputPow",fOutputPow);
reg->WriteFloat("Instrument","VoltProt",fVoltProt);
reg->WriteFloat("Instrument","CurrLimit",fCurrLimit);
reg->WriteBool("MISC","RealTimeChg",iReatimeChg);
delete reg;
}
void __fastcall TForm_Main::FormShow(TObject *Sender)
{
int state;
LoadSetting();
power=new CPowCtr();
state=power->Init(iGpibIndex,iPriAdd);
if(state!=0){
ShowMessage("Connect Instrument Error["+IntToStr(state)+"]");
BitBtn_Start->Enabled=false;
BitBtn_Reset->Enabled=false;
StatusBar1->Panels->Items[0]->Text="连接电源失败!";
return;
}
//state=pow->PowReset(fVoltProt,fCurrLimit,fOutputPow);
//state=pow->PowOn();
StatusBar1->Panels->Items[0]->Text="就绪!";
Memo_log->Lines->LoadFromFile(GetCurrentDir()+"\\history.txt");
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::FormClose(TObject *Sender,
TCloseAction &Action)
{
SaveSetting();
Memo_log->Lines->SaveToFile(GetCurrentDir()+"\\history.txt");
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::BitBtn_ResetClick(TObject *Sender)
{
ClearResult();
}
//---------------------------------------------------------------------------
void TForm_Main::ClearResult()
{
fCurrSum=0;
icount=0;
fCurrMax=0;
fCurrMin=1;
fCurrAver=0;
Edit_CurrCurr->Clear();
Edit_CurrMax->Clear();
Edit_CurrMin->Clear();
Edit_CurrAver->Clear();
Edit_TestTime->Clear();
CGauge_pro->Progress=0;
Panel_S->Caption="";
}
void __fastcall TForm_Main::BitBtn_StartClick(TObject *Sender)
{
if(BitBtn_Start->Caption=="开始"){
test=new ThreadTest(true);
test->Resume();
BitBtn_Start->Caption="停止" ;
}else if(BitBtn_Start->Caption=="停止"){
test->interrrupt();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::BitBtn_InitPowClick(TObject *Sender)
{
int state;
state=power->PowReset(fVoltProt,fCurrLimit,fOutputPow);
power->PowOn();
if(state!=0){
ShowMessage("Connect Instrument Error["+IntToStr(state)+"]");
BitBtn_Start->Enabled=false;
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::Edit_timChange(TObject *Sender)
{
iTestTim=StrToInt(Trim(Edit_tim->Text));
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::Edit_testNChange(TObject *Sender)
{
iTestN=StrToInt(Trim(Edit_testN->Text));
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::CheckBox_RealtimneChgClick(TObject *Sender)
{
iReatimeChg=CheckBox_RealtimneChg->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TForm_Main::TimerTimer(TObject *Sender)
{
clock++;
Edit_TestTime->Text=IntToStr(clock);
}
//---------------------------------------------------------------------------
void TForm_Main::ResetClock(void)
{
clock=0;
}
void __fastcall TForm_Main::BitBtn_ClearClick(TObject *Sender)
{
Memo_log->Clear();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -