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

📄 operatview.cpp

📁 远程视频监控系统最新程序代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
           		  
		   strcpy(Local_Calc_File[Glob_Calc_Count].Calc_Code1,Loc_Data_Block.Calc_Code1);
		   strcpy(Local_Calc_File[Glob_Calc_Count].Calc_Code2,Loc_Data_Block.Calc_Code2);
           Glob_Calc_Data=Glob_Calc_Data1+Glob_Calc_Count;
           Glob_Calc_Data->Calc_Type=Loc_Data_Block.Calc_Type;
		   Glob_Calc_Data->Own_add=MAX_ADNUM+2;
           Glob_Calc_Data->Own_ch=Vapor_Calc_Count;

		   cont_tab= cont_tab1+watchPointNums+Glob_Calc_Count;
		   strcpy(cont_tab->psCode,Loc_Data_Block.WP_Code);
           cont_tab->add=MAX_ADNUM+2;
		   cont_tab->ch=Vapor_Calc_Count;
		   break;
	   case 2:  //发电机
           Generator_Calc_Count++;
		   no_add_tab= no_add_tab1+Loc_Data_Block.WP_Number;
		   no_add_tab->psNo=Loc_Data_Block.WP_Number;
		   no_add_tab->add=MAX_ADNUM+3;
		   no_add_tab->ch=Generator_Calc_Count;
		   Generator_Calc_Count%=20;		    
		   aps=aps1+(MAX_ADNUM+3)*(MAX_CHNUM+1)+Generator_Calc_Count;
		   aps->psNo=Loc_Data_Block.WP_Number;
		   strcpy(aps->psCode,Loc_Data_Block.WP_Code);
//		   aps->psType=Loc_Data_Block.WP_OriginalIndex;
		   strcpy(aps->sysUnit,Loc_PjSignal_unit[Loc_Data_Block.PjSignal_unit]);
		   aps->anaVal=0;
		   code_name_tab=code_name_tab1+(MAX_ADNUM+3)*(MAX_CHNUM+1)+Generator_Calc_Count;
           strcpy(code_name_tab->psCode,Loc_Data_Block.WP_Code); 
		   strcpy(code_name_tab->psName,Loc_Data_Block.WP_Name);
           		  
		   strcpy(Local_Calc_File[Glob_Calc_Count].Calc_Code1,Loc_Data_Block.Calc_Code1);
		   strcpy(Local_Calc_File[Glob_Calc_Count].Calc_Code2,Loc_Data_Block.Calc_Code2);
           Glob_Calc_Data=Glob_Calc_Data1+Glob_Calc_Count;
           Glob_Calc_Data->Calc_Type=Loc_Data_Block.Calc_Type;
		   Glob_Calc_Data->Own_add=MAX_ADNUM+3;
           Glob_Calc_Data->Own_ch=Generator_Calc_Count;

		   cont_tab= cont_tab1+watchPointNums+Glob_Calc_Count;
		   strcpy(cont_tab->psCode,Loc_Data_Block.WP_Code);
           cont_tab->add=MAX_ADNUM+3;
		   cont_tab->ch=Generator_Calc_Count;
		   break;
       default:
		   break;
       
	   }
      Glob_Calc_Count=Vapor_Calc_Count+Generator_Calc_Count;
	 }
	 fclose(stream);
   }
   GeneratorPtNums+=Generator_Calc_Count;
   VaporPtNums+=Vapor_Calc_Count;
   watchPointNums+=Glob_Calc_Count;
   
   APS *aps2;
   
   for(i=0;i<Glob_Calc_Count;i++)
	{
		int j=0;
	    Glob_Calc_Data=Glob_Calc_Data1+i;
		for(int nn=0;nn<=MAX_TOTAL;nn++)
		{
			if (j==2) break;
            cont_tab= cont_tab1+nn;
			if(strcmp(Local_Calc_File[i].Calc_Code1,cont_tab->psCode)==0)  
			{
				Glob_Calc_Data->Calc_add1=cont_tab->add;
                Glob_Calc_Data->Calc_ch1=cont_tab->ch;
				j++;
			}
            if(strcmp(Local_Calc_File[i].Calc_Code2,cont_tab->psCode)==0)  
			{
				Glob_Calc_Data->Calc_add2=cont_tab->add;
                Glob_Calc_Data->Calc_ch2=cont_tab->ch;
				j++;
			}
		}
	    aps=aps1+Glob_Calc_Data->Own_add*(MAX_CHNUM+1)+Glob_Calc_Data->Own_ch;
		switch (Glob_Calc_Data->Calc_Type)
		{
		case 0:
			aps2=aps1+Glob_Calc_Data->Calc_add1*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch1;
			aps->sysBot=aps2->sysBot;
			aps->sysTop=aps2->sysTop;
            aps2=aps1+Glob_Calc_Data->Calc_add2*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch2;
			aps->sysBot+=aps2->sysBot;
			aps->sysTop+=aps2->sysTop;
			break;
		case 1:
			aps2=aps1+Glob_Calc_Data->Calc_add2*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch2;
			aps->sysBot+=aps2->sysBot;
			aps->sysTop+=aps2->sysTop;
			break;
		case 2:
			aps2=aps1+Glob_Calc_Data->Calc_add1*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch1;
			aps->sysBot=aps2->sysBot;
			aps->sysTop=aps2->sysTop;
            aps2=aps1+Glob_Calc_Data->Calc_add2*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch2;
			aps->sysBot+=aps2->sysBot;
			aps->sysTop+=aps2->sysTop;
			break;
		case 3:
		case 4:
		    aps2=aps1+Glob_Calc_Data->Calc_add2*(MAX_CHNUM+1)+Glob_Calc_Data->Calc_ch2;
			aps->sysBot+=aps2->sysBot;
			aps->sysTop+=aps2->sysTop;
			break;
        default:
			aps->sysBot=0;
			aps->sysTop=500;
			break;

		}
	}


    CTime tt;
