📄 resultview.cpp
字号:
// ResultView.cpp : implementation file
//
#include "stdafx.h"
#include "wgl_32.h"
#include "ResultView.h"
#include "SearchDlg.h"
#include "ZhxSet.h"
#include "DelDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CSearchDlg dlg;
CZhxSet CMySet;
char* title[6]={"\0","\0","\0","\0","\0","\0"};
/////////////////////////////////////////////////////////////////////////////
// CResultView
IMPLEMENT_DYNCREATE(CResultView, CScrollView)
CResultView::CResultView()
{
m_rmode=FALSE;
m_AddMode=FALSE;
n=0;
m_Mode=FALSE;
flag=FALSE;
}
CResultView::~CResultView()
{
}
BEGIN_MESSAGE_MAP(CResultView, CScrollView)
//{{AFX_MSG_MAP(CResultView)
ON_COMMAND(ID_STATIS_FAULT, OnStatisFault)
ON_COMMAND(IDC_EDIT_DELETE, OnEditDelete)
//}}AFX_MSG_MAP
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CResultView drawing
void CResultView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
// TODO: calculate the total size of this view UpdateAllViews SetMapMode
sizeTotal.cx = 2800;
sizeTotal.cy = 900;
SetScrollSizes(MM_LOMETRIC, sizeTotal);
}
char* value[7];
void CResultView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
UpdateWindow();
char* Time[6]={"年","月","日","时","分","秒"};
char* item1[]={"记录号","起始日期时间","故障类型","故障延续时间","录波器ID","故障线路名","故障文件名"};
char* item[]={"起始日期时间:","结束日期时间:","查询地区名称:","查询线路名称:","故障类型:","录波器ID:"};
int length=2200;
if(m_rmode){
CFont font1;
int i;
CFont* poldFont;
font1.CreateFont(100,70,0,0,400,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"Arial");
//DEFAULT_PITCH&FF_SWISS,"Arial"//DEFAULT_PITCH&FF_MODERN,"Courier"
poldFont=pDC->SelectObject(&font1);
pDC->TextOut(50,0,"电力系统故障录波数据查询统计结果");
CFont font2;
font2.CreateFont(50,30,0,0,400,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"Arial");
pDC->SelectObject(&font2);
for(i=0;i<=5;i++)
{
pDC->TextOut(50,-(220+i*60),item[i]);
pDC->TextOut(50+380,-(220+i*60),title[i]);
}
int po=430;
if(dlg.m_check6){
pDC->TextOut(po,-(220+4*60),"1");
po+=60;
}
if(dlg.m_check7){
pDC->TextOut(po,-(220+4*60),"2");
po+=60;
}
if(dlg.m_check8){
pDC->TextOut(po,-(220+4*60),"3");
po+=60;
}
if(dlg.m_check9){
pDC->TextOut(po,-(220+4*60),"4");
po+=60;
}
if(dlg.m_check10){
pDC->TextOut(po,-(220+4*60),"5");
//po+=30;
}
pDC->SelectObject(poldFont);
/*pDC->MoveTo(50,-700);
pDC->LineTo(1800,-700);
int j;
int w[7]={0,160,310,120,170,220,220};
int x1=50;
for(j=0;j<=6;j++)
{
pDC->TextOut(x1+18+w[j],-700-20,item1[j]);
x1+=18+w[j];
}*/
//pDC->SelectObject(&pen);
int x=50;
int y=700;
int c=8;
int h=80;
int w[7]={0,160-30,400,200-30,300-40,300,500-200};
int x1=x;
int j=0;
pDC->MoveTo(x,-y);
pDC->LineTo(length,-y);
for(i=0;i<=6;i++)
{
pDC->TextOut(x1+18+w[i],-(y+23),item1[i]);
x1+=18+w[i];
}
x1=x;
CMySet.MoveFirst();
while(!CMySet.IsEOF()){
AddValue();
j++;
pDC->MoveTo(x,-(y+h*j));
pDC->LineTo(length,-(y+h*j));
for(i=0;i<=6;i++)
{
pDC->TextOut(x1+18+w[i],-(y+80*j+23),value[i]);
x1+=18+w[i];
}
x1=x;
CMySet.MoveNext();
}
j++;
pDC->MoveTo(x,-(y+h*j));
pDC->LineTo(length,-(y+h*j));
pDC->MoveTo(x,-y);
pDC->LineTo(x,-(y+h*j));
x1=x;
for(i=1;i<=6;i++)
{
pDC->MoveTo(x1+18+w[i],-y);//(x1+8+w[i],y+35*j+10,value[i]);
pDC->LineTo(x1+18+w[i],-(y+h*j));
x1+=18+w[i];
}
pDC->MoveTo(length,-y);//(x1+8+w[i],y+35*j+10,value[i]);
pDC->LineTo(length,-(y+h*j));
pDC->MoveTo(50-10,-700+10);
pDC->LineTo(length+10,-700+10);
pDC->MoveTo(50-10,-700+10);
pDC->LineTo(50-10,-(y+h*j+10));
pDC->MoveTo(length+10,-700+10);
pDC->LineTo(length+10,-(y+h*j+10));
pDC->LineTo(50-10,-(y+h*j+10));
font1.DeleteObject();
font2.DeleteObject();
}
CMySet.m_strFilter.Empty();
title[4]="\0";
}
/////////////////////////////////////////////////////////////////////////////
// CResultView diagnostics
#ifdef _DEBUG
void CResultView::AssertValid() const
{
CScrollView::AssertValid();
}
void CResultView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CResultView message handler
char h[50],h1[50];
char g[50],g1[50];
void CResultView::OnStatisFault()
{
// TODO: Add your command handler code here
CString m_zhx;
CString m_zhx1;
CString m_zhx2;
CString m_zhx3;
CString m_zhx4;
double num=1997.062811;
n=0;
//int num=4;
char Wyy[333];
char Wyy0[333];
char Wyy1[333];
char Wyy2[333];
char Wyy3[333];
char Wyy4[333];
char Wyy5[333];
CMySet.m_strFilter.Empty();
//AfxMessageBox(CMySet.m_strFilter,MB_OK);
if(dlg.DoModal()==IDOK){
if(CMySet.IsOpen())
CMySet.Close();
/////////////////////////////////////////////////////////////////////////
double date1=0,date2=0;
if(dlg.m_check1){
//double date1=0,date2=0;
dlg.convert();
date1+=dlg.m_year1;
date1+=(dlg.m_month1*0.01);
date1+=(dlg.m_day1*0.0001);
date1+=(dlg.m_hour1*0.000001);
date2+=dlg.m_year21;
date2+=(dlg.m_month21*0.01);
date2+=(dlg.m_day21*0.0001);
date2+=(dlg.m_hour21*0.000001);
sprintf(Wyy,"(reserve1>=%f)",date1);
sprintf(Wyy0,"(reserve1<=%f)",date2);
CString ss=_T(Wyy);
CString ss1=_T(Wyy0);
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter=ss+"and"+ss1;
sprintf(h,"%d年%d月%d日%d时",dlg.m_year1,dlg.m_month1,dlg.m_day1,dlg.m_hour1);
title[0]=h;
sprintf(h1,"%d年%d月%d日%d时",dlg.m_year21,dlg.m_month21,dlg.m_day21,dlg.m_hour21);
title[1]=h1;
}
else{
CMySet.m_strFilter+=ss+"and"+ss1;
sprintf(g,"%d年%d月%d日%d时",dlg.m_year1,dlg.m_month1,dlg.m_day1,dlg.m_hour1);
title[0]=g;
sprintf(g1,"%d年%d月%d日%d时",dlg.m_year21,dlg.m_month21,dlg.m_day21,dlg.m_hour21);
title[1]=g1;
}
// AfxMessageBox(CMySet.m_strFilter,MB_OK);
}
///////////////////////////////////////////////////////////////////////
if(dlg.m_check2){
m_zhx1="(cityname='"+dlg.m_Cityname2+"')";
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter=m_zhx1;
title[2]=(char *)LPCTSTR(dlg.m_Cityname2);
}
else{
CMySet.m_strFilter+="and"+m_zhx1;
title[2]=(char *)LPCTSTR(dlg.m_Cityname2);
}
}
//////////////////////////////////////////////////////////////////////
if(dlg.m_check4){
m_zhx3="(linename='"+dlg.m_Linename2+"')";
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter=m_zhx3;
title[3]=(char *)LPCTSTR(dlg.m_Linename2);
}
else{
CMySet.m_strFilter+="and"+m_zhx3;
title[3]=(char *)LPCTSTR(dlg.m_Linename2);
}
}
/////////////////////////////////////////////////////////////////////////
if(dlg.m_check5){
m_zhx4="(recordid='"+dlg.m_Recordid2+"')";
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter=m_zhx4;
title[5]=(char *)LPCTSTR(dlg.m_Recordid2);
}
else{
CMySet.m_strFilter+="and"+m_zhx4;
title[5]=(char *)LPCTSTR(dlg.m_Recordid2);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
CString ccc;
flag=FALSE;
if(dlg.m_check3){
if(!(CMySet.m_strFilter=="\0")){
ccc="("+CMySet.m_strFilter;
if(dlg.m_check6){
sprintf(Wyy1, "(faulttype=%d)",dlg.type[1]);
CString kk1=_T(Wyy1);
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter =kk1;
title[4]="1";
flag=TRUE;
}
else{
if(flag){
CMySet.m_strFilter +="or"+ccc+"and"+kk1+")";
title[4]="1";
flag=TRUE;
}
else{
CMySet.m_strFilter =ccc+"and"+kk1+")";
title[4]="1";
flag=TRUE;
}
}
}
if(dlg.m_check7){
sprintf(Wyy2, "(faulttype=%d)",dlg.type[2]);
CString kk2=_T(Wyy2);
if(CMySet.m_strFilter=="\0"){
CMySet.m_strFilter =kk2;
title[4]="2";
flag=TRUE;
}
else{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -