亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fubdlg.cpp

?? 用串口實現警報系統,VC用單文檔方式實現
?? CPP
字號:
// BufDlg.cpp : implementation file
//

#include "stdafx.h"
#include "alarm.h"
#include "FubDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CFubDlg dialog


CFubDlg::CFubDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFubDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFubDlg)
	m_bfCode = _T("");
	m_bfName = _T("");
	m_bfNumber = _T("");
	//}}AFX_DATA_INIT
	m_nAct=0;
}


void CFubDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFubDlg)
	DDX_Text(pDX, IDC_EDITCODE, m_bfCode);
	DDX_Text(pDX, IDC_EDITNAME, m_bfName);
	DDX_Text(pDX, IDC_EDITPORT, m_bfNumber);
	//}}AFX_DATA_MAP

	if(pDX->m_bSaveAndValidate)
	{
		CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO1);
		if(pButton->GetCheck())
			m_bfProperty="串口";
		else
		{
			pButton=(CButton*)GetDlgItem(IDC_RADIO2);
			if(pButton->GetCheck())
				m_bfProperty="并口";
			else
				m_bfProperty="";
		}

		pButton=(CButton*)GetDlgItem(IDC_RADIO3);
		if(pButton->GetCheck())
			m_bfInUse="啟用";
		else
		{
			pButton=(CButton*)GetDlgItem(IDC_RADIO4);
			if(pButton->GetCheck())
				m_bfInUse="禁用";
			else
				m_bfInUse="";
		}

		while(m_bfCode.GetLength()<8)
		{
			m_bfCode.Insert(0,'0');
		}
	}
	else
	{
		if(m_bfProperty=="串口")
		{
			CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO1);
			pButton->SetCheck(TRUE);
		}
		if(m_bfProperty=="并口")
		{
			CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO2);
			pButton->SetCheck(TRUE);
		}
		if(m_bfInUse=="啟用")
		{
			CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO3);
			pButton->SetCheck(TRUE);
		}
		if(m_bfInUse=="禁用")
		{	
			CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO4);
			pButton->SetCheck(TRUE);
		}
	}
}


BEGIN_MESSAGE_MAP(CFubDlg, CDialog)
	//{{AFX_MSG_MAP(CFubDlg)
	ON_EN_CHANGE(IDC_EDITCODE, OnChangeEditcode)
	ON_EN_CHANGE(IDC_EDITPORT, OnChangeEditport)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFubDlg message handlers