//    CFdcsManage Loc_FdcsMange;
	tt=CTime::GetCurrentTime();
	short mon  = tt.GetMonth();
	m_Data_Get.ReadTotalData(mon);
    
	Def_Init_FlowChart();



  //************lxl add 2000-4-12 end********************************

    no_add_tab	= no_add_tab1 + MAX_TURBINE;
	no_add_tab->psNo=-1;
	 no_add_tab	= no_add_tab1 + MAX_TOTAL-1;
	no_add_tab->psNo=-1;
 	for(i=1;i<MAX_TURBINE;i++)
	{
		no_add_tab	= no_add_tab1 + i;
		if(no_add_tab->psNo==0)
		{
	    	memmove(no_add_tab,no_add_tab+1,(MAX_TURBINE-i)*sizeof(No_Add_Tab));
    		i--;
		}
	}
    for(i=MAX_TURBINE+1;i<MAX_TOTAL;i++)
	{
		no_add_tab	= no_add_tab1 + i;
		if(no_add_tab->psNo==0)
		{
		   memmove(no_add_tab,no_add_tab+1,(MAX_TOTAL-i)*sizeof(No_Add_Tab));
		   i--;
		}
	}
 
//***************************************************
	delete[] cont_tab1;	



	//Def_Init_FlowChart();

	lBitmap.LoadBitmap(IDB_BITMAP1);
	lBitmap.GetBitmap(&lBMPstruct);

	m_nGeneratorBitmap.LoadBitmap(IDB_BITMAP_SYSTEM);
	m_nGeneratorBitmap.GetBitmap(&lBMPstruct);


	swonBit.LoadBitmap(IDB_BITMAP2);
	swonBit.GetBitmap(&swonBMP);

	swoffBit.LoadBitmap(IDB_BITMAP3);
	swoffBit.GetBitmap(&swoffBMP);

	m_FlowChartBit[0].LoadBitmap(IDB_BITMAP4);
	m_FlowChartBit[0].GetBitmap(&flowchartBMP[0]);

    m_FlowChartBit[1].LoadBitmap(IDB_BITMAP5);
	m_FlowChartBit[1].GetBitmap(&flowchartBMP[1]);

	m_FlowChartBit[2].LoadBitmap(IDB_BITMAP6);
	m_FlowChartBit[2].GetBitmap(&flowchartBMP[2]);

	m_FlowChartBit[3].LoadBitmap(IDB_BITMAP7);
	m_FlowChartBit[3].GetBitmap(&flowchartBMP[3]);

	m_FlowChartBit[4].LoadBitmap(IDB_BITMAP12);
	m_FlowChartBit[4].GetBitmap(&flowchartBMP[4]);

	m_FlowChartBit[5].LoadBitmap(IDB_BITMAP13);
	m_FlowChartBit[5].GetBitmap(&flowchartBMP[5]);

	m_FlowChartBit[6].LoadBitmap(IDB_BITMAP14);
	m_FlowChartBit[6].GetBitmap(&flowchartBMP[6]);
	 
	 

	CFdcsData	fdcs;
	char nStr[128];
    fdcs.RegActivex(".\\table\\bar.ocx",nStr);
    fdcs.Fdcs_Add(0X1c0);
	fdcs.Fdcs_Init();
	
	Def_SetSystemTime();

	GetPlateFile();
	//GetSwitchFile();
	//ReadCalc();

	LOGFONT logFont;
    logFont.lfHeight = 40;
    logFont.lfWidth = 20;
    logFont.lfEscapement = 0;
    logFont.lfOrientation = 0;
    logFont.lfWeight = FW_EXTRABOLD;
    logFont.lfItalic = 0;
    logFont.lfUnderline = 0;
    logFont.lfStrikeOut = 0;
    logFont.lfCharSet = ANSI_CHARSET;
    logFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont.lfQuality = PROOF_QUALITY;
    logFont.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
	strcpy(logFont.lfFaceName, "宋体");
	//CFont font;
	m_titfont.CreateFontIndirect(&logFont);

    LOGFONT logFont2;
	logFont2.lfHeight = 30;
    logFont2.lfWidth = 12;
    logFont2.lfEscapement = 0;
    logFont2.lfOrientation = 0;
    logFont2.lfWeight = FW_EXTRABOLD;
    logFont2.lfItalic = 0;
    logFont2.lfUnderline = 0;
    logFont2.lfStrikeOut = 0;
    logFont2.lfCharSet = ANSI_CHARSET;
    logFont2.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont2.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont2.lfQuality = PROOF_QUALITY;
    logFont2.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
	strcpy(logFont2.lfFaceName, "宋体");
	m_LxlFont.CreateFontIndirect(&logFont2);

	LOGFONT logFont3;
	logFont3.lfHeight = 28;
    logFont3.lfWidth = 10;
    logFont3.lfEscapement = 0;
    logFont3.lfOrientation = 0;
    logFont3.lfWeight = FW_EXTRABOLD;
    logFont3.lfItalic = 0;
    logFont3.lfUnderline = 0;
    logFont3.lfStrikeOut = 0;
    logFont3.lfCharSet = ANSI_CHARSET;
    logFont3.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont3.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont3.lfQuality = PROOF_QUALITY;
    logFont3.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
	strcpy(logFont3.lfFaceName, "宋体");
	m_LxlFont2.CreateFontIndirect(&logFont3);


	LOGFONT logFont4;
	logFont4.lfHeight = 24;
    logFont4.lfWidth = 8;
    logFont4.lfEscapement = 0;
    logFont4.lfOrientation = 0;
    logFont4.lfWeight = FW_NORMAL;
    logFont4.lfItalic = 0;
    logFont4.lfUnderline = 0;
    logFont4.lfStrikeOut = 0;
    logFont4.lfCharSet = ANSI_CHARSET;
    logFont4.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont4.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont4.lfQuality = PROOF_QUALITY;
    logFont4.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
	strcpy(logFont4.lfFaceName, "宋体");
	m_TableFont.CreateFontIndirect(&logFont4);

	LOGFONT logFont5;
	logFont5.lfHeight = 28;
    logFont5.lfWidth = 10;
    logFont5.lfEscapement = 0;
    logFont5.lfOrientation = 0;
    logFont5.lfWeight = FW_NORMAL;
    logFont5.lfItalic = 0;
    logFont5.lfUnderline = 0;
    logFont5.lfStrikeOut = 0;
    logFont5.lfCharSet = ANSI_CHARSET;
    logFont5.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont5.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont5.lfQuality = PROOF_QUALITY;
    logFont5.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
	strcpy(logFont5.lfFaceName, "宋体");
	m_ChartFont.CreateFontIndirect(&logFont5);
    

	CHistoryData nHistoryData;
	nHistoryData.InitData();
	m_nHistTimeCout=0;
}


