📄 operatview.cpp
字号:
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 + -