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

📄 unit1.cpp~

📁 线程调用参数然后输出,参数使用来控制计算的输出
💻 CPP~
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "spmdll.h"
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

 double m_spectrum[3648],WL[3648],  m_integration, m_average, m_boxcar;

//---------------------------------------------------------------------------
int CalcWL()
{
	return 0;
}
 void DrawCordinate()
{
	int i;
	int minX, minY, maxX, maxY;
    POINT m_ptStart, m_ptEnd;

    Form1->PaintBox1->Canvas->Pen->Color = clBlue;
    Form1->PaintBox1->Canvas->Pen->Mode = pmBlack;
    Form1->PaintBox1->Canvas->Pen->Width = 2;
  //  PaintBox1->Canvas->Brush->Style = bs
    minX = Form1->PaintBox1->Width /10;
  	minY = Form1->PaintBox1->Height/10;
  	maxX = Form1->PaintBox1->Width*95/100;
   	maxY = Form1->PaintBox1->Height*95/100;

	m_ptStart.x = minX;
	m_ptStart.y = maxY;
	m_ptEnd.x = maxX;
	m_ptEnd.y = maxY;
	Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
	Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);

	m_ptStart.x = minX;
	m_ptStart.y = maxY;
	m_ptEnd.x = minX;
	m_ptEnd.y = minY;
	Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
	Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);

    	Form1->PaintBox1->Canvas->Pen->Width = 1;
	for(i=0;i<6;i++)
	{
		m_ptStart.x = (maxX - minX) / 6 * (i + 1) + minX;
		m_ptStart.y = maxY;
		m_ptEnd.x = m_ptStart.x;
		m_ptEnd.y = m_ptStart.y - 10;
		Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
		Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
        	Form1->PaintBox1->Canvas->TextOutA(m_ptStart.x - 10, m_ptStart.y + 3, IntToStr(200 * i + 200));
	}

	for(i=0;i<7;i++)
	{
		m_ptStart.x = minX;
		m_ptStart.y = maxY - (maxY - minY) / 7 * (i + 1);
		m_ptEnd.x = m_ptStart.x + 10;
		m_ptEnd.y = m_ptStart.y;
		Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
		Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
        Form1->PaintBox1->Canvas->TextOutA(m_ptStart.x - 35, m_ptStart.y, IntToStr(10000 * i + 10000));
	}
}

void DrawSpectrum()
{
	int ret, i;
    float factorX, factorY;
	POINT m_ptStart, m_ptEnd;

    Form1->PaintBox1->Canvas->FillRect(Form1->PaintBox1->ClientRect);
    DrawCordinate();
    Form1->PaintBox1->Canvas->Pen->Mode = pmCopy;
    factorX = (float)Form1->PaintBox1->Width * 85.0 / 100.0 / 1200.0;
    factorY = (float)Form1->PaintBox1->Height * 85.0 / 100.0 / 70000.0;
	m_ptStart.x=Form1->PaintBox1->Width/10.0 + WL[0] * factorX;
	m_ptStart.y=Form1->PaintBox1->Height*85.0/100.0 - m_spectrum[0] * factorY;
 	Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
   for(i=0;i<3648;i++)
	{
		m_ptEnd.x=Form1->PaintBox1->Width/10.0 + WL[i] * factorX;
		m_ptEnd.y=Form1->PaintBox1->Height*85.0/100.0 - m_spectrum[i] * factorY;
		Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
	}
}

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        m_integration = StrToInt(Edit2->Text);
        m_average = StrToInt(Edit3->Text);
        m_boxcar = StrToInt(Edit4->Text);
        ini(StrToInt(Edit2->Text), StrToInt(Edit3->Text), StrToInt(Edit4->Text));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{

     if((StrToInt(Edit2->Text)!=m_integration)||(StrToInt(Edit3->Text)!=m_average)||(StrToInt(Edit4->Text)!=m_boxcar)){
        m_integration = StrToInt(Edit2->Text);
        m_average = StrToInt(Edit3->Text);
        m_boxcar = StrToInt(Edit4->Text);
        setScanParameter(m_integration, m_average, m_boxcar);
     }

     DoScan();
     getSpectrum(m_spectrum);
     getWavelengths(WL);
     DrawCordinate();
     DrawSpectrum();
     int pix = StrToInt(Edit1->Text);
     if(pix<3648)
     {
        Label18->Caption =WL[pix];
        Label1->Caption = m_spectrum[pix];
     }
     Label13->Caption = FloatToStr(get_littleX());
     Label14->Caption = FloatToStr(get_littleY());
     Label15->Caption = FloatToStr(get_dominant());
     Label16->Caption = FloatToStr(get_purity());
     Label17->Caption = FloatToStr(get_CCT());

     BitBtn1->Enabled = true;
     Button2->Enabled = false;
}


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

void __fastcall TForm1::Button3Click(TObject *Sender)
{
    Close();
}

 //---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
        DrawCordinate();
}


void __fastcall TForm1::Button4Click(TObject *Sender)
{
        saveCalibrationDark();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
     saveCalibrationReference();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
    saveDark();
}
//---------------------------------------------------------------------------




void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  newthread = new th1(false);
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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