COperatView::~COperatView()
{
	CFdcsData nFdcsData;
	char nStr[128];
	nFdcsData.UnregisterActivex(".\\table\\bar.ocx",nStr);
	CHistoryData nHistoryData;
	nHistoryData.DestoryData();
	delete[] aps1;	
	delete[] code_name_tab1;
	delete[] no_add_tab1;
	delete[] Glob_Calc_Data1;
	delete m_Plate_Brush;
    
	m_titfont.DeleteObject();
	m_LxlFont2.DeleteObject();
	m_LxlFont.DeleteObject();
	m_TableFont.DeleteObject();
	m_ChartFont.DeleteObject();

	lBitmap.DeleteObject();
	swonBit.DeleteObject();
	swoffBit.DeleteObject();
	for(int i=0;i<=7;i++)
	  m_FlowChartBit[i].DeleteObject();

}

BOOL COperatView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
 
	return CView::PreCreateWindow(cs);
}

void COperatView::GetPlateFile()
{

   FILE *stream;
   char s[16];
   int  i=0,no;
   plate_disp.nGeneratorplateNum=0;plate_disp.nTurbineplateNum=0;
   stream = fopen( ".\\table\\PlateDisp.dat", "r+" );
   if( stream == NULL )
      printf( "The file platedisp.dat was not opened\n" );
   else   {
	  while(!feof(stream))
	 {	
        //Read data back from file: 
		fscanf( stream, "%d %s",&no, s ); 		 	 
		if((no<0)||(no>MAX_PLATE_NUM*2)) continue;
	    // lxl add in 2000-4-20
		strcpy(plate_disp.psCode[no],s);
		for(int j=(MAX_CHNUM+1);j<(MAX_ADNUM+1)*(MAX_CHNUM+1);j++){
			code_name_tab = code_name_tab1+j;
			if(strcmp(code_name_tab->psCode,plate_disp.psCode[no])==0)
				break;
		}
		if(j<(MAX_ADNUM+1)*(MAX_CHNUM+1)){
			plate_disp.add[no] = code_name_tab->add;
			plate_disp.ch[no]  = code_name_tab->ch;
	        i++;	
		}	
		if (no<=MAX_PLATE_NUM) plate_disp.nTurbineplateNum=no;	
	    else plate_disp.nGeneratorplateNum=no-MAX_PLATE_NUM;
	  }	 
   }
   fclose(stream);
  
}
/////////////////////////////////////////////////////////////////////////////
// COperatView drawing

void COperatView::OnDraw(CDC* pDC)
{
	COperatDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CDC *pMemDC;
	CBitmap *oldBitmap;
	CClientDC dc(this);
	CHistoryData nHistoryData;
	CRect nRect;
    int xW,yH;

	switch(subFace){
	case 0://Main PreTextForYAxis

        GetClientRect(&m_client);
	    m_yH = m_client.bottom,m_xW = m_client.right; 
    	m_Alrm_Rect.SetRect(5, 5, m_xW-15,data_y0-15);
		
		pMemDC = new CDC;
		pMemDC->CreateCompatibleDC(&dc);
		if (m_nCurSystem==0) oldBitmap=pMemDC->SelectObject(&lBitmap);
		else oldBitmap=pMemDC->SelectObject(&m_nGeneratorBitmap);
		dc.BitBlt(0,data_y0,m_xW,m_yH-data_y0-key_y0,pMemDC,0,0,SRCCOPY);
		pMemDC->SelectObject(oldBitmap);
		delete pMemDC;        

		DrawMenu(pDC);
		break;

	case 1://subFace=Plate
		    DrawPlateFace(pDC);
			DrawPlateMenu(pDC);
						//AfxMessageBox("Plate Good");
			break;
	case 2://Form
			DrawFormFace(pDC);
			DrawPlateMenu(pDC);

⌨️ 快捷键说明

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