📄 故障测距view.cpp
字号:
// 故障测距View.cpp : implementation of the CMyView class
//
#include "stdafx.h"
#include "故障测距.h"
#include "故障测距Doc.h"
#include "故障测距View.h"
#include "Line.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyView
IMPLEMENT_DYNCREATE(CMyView, CFormView)
BEGIN_MESSAGE_MAP(CMyView, CFormView)
//{{AFX_MSG_MAP(CMyView)
ON_BN_CLICKED(IDC_LINE_DAT, OnLineDat)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyView construction/destruction
CMyView::CMyView()
: CFormView(CMyView::IDD)
{
//{{AFX_DATA_INIT(CMyView)
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CMyView::~CMyView()
{
}
void CMyView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyView)
DDX_Control(pDX, IDC_END, m_END);
DDX_Control(pDX, IDC_HEAD, m_HEAD);
DDX_Control(pDX, IDC_XC, m_XC);
DDX_Control(pDX, IDC_R0, m_R0);
DDX_Control(pDX, IDC_LINE_LENGTH, m_LINE_LENGTH);
DDX_Control(pDX, IDC_L1, m_L1);
DDX_Control(pDX, IDC_L0, m_L0);
DDX_Control(pDX, IDC_L_XC, m_L_XC);
DDX_Control(pDX, IDC_HEAD_XN, m_HEAD_XN);
DDX_Control(pDX, IDC_HEAD_XL, m_HEAD_XL);
DDX_Control(pDX, IDC_END_XN, m_END_XN);
DDX_Control(pDX, IDC_END_XL, m_END_XL);
DDX_Control(pDX, IDC_C1, m_C1);
DDX_Control(pDX, IDC_C0, m_C0);
DDX_Control(pDX, IDC_R1, m_R1);
//}}AFX_DATA_MAP
}
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs);
}
void CMyView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
if(flag_line_read==NON_READ)
//参数初始化
CMyView::Initial_data() ;
else if(flag_line_read==HAVE_READ)
//载入已经读入的数据
CMyView::Insert_data() ;
}
/////////////////////////////////////////////////////////////////////////////
// CMyView diagnostics
#ifdef _DEBUG
void CMyView::AssertValid() const
{
CFormView::AssertValid();
}
void CMyView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CMyDoc* CMyView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMyView message handlers
void CMyView::OnLineDat()
{
FILE *fp ;
char filename[300] ;
CString S ;
CFileDialog fileDlg (TRUE, NULL, NULL,
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, "*.dat|*.dat|All files|*.*||", this);
if( fileDlg.DoModal ()==IDOK )
{
//线路参数已读入标志置位
flag_line_read = HAVE_READ ;
CString pathName = fileDlg.GetPathName() ;
strncpy(filename,(LPCTSTR)pathName,sizeof(filename)) ;
fp = fopen(filename,"r") ;
//=====读入线路参数=====//
fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %s %s %lf %lf %lf %lf %lf %lf",&R1,&L1,&C1,&R0,&L0,&C0,&length,head,end,&XC,&l_C,&head_XL,&head_Xn,&end_XL,&end_Xn) ;
//R1
S.Format("%.5lf",R1) ;
m_R1.SetSel(0,-1) ;
m_R1.ReplaceSel(S) ;
//L1
S.Format("%.5lf",L1) ;
m_L1.SetSel(0,-1) ;
m_L1.ReplaceSel(S) ;
//C1
S.Format("%.5lf",C1) ;
m_C1.SetSel(0,-1) ;
m_C1.ReplaceSel(S) ;
//R0
S.Format("%.5lf",R0) ;
m_R0.SetSel(0,-1) ;
m_R0.ReplaceSel(S) ;
//L0
S.Format("%.5lf",L0) ;
m_L0.SetSel(0,-1) ;
m_L0.ReplaceSel(S) ;
//C0
S.Format("%.5lf",C0) ;
m_C0.SetSel(0,-1) ;
m_C0.ReplaceSel(S) ;
//line length
S.Format("%.2lf",length) ;
m_LINE_LENGTH.SetSel(0,-1) ;
m_LINE_LENGTH.ReplaceSel(S) ;
//首端名称
m_HEAD.SetSel(0,-1) ;
m_HEAD.ReplaceSel(head) ;
//末端名称
m_END.SetSel(0,-1) ;
m_END.ReplaceSel(end) ;
//串联补偿
S.Format("%.2lf",XC) ;
m_XC.SetSel(0,-1) ;
m_XC.ReplaceSel(S) ;
//串联补偿距首端位置
S.Format("%.2lf",l_C) ;
m_L_XC.SetSel(0,-1) ;
m_L_XC.ReplaceSel(S) ;
//首端高抗
S.Format("%.2lf",head_XL) ;
m_HEAD_XL.SetSel(0,-1) ;
m_HEAD_XL.ReplaceSel(S) ;
//首端高抗中性点小电抗
S.Format("%.2lf",head_Xn) ;
m_HEAD_XN.SetSel(0,-1) ;
m_HEAD_XN.ReplaceSel(S) ;
//末端高抗
S.Format("%.2lf",end_XL) ;
m_END_XL.SetSel(0,-1) ;
m_END_XL.ReplaceSel(S) ;
//末端高抗中性点小电抗
S.Format("%.2lf",end_Xn) ;
m_END_XN.SetSel(0,-1) ;
m_END_XN.ReplaceSel(S) ;
}
}
//参数初始化函数
void CMyView::Initial_data()
{
CString S ;
//R1
R1 = 0 ;
S.Format("%.5lf",R1) ;
m_R1.SetSel(0,-1) ;
m_R1.ReplaceSel(S) ;
//L1
L1 = 0 ;
S.Format("%.5lf",L1) ;
m_L1.SetSel(0,-1) ;
m_L1.ReplaceSel(S) ;
//C1
C1 = 0 ;
S.Format("%.5lf",C1) ;
m_C1.SetSel(0,-1) ;
m_C1.ReplaceSel(S) ;
//R0
R0 = 0 ;
S.Format("%.5lf",R0) ;
m_R0.SetSel(0,-1) ;
m_R0.ReplaceSel(S) ;
//L0
L0 = 0 ;
S.Format("%.5lf",L0) ;
m_L0.SetSel(0,-1) ;
m_L0.ReplaceSel(S) ;
//C0
C0 = 0 ;
S.Format("%.5lf",C0) ;
m_C0.SetSel(0,-1) ;
m_C0.ReplaceSel(S) ;
//line length
length = 0 ;
S.Format("%.2lf",length) ;
m_LINE_LENGTH.SetSel(0,-1) ;
m_LINE_LENGTH.ReplaceSel(S) ;
//串联补偿
XC = 0 ;
S.Format("%.2f",XC) ;
m_XC.SetSel(0,-1) ;
m_XC.ReplaceSel(S) ;
//串联补偿距首端位置
l_C = 0 ;
S.Format("%.2lf",l_C) ;
m_L_XC.SetSel(0,-1) ;
m_L_XC.ReplaceSel(S) ;
//首端高抗
head_XL = 0 ;
S.Format("%.2lf",head_XL) ;
m_HEAD_XL.SetSel(0,-1) ;
m_HEAD_XL.ReplaceSel(S) ;
//首端高抗中性点小电抗
head_Xn = 0 ;
S.Format("%.2lf",head_Xn) ;
m_HEAD_XN.SetSel(0,-1) ;
m_HEAD_XN.ReplaceSel(S) ;
//末端高抗
end_XL = 0 ;
S.Format("%.2lf",end_XL) ;
m_END_XL.SetSel(0,-1) ;
m_END_XL.ReplaceSel(S) ;
//末端高抗中性点小电抗
end_Xn = 0 ;
S.Format("%.2lf",end_Xn) ;
m_END_XN.SetSel(0,-1) ;
m_END_XN.ReplaceSel(S) ;
}
//调入已读参数的函数
void CMyView::Insert_data()
{
CString S ;
//R1
S.Format("%.5lf",R1) ;
m_R1.SetSel(0,-1) ;
m_R1.ReplaceSel(S) ;
//L1
S.Format("%.5lf",L1) ;
m_L1.SetSel(0,-1) ;
m_L1.ReplaceSel(S) ;
//C1
S.Format("%.5lf",C1) ;
m_C1.SetSel(0,-1) ;
m_C1.ReplaceSel(S) ;
//R0
S.Format("%.5lf",R0) ;
m_R0.SetSel(0,-1) ;
m_R0.ReplaceSel(S) ;
//L0
S.Format("%.5lf",L0) ;
m_L0.SetSel(0,-1) ;
m_L0.ReplaceSel(S) ;
//C0
S.Format("%.5lf",C0) ;
m_C0.SetSel(0,-1) ;
m_C0.ReplaceSel(S) ;
//line length
S.Format("%.2lf",length) ;
m_LINE_LENGTH.SetSel(0,-1) ;
m_LINE_LENGTH.ReplaceSel(S) ;
//首端名称
m_HEAD.SetSel(0,-1) ;
m_HEAD.ReplaceSel(head) ;
//末端名称
m_END.SetSel(0,-1) ;
m_END.ReplaceSel(end) ;
//串联补偿
S.Format("%.2lf",XC) ;
m_XC.SetSel(0,-1) ;
m_XC.ReplaceSel(S) ;
//串联补偿距首端位置
S.Format("%.2lf",l_C) ;
m_L_XC.SetSel(0,-1) ;
m_L_XC.ReplaceSel(S) ;
//首端高抗
S.Format("%.2lf",head_XL) ;
m_HEAD_XL.SetSel(0,-1) ;
m_HEAD_XL.ReplaceSel(S) ;
//首端高抗中性点小电抗
S.Format("%.2lf",head_Xn) ;
m_HEAD_XN.SetSel(0,-1) ;
m_HEAD_XN.ReplaceSel(S) ;
//末端高抗
S.Format("%.2lf",end_XL) ;
m_END_XL.SetSel(0,-1) ;
m_END_XL.ReplaceSel(S) ;
//末端高抗中性点小电抗
S.Format("%.2lf",end_Xn) ;
m_END_XN.SetSel(0,-1) ;
m_END_XN.ReplaceSel(S) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -