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

📄 viewline.cpp

📁 vc++6.0 开发的电力系统故障滤波数据管理系统
💻 CPP
字号:
// ViewLine.cpp : implementation file
//

#include "stdafx.h"
#include "wgl_32.h"
#include "ViewLine.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CViewLine dialog

#define strFileName "GrpViews.grp"

CViewLine::CViewLine(CWgl_32Doc *p,CWnd* pParent /*=NULL*/)
	: CDialog(CViewLine::IDD, pParent)
{
	pCWgl_32Doc = p;
	CStdioFile file;
	if(!file.Open(strFileName,CFile::modeRead|CFile::typeText))
	{
		for(int i=0; i<12; i++)
			m_check[i] = TRUE;
		m_edit[0] = _T("1,2,3,4");
		m_edit[1] = _T("5,6,7,8");
		m_edit[2] = _T("9,10,11,12");
		m_edit[3] = _T("13,14,15,16");
		m_edit[4] = _T("17,18,19,20");
		m_edit[5] = _T("21,22,23,24");
		m_edit[6] = _T("25,26,27,28");
		m_edit[7] = _T("29,30,31,32");
		m_edit[8] = _T("33,34,35,36");
		m_edit[9] = _T("37,38,39,40");
		m_edit[10] = _T("41,42,43,44");
		m_edit[11] = _T("45,46,47,48");
	}
	else
	{
		file.Read(m_check,sizeof(m_check));
		for(int i=0; i<12; i++)
			file.ReadString(m_edit[i]);
		file.Close();
	}
	//{{AFX_DATA_INIT(CViewLine)
	//}}AFX_DATA_INIT
}


void CViewLine::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Check(pDX, IDC_CHECK1, m_check[0]);
	DDX_Check(pDX, IDC_CHECK10, m_check[9]);
	DDX_Check(pDX, IDC_CHECK11, m_check[10]);
	DDX_Check(pDX, IDC_CHECK12, m_check[11]);
	DDX_Check(pDX, IDC_CHECK2, m_check[1]);
	DDX_Check(pDX, IDC_CHECK3, m_check[2]);
	DDX_Check(pDX, IDC_CHECK4, m_check[3]);
	DDX_Check(pDX, IDC_CHECK5, m_check[4]);
	DDX_Check(pDX, IDC_CHECK6, m_check[5]);
	DDX_Check(pDX, IDC_CHECK7, m_check[6]);
	DDX_Check(pDX, IDC_CHECK8, m_check[7]);
	DDX_Check(pDX, IDC_CHECK9, m_check[8]);
	DDX_Text(pDX, IDC_EDIT1, m_edit[0]);
	DDX_Text(pDX, IDC_EDIT10, m_edit[9]);
	DDX_Text(pDX, IDC_EDIT11, m_edit[10]);
	DDX_Text(pDX, IDC_EDIT12, m_edit[11]);
	DDX_Text(pDX, IDC_EDIT2, m_edit[1]);
	DDX_Text(pDX, IDC_EDIT3, m_edit[2]);
	DDX_Text(pDX, IDC_EDIT4, m_edit[3]);
	DDX_Text(pDX, IDC_EDIT5, m_edit[4]);
	DDX_Text(pDX, IDC_EDIT6, m_edit[5]);
	DDX_Text(pDX, IDC_EDIT7, m_edit[6]);
	DDX_Text(pDX, IDC_EDIT8, m_edit[7]);
	DDX_Text(pDX, IDC_EDIT9, m_edit[8]);
	//{{AFX_DATA_MAP(CViewLine)
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CViewLine, CDialog)
	//{{AFX_MSG_MAP(CViewLine)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CViewLine message handlers

BOOL CViewLine::OnInitDialog() 
{
	CDialog::OnInitDialog();	
	
	return TRUE;
}

BOOL CViewLine::ParamString(CString strSrc,BOOL bShow)
{
	int d1,d2;
	char *cp = strSrc.LockBuffer();
	while(*cp == ' ') cp++;
	while(*cp!='\0')
	{
		if(sscanf(cp,"%d",&d1)!=1)
		{
			strSrc.UnlockBuffer();
			return FALSE;
		}
		d1--;
		ChannelNumber *m_pChannelIndex = pCWgl_32Doc->m_pChannelIndex;
		WORD m_ChannelNum = pCWgl_32Doc->m_ChannelNum;
		WORD m_AnaNum = pCWgl_32Doc->m_AnaNum;
		while(isdigit(*cp)) cp++;
		while(*cp == ' ' || *cp == ',') cp++;
		if(*cp == '-')
		{
			cp++;
			while(*cp == ' ' || *cp == ',') cp++;
			if(sscanf(cp,"%d",&d2)!=1)
				return FALSE;
			while(isdigit(*cp)) cp++;
			while(*cp == ' ' || *cp == ',') cp++;
			for(int i=d1;i<d2;i++)
			{
				int j=0;
				while(j<m_ChannelNum && m_pChannelIndex[j].No!=i) j++;
				if(j<m_ChannelNum)
					m_pChannelIndex[j].bShow = bShow;
			}
		}
		else
		{
			int j=0;
			while(j<m_ChannelNum && m_pChannelIndex[j].No!=d1) j++;
			if(j<m_ChannelNum)
				m_pChannelIndex[j].bShow = bShow;
		}
	}
	strSrc.UnlockBuffer();
	return TRUE;
}

void CViewLine::OnOK() 
{
	CStdioFile file;
	if(!file.Open(strFileName,CFile::modeCreate|CFile::modeWrite|CFile::typeText))
	{
		MessageBox("不能创建应用程序所需要的配置文件!",
			"错误",
			MB_OK|MB_ICONQUESTION);
		return;
	}
	UpdateData( TRUE );
	for(int i=0; i<12; i++)
		if(!ParamString(m_edit[i],m_check[i])) return;
	file.Write(m_check,sizeof(m_check));
	CString ch=_T("\n");
	for(i=0; i<12; i++)
	{
		file.WriteString(m_edit[i]);
		file.WriteString(ch);
	}
	file.Close();
	CDialog::OnOK();
}

⌨️ 快捷键说明

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