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

📄 unit11.cpp

📁 光学仪器的控制系统 用于教学和科研的仪器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
  //范围
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"波长范围");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  sprintf(gs, "%1.2f - %1.2f nm", Form1->wns, Form1->wne);
  Str = gs;
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
  //测试日期
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"测试日期");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  Str=IntToStr(Form1->ptc.dattim[1]); Str+="-";
  Str+=IntToStr(Form1->ptc.dattim[2]); Str+="-";
  Str+=IntToStr(Form1->ptc.dattim[3]); Str+="   ";
  Str+=IntToStr(Form1->ptc.dattim[4]); Str+=":";
  Str+=IntToStr(Form1->ptc.dattim[5]); Str+=":";
  Str+=IntToStr(Form1->ptc.dattim[6]);
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
 }// if(CBPara->Checked==true)


 //打印峰尖数据
 int num;
 int i;
 AnsiString str;
 int iXHLeft, iWnLeft, iValLeft;
 int iFZTop, iFZBottom;
 TSize size;

 iCurTopPos+=iFontHeight;
 iCurTopPos+=iFontHeight;

 iXHLeft = (int)(1.0 * PixelsPerCmX);
 size = pPrinter->Canvas->TextExtent("1234567");
 iWnLeft = iXHLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("12345.123456");
 iValLeft = iWnLeft + size.cx;

 iFZTop = iCurTopPos;

 if(m_bPrnFJ)
 {
     num = XiShouFeng->StringGrid1->RowCount;
     for(i = 0; i < num; i++)
     {

        str = XiShouFeng->StringGrid1->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid1->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid1->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);

        iCurTopPos+=iFontHeight;

     }
 }
 iFZBottom = iCurTopPos;
 
 //打印峰谷数据
 size = pPrinter->Canvas->TextExtent("峰尖数值123456789");
 iXHLeft = iValLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("1234567");
 iWnLeft = iXHLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("12345.123456");
 iValLeft = iWnLeft + size.cx;

 if(m_bPrnFG)
 {
     iCurTopPos = iFZTop;
     num = XiShouFeng->StringGrid2->RowCount;
     for(i = 0; i < num; i++)
     {

        str = XiShouFeng->StringGrid2->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid2->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid2->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);

        iCurTopPos+=iFontHeight;

     }
     if(iFZBottom < iCurTopPos)    iFZBottom = iCurTopPos;
 }

 iCurTopPos = iFZBottom;

 //打印数据
 iXHLeft = (int)(1.0 * PixelsPerCmX);
 size = pPrinter->Canvas->TextExtent("1234567");
 iWnLeft = iXHLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("12345.123456");
 iValLeft = iWnLeft + size.cx;
 if(m_bPrnData)
 {
     int step;
     step = FormDataTable->udJG->Position + 1;
     num = FormDataTable->StringGrid1->RowCount;
     iCurTopPos+=iFontHeight;
     i = 0;


        str = FormDataTable->StringGrid1->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = FormDataTable->StringGrid1->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = FormDataTable->StringGrid1->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);
        

        iCurTopPos+=iFontHeight;

     i++;
     for(; i < num; i+=step)
     {

        str = FormDataTable->StringGrid1->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = FormDataTable->StringGrid1->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = FormDataTable->StringGrid1->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);

        iCurTopPos+=iFontHeight;

     }
 }


 if(CBChangInfo->Checked==true)
 {
  iCurTopPos+=(int)(1.0*PixelsPerCmY);

  pPrinter->Canvas->Font->Size=10;
  pPrinter->Canvas->TextOut(1,iCurTopPos,
  "天津市光学仪器厂、天津市拓普仪器有限公司 电话:(022)88289916  E-mail:tp@tjtp.com");

  iCurTopPos+=iFontHeight;

 }
 pPrinter->EndDoc();// 结束数据传送,实际开始打印

/*
 TRect DRect,SRect;
 String sDate;
 LPTJ270INFO lpinfo270;   //lpinfo270 = &g_ApparTJ270->m_MeasurePara;
    TFNCurveTJ270 *curve;
    int index;

    index = g_GraphTJ270->GetItemIndex();
    curve = g_GraphTJ270->GetCurrentItem();
    lpinfo270 = g_ApparTJ270->GetDoc(index);
    if( (curve == NULL) || (lpinfo270 == NULL) ) return ;



 pPrinter=Printer();

 pPrinter->BeginDoc();// 开始传送数据
 //pPrinter->Canvas->MoveTo(0, 0);
 //pPrinter->NewPage();

 //获取打印机的参数

 //注释掉原来的==============
 // PixelsPerInchX 打印机X方向每英寸点数
 // PixelsPerInchY 打印机Y方向每英寸点数
 PixelsPerInchX=GetDeviceCaps(pPrinter->Canvas->Handle,LOGPIXELSX);
 PixelsPerInchY=GetDeviceCaps(pPrinter->Canvas->Handle,LOGPIXELSY);
 //============================
 //增加的部分===========================
 //PixelsPerInchX=600;
 //PixelsPerInchY=600;
//=====================================

 PixelsPerCmX=PixelsPerInchX/2.54; // 每厘米点数
 PixelsPerCmY=PixelsPerInchY/2.54;


 //增加的部分===========================
 int pw,ph;
 pw=pPrinter->PageWidth;  // 获得打印机的最大打印宽度的点数
 ph=pPrinter->PageHeight; // 获得打印机的最大打印高度的点数
 //=====================================

 fPageWidth=(float)(pw/PixelsPerCmX); // 计算出最大打印宽度的厘米值
 fPageHeight=(float)(ph/PixelsPerCmY);
 //pPrinter->EndDoc();
 GetSetting();//获取设置参数

 int iCurTopPos=0;
 int iLeftBase=(int)(3.0*PixelsPerCmX);//测量参数的左边距为3.0厘米
 int iMaohao=(int)(2.0*PixelsPerCmX);//冒号距测量参数的左边距为2.0厘米
 String Str;
 //获取时间
 SYSTEMTIME datetime;
 GetLocalTime(&datetime);
 sDate=IntToStr(datetime.wYear);
 sDate+="-";
 sDate+=IntToStr(datetime.wMonth);
 sDate+="-";
 sDate+=IntToStr(datetime.wDay);
 sDate+=" ";
 sDate+=IntToStr(datetime.wHour);
 sDate+=":";
 sDate+=IntToStr(datetime.wMinute);
 sDate+=":";
 sDate+=IntToStr(datetime.wSecond);
 //把设置的厘米换算成像素
 iLeft=PixelsPerCmX*fLeft+5;
 iRight=PixelsPerCmX*fRight+5;
 iTop=PixelsPerCmY*fTop;
 iPutuHeight=PixelsPerCmY*fPutuHeight;
 iPutuWidth=PixelsPerCmX*fPutuWidth -1;

 //pPrinter->BeginDoc();
 //开始打印
 pPrinter->Canvas->Font->Size=12; // 字体大小
 int iFontHeight=pPrinter->Canvas->Font->Height; // 字体高度
 if(iFontHeight<0) iFontHeight=0-iFontHeight;    // 取绝对值

 if(CBBegin->Checked==true)//打印标题栏
 {
  //打印题首
  //pPrinter->Canvas->TextOut(pw*8/24,0,
  //              "WFZ-26A型紫外可见分光光度计");
  pPrinter->Canvas->TextOut(pw*8/24,0,
                "  红外分光光度计TJ270-30  ");
  //打印当前日期
  pPrinter->Canvas->Font->Size=12;
  pPrinter->Canvas->TextOut(pw*17/24
                        ,iCurTopPos,sDate);
  iCurTopPos+=iFontHeight;
  //打印一虚线
  pPrinter->Canvas->Pen->Style=psDash;

  pPrinter->Canvas->MoveTo(0,iCurTopPos);
  pPrinter->Canvas->LineTo(pw,iCurTopPos);
  iCurTopPos+=iFontHeight;

  //iCurTopPos+=iFontHeight;
 }
 //打印谱图
 iCurTopPos+=iTop;
 DRect.Top=iCurTopPos;
 DRect.Left=iLeft;
 DRect.Right=DRect.Left+iPutuWidth - 5;
 DRect.Bottom=DRect.Top+iPutuHeight ;

 //SRect.Top = KUAN+1;   SRect.Left=KUAN+1;
 //SRect.Right = Image1->Width-KUAN-20;
 //SRect.Bottom=Image1->Height-KUAN-1;
 SRect.Top = 0;
 SRect.Left = 0;
 SRect.Right = Image1->ClientWidth - 5;
 SRect.Bottom=Image1->ClientHeight - 5;

 //增加的部分===========================
 if(DRect.Right>pw)
        DRect.Right=pw;
 if(DRect.Bottom>ph)
        DRect.Bottom=ph;
 //======================================

 pPrinter->Canvas->CopyRect(DRect,Image1->Canvas,SRect); // 复制

 iCurTopPos+=DRect.Bottom;


 //打印测量参数
 if(CBPara->Checked==true)
 {


  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"名称");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  Str = curve->m_Name;
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;

  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"测量模式");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");

  Str = FormCanShu->rgMMode->Items->Strings[lpinfo270->MMode];


  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
  //扫描速度
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"扫描速度");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  Str = FormCanShu->rgSSpeed->Items->Strings[lpinfo270->SSpeed];

  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;

  //狭缝宽度
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"狭缝宽度");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");

  Str = FormCanShu->rgSlit->Items->Strings[lpinfo270->SWidth -1];


  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
  //响应时间
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"响应时间");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  Str = FormCanShu->rgRTime->Items->Strings[lpinfo270->RTime];
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;
  //范围
  pPrinter->Canvas->TextOut(iLeftBase,iCurTopPos,"波数范围");
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao,iCurTopPos,":");
  Str=FloatToStr(lpinfo270->Xs);Str+=" - ";
  Str += FloatToStr(lpinfo270->Xe);
  Str+=" cm-1";
  pPrinter->Canvas->TextOut(iLeftBase+iMaohao+iFontHeight
                        ,iCurTopPos,Str);
  iCurTopPos+=iFontHeight;

 }// if(CBPara->Checked==true)

 //打印峰尖数据
 int num;
 int i;
 AnsiString str;
 int iXHLeft, iWnLeft, iValLeft;
 int iFZTop;
 TSize size;

 iCurTopPos+=iFontHeight;
 iCurTopPos+=iFontHeight;

 iXHLeft = (int)(1.0 * PixelsPerCmX);
 size = pPrinter->Canvas->TextExtent("1234567");
 iWnLeft = iXHLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("12345.123456");
 iValLeft = iWnLeft + size.cx;

 iFZTop = iCurTopPos;
 if(m_bPrnFJ)
 {
     num = XiShouFeng->StringGrid1->RowCount;
     for(i = 0; i < num; i++)
     {

        str = XiShouFeng->StringGrid1->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid1->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid1->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);

        iCurTopPos+=iFontHeight;

     }
 }

 //打印峰谷数据
 size = pPrinter->Canvas->TextExtent("峰尖数值123456789");
 iXHLeft = iValLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("1234567");
 iWnLeft = iXHLeft + size.cx;
 size = pPrinter->Canvas->TextExtent("12345.123456");
 iValLeft = iWnLeft + size.cx;

 if(m_bPrnFG)
 {
     iCurTopPos = iFZTop;
     num = XiShouFeng->StringGrid2->RowCount;
     for(i = 0; i < num; i++)
     {

        str = XiShouFeng->StringGrid2->Cells[0][i];//打印序号
        pPrinter->Canvas->TextOut(iXHLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid2->Cells[1][i]; //打印波数
        pPrinter->Canvas->TextOut(iWnLeft, iCurTopPos, str);

        str = XiShouFeng->StringGrid2->Cells[2][i]; //打印峰值
        pPrinter->Canvas->TextOut(iValLeft, iCurTopPos, str);

        iCurTopPos+=iFontHeight;

     }
 }

 pPrinter->EndDoc();// 结束数据传送,实际开始打印
*/
}
//---------------------------------------------------------------------------

void __fastcall TFormPrntSetting::BTCancelClick(TObject *Sender)
{
 Close();        
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::EditChange(TObject *Sender)
{// 判断是否为数字
 TEdit *tEdit=(TEdit *)Sender;
 tEdit->Text=IsNumber(tEdit->Text);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintFJ(bool bs)
{
    m_bPrnFJ = bs;
    CBPrnFJ->Checked = m_bPrnFJ;
    CBPrnFJ->Enabled = m_bPrnFJ;
    PreView(1);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintFG(bool bs)
{
    m_bPrnFG = bs;
    CBPrnFG->Checked = m_bPrnFG;
    CBPrnFG->Enabled = m_bPrnFG;
    PreView(1);
}
//---------------------------------------------------------------------------
void TFormPrntSetting::PrintData(bool bs)
{
    m_bPrnData = bs;
    CBPrnData->Checked = m_bPrnData;
    CBPrnData->Enabled = m_bPrnData;

    PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnFJClick(TObject *Sender)
{
    CBPrnFJ->Checked = m_bPrnFJ;
    PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnFGClick(TObject *Sender)
{
    CBPrnFG->Checked = m_bPrnFG;
    PreView(1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrntSetting::CBPrnDataClick(TObject *Sender)
{
    CBPrnData->Checked = m_bPrnData;
    //m_bPrnData = CBPrnData->Checked;
    PreView(1);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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