BOOL CFubDlg::OnInitDialog() 
{
	// TODO: Add extra initialization here
	CASPDlg* pWnd=(CASPDlg*)GetParent();
	m_nAct = pWnd->m_nAct;
	if(m_nAct==1)			//修改動作,初始化參數
	{
		//初始化bfname,bfcode,porperty,number等
		pWnd->m_bfList.GetItemText(pWnd->m_nSel,0,m_bfName.GetBuffer(100),100);
		pWnd->m_bfList.GetItemText(pWnd->m_nSel,1,m_bfCode.GetBuffer(100),100);
		pWnd->m_bfList.GetItemText(pWnd->m_nSel,2,m_bfProperty.GetBuffer(100),100);
		pWnd->m_bfList.GetItemText(pWnd->m_nSel,3,m_bfNumber.GetBuffer(100),100);
		pWnd->m_bfList.GetItemText(pWnd->m_nSel,4,m_bfInUse.GetBuffer(100),100);
		m_bfName.ReleaseBuffer();
		m_bfCode.ReleaseBuffer();
		m_bfProperty.ReleaseBuffer();
		m_bfNumber.ReleaseBuffer();
		m_bfInUse.ReleaseBuffer();	
	}

	CDialog::OnInitDialog();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CFubDlg::OnOK() 
{
	// TODO: Add extra validation here
	if (!UpdateData(TRUE))
	{
		TRACE0("UpdateData failed during dialog termination.\n");
		// the UpdateData routine will set focus to correct item
		return;
	}

	//數據檢查并給以提示
	if(!DataCheck())
	{
		::AfxMessageBox("數據不完整或不符合要求,請檢查");
		return;
	}
	//根據不同操作采取不同的action
	if(m_nAct==0)
	{
		AddNew();
	}
	if(m_nAct==1)
	{
		Editbf();
	}

	EndDialog(IDOK);
}

void CFubDlg::AddNew()
{
	_RecordsetPtr r;
	r.CreateInstance(_uuidof(Recordset));
	CString s="select * from bufangset";
	_bstr_t bs=s.AllocSysString();
	TRY
	{
		CalarmApp* pApp=(CalarmApp*)::AfxGetApp();
		r->Open(bs,(IDispatch*)pApp->m_dConnTd,adOpenDynamic,adLockOptimistic,adCmdText);
		r->AddNew();
		FillRecord(r);
		r->Update();
	
		//將list更新
		CASPDlg* pWnd=(CASPDlg*)GetParent();
		int nItem = pWnd->m_bfList.InsertItem(pWnd->m_bfList.GetItemCount(),m_bfName);
		pWnd->m_bfList.SetItemText(nItem,1,m_bfCode);
		pWnd->m_bfList.SetItemText(nItem,2,m_bfProperty);
		pWnd->m_bfList.SetItemText(nItem,3,m_bfNumber);
		pWnd->m_bfList.SetItemText(nItem,4,m_bfInUse);
	}
	CATCH(CException,e)
	{
		e->ReportError();
		::AfxMessageBox("請再次檢查數據");
	}
	END_CATCH
	r->Close();
	r=NULL;
}

void CFubDlg::FillRecord(_RecordsetPtr r)
{
	r->PutCollect("bfname",m_bfName.AllocSysString());
	r->PutCollect("property",m_bfProperty.AllocSysString());

	long code=binstr2i(m_bfCode);
	long number=atoi(m_bfNumber.GetBuffer(50));
	m_bfNumber.ReleaseBuffer();
	r->PutCollect("bfcode",COleVariant(code));
	r->PutCollect("number",COleVariant(number));

	VARIANT t;
	t.vt=VT_BOOL;
	if(m_bfInUse=="啟用")
		t.boolVal=TRUE;
	else
		t.boolVal=FALSE;
	r->PutCollect("promote",t);
}

void CFubDlg::Editbf()
{
	_RecordsetPtr r;
	r.CreateInstance(_uuidof(Recordset));
	
	CASPDlg* pWnd=(CASPDlg*)GetParent();
	CString tempbfName;
	pWnd->m_bfList.GetItemText(pWnd->m_nSel,0,tempbfName.GetBuffer(100),100);
	tempbfName.ReleaseBuffer();
	CString s="select * from BufangSet where bfname = '" +tempbfName + "'";
	_bstr_t bs=s.AllocSysString();
	TRY
	{
		CalarmApp* pApp=(CalarmApp*)::AfxGetApp();
		r->Open(bs,(IDispatch*)pApp->m_dConnTd,adOpenDynamic,adLockOptimistic,adCmdText);
		FillRecord(r);
		r->Update();
	
		//將list更新
		CASPDlg* pWnd=(CASPDlg*)GetParent();
		pWnd->m_bfList.SetItemText(pWnd->m_nSel,0,m_bfName);
		pWnd->m_bfList.SetItemText(pWnd->m_nSel,1,m_bfCode);
		pWnd->m_bfList.SetItemText(pWnd->m_nSel,2,m_bfProperty);
		pWnd->m_bfList.SetItemText(pWnd->m_nSel,3,m_bfNumber);
		pWnd->m_bfList.SetItemText(pWnd->m_nSel,4,m_bfInUse);
	}
	CATCH(CException,e)
	{
		::AfxMessageBox("請再次檢查數據");
		e->ReportError();
	}
	END_CATCH
	r->Close();
	r=NULL;
}

BOOL CFubDlg::DataCheck()
{
	if((m_bfCode=="") || (m_bfName=="") ||(m_bfNumber=="") ||(m_bfInUse=="")||(m_bfProperty==""))
		return FALSE;
	CASPDlg* pWnd=(CASPDlg*)GetParent();
	for(int i=0; i< pWnd->m_bfList.GetItemCount();i++)
	{
		//注意,此處邏輯與vb程序不同
		if(i==pWnd->m_nSel) continue;
		CString bfCode,bfProperty;
		pWnd->m_bfList.GetItemText(i,1,bfCode.GetBuffer(100),100);
		pWnd->m_bfList.GetItemText(i,2,bfProperty.GetBuffer(100),100);
		bfCode.ReleaseBuffer();
		bfProperty.ReleaseBuffer();

		if((binstr2i(bfCode)==binstr2i(m_bfCode))&&(bfProperty==m_bfProperty))
			return FALSE;
	}
	return TRUE;
}


void CFubDlg::OnChangeEditcode() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here

	//事件編碼的鍵盤輸入限制條件:0、1,最大輸入長度為8
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDITCODE);
	CString str;
	pEdit->GetWindowText(str);
	if(str.GetLength()>8)
		pEdit->SetWindowText(str.Left(8));		
	for(int i=0; i<str.GetLength();i++)
	{
		if(str[i]!='0'&&str[i]!='1')
		{
			::AfxMessageBox("觸發事件碼應為0,1代碼");
			pEdit->SetWindowText(str.Left(i));
			break;
		}
	}
}


void CFubDlg::OnChangeEditport() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	CString NUM="0123456789";
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDITPORT);
	CString str;
	pEdit->GetWindowText(str);

	//判斷端口編號是否為數字
	for(int i=0;i<str.GetLength();i++)
	{
		if(NUM.Find(str[i])==-1)
		{
			::AfxMessageBox("端口編號應為數字");
			pEdit->SetWindowText(str.Left(i));
			return;
		}
	}

    //如果端口編號是數字的話再分別按照端口類型判斷
    //option1:串行端口
	CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO1);
	if(pButton->GetCheck())
	{
		if(atoi(str.GetBuffer(50))>16)
		{
			::AfxMessageBox("串口編號范圍在0-16之間");
			pEdit->SetWindowText("");
		}
		str.ReleaseBuffer();
	}
	pButton=(CButton*)GetDlgItem(IDC_RADIO2);
	if(pButton->GetCheck())
	{
		if(atoi(str.GetBuffer(50))>65535)
		{
			::AfxMessageBox("并口編號范圍在0-65535之間");
			pEdit->SetWindowText("");
		}
		str.ReleaseBuffer();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品天天看| 国产乱妇无码大片在线观看| 蜜桃视频一区二区三区在线观看| 国产在线精品免费| 欧美日韩激情一区二区三区| 久久久国产午夜精品| 亚洲国产毛片aaaaa无费看| 国产福利精品一区二区| 欧美日韩成人一区| 1024成人网| 国产 欧美在线| 精品国精品国产| 五月天欧美精品| 色天天综合色天天久久| 中文在线一区二区| 国产一区二区三区蝌蚪| 日韩精品一区二区三区在线观看 | 国产精品99久久久久久似苏梦涵 | 北条麻妃国产九九精品视频| 日韩午夜av一区| 日本一区中文字幕| 欧美精品自拍偷拍| 亚洲一区二区视频在线| 色综合色综合色综合| 国产精品白丝在线| 99久久久久免费精品国产| 国产日韩欧美激情| 成人视屏免费看| 国产精品久久久久久久裸模| 丰满少妇在线播放bd日韩电影| 久久理论电影网| 国产一区三区三区| 久久影院视频免费| 国产成人午夜电影网| 久久精品视频网| 成人av资源下载| 亚洲免费av网站| 欧美在线免费视屏| 亚洲午夜久久久久久久久久久| 在线免费不卡电影| 日韩av一区二区三区| 日韩欧美中文一区| 久久69国产一区二区蜜臀| 亚洲精品一区二区三区福利| 国产精品18久久久久久vr| 亚洲国产精品精华液2区45| 丁香一区二区三区| 亚洲另类在线一区| 欧美人动与zoxxxx乱| 蜜桃视频在线一区| 国产欧美日韩在线| 91原创在线视频| 亚洲成人免费电影| 日韩欧美综合一区| 国产91精品入口| 亚洲美女免费在线| 日韩欧美aaaaaa| 国产精品18久久久久| 亚洲另类春色国产| 欧美一卡二卡在线| 99这里只有久久精品视频| 午夜亚洲国产au精品一区二区| 欧美一区二区福利视频| 成人黄色电影在线| 日韩电影在线一区| 日本一区二区三区四区在线视频| 欧美怡红院视频| 国产黑丝在线一区二区三区| 亚洲日本在线观看| 日韩小视频在线观看专区| 成人h精品动漫一区二区三区| 亚洲一区在线视频观看| 久久久久97国产精华液好用吗| 91女厕偷拍女厕偷拍高清| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产成人在线观看| 亚洲国产综合91精品麻豆| 精品福利一区二区三区 | 91精品国产黑色紧身裤美女| 国产成人免费视频网站 | 欧美一区二区二区| 91国在线观看| 丰满少妇在线播放bd日韩电影| 天天操天天色综合| 亚洲天堂2016| 久久久久久久久久久久久女国产乱| 色婷婷综合五月| 粉嫩欧美一区二区三区高清影视| 日韩精品免费视频人成| 亚洲免费三区一区二区| 国产欧美日韩在线观看| 精品国精品国产| 69堂国产成人免费视频| 色综合天天综合网天天看片| 国产精品综合一区二区三区| 天天av天天翘天天综合网色鬼国产 | 欧美系列在线观看| 9i看片成人免费高清| 国产成人午夜精品5599| 久久99久久99小草精品免视看| 亚洲一二三区不卡| 亚洲综合色视频| 中文字幕在线不卡| 国产亚洲婷婷免费| 久久久久综合网| 精品黑人一区二区三区久久| 日韩一区二区精品在线观看| 欧美日韩三级一区二区| 91搞黄在线观看| 色偷偷成人一区二区三区91| 97se亚洲国产综合自在线| 国产99久久久久久免费看农村| 久久99久久99精品免视看婷婷| 日韩高清在线一区| 天堂va蜜桃一区二区三区漫画版| 亚洲一区在线电影| 亚洲一线二线三线视频| 一区二区三区日韩精品视频| 亚洲视频在线观看一区| 亚洲日本护士毛茸茸| 亚洲欧美视频在线观看视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美日韩国产天堂| 欧美三级欧美一级| 7777精品伊人久久久大香线蕉最新版 | 日韩精品久久久久久| 日本美女视频一区二区| 精品一区二区日韩| 国产一本一道久久香蕉| 成人激情校园春色| 91视频.com| 在线不卡a资源高清| 精品国产乱码久久久久久久久| 久久久av毛片精品| 国产精品欧美久久久久一区二区| 国产精品视频免费看| 亚洲精品自拍动漫在线| 午夜一区二区三区视频| 狠狠色综合日日| av在线综合网| 3d成人动漫网站| 26uuu精品一区二区| 中文字幕在线不卡一区二区三区| 伊人性伊人情综合网| 视频一区二区欧美| 国产成人精品影院| 欧美三级中文字幕| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久久久久晋中 | 国产精品久久久久影院老司| 亚洲综合丁香婷婷六月香| 免费的国产精品| caoporen国产精品视频| 911精品国产一区二区在线| 久久亚洲私人国产精品va媚药| 亚洲三级久久久| 精品在线观看免费| 欧美亚洲国产bt| 国产亚洲一区二区三区| 亚洲va欧美va天堂v国产综合| 国产精品自拍网站| 欧美日韩精品久久久| 国产精品视频观看| 男女男精品网站| 91在线视频免费观看| 2021国产精品久久精品| 亚洲欧美一区二区三区极速播放 | 国产精品自在欧美一区| 欧美日韩一区视频| 国产精品美女久久久久久久久| 石原莉奈在线亚洲三区| 一本大道av一区二区在线播放| 日韩美女视频在线| 亚洲h动漫在线| 色天使色偷偷av一区二区| 国产欧美一区二区精品久导航| 日本亚洲视频在线| 在线观看视频一区| 中文字幕在线不卡| 国产91精品精华液一区二区三区| 91麻豆精品国产91久久久 | 欧美日韩一级黄| 亚洲欧洲日韩av| 国产精品一卡二卡| 欧美精品一区二区在线观看| 视频在线观看一区| 欧美性受xxxx| 亚洲精品成人精品456| 成人激情动漫在线观看| 国产亚洲一区字幕| 国内精品久久久久影院一蜜桃| 色哟哟亚洲精品| 日韩码欧中文字| 91在线视频在线| 亚洲乱码中文字幕| www.在线成人| 国产精品福利影院| 99re在线视频这里只有精品| 中文字幕一区二| av不卡一区二区三区|