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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cmdbatview.cpp

?? CAN__組建現(xiàn)場總線系統(tǒng)設(shè)計技術(shù)(光盤)
?? CPP
字號:
// CmdBatView.cpp : implementation file
//

#include "stdafx.h"
#include "VCStyle.h"
#include "CmdBatView.h"

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

#include<Mmsystem.h>

#include "data.h"
#include "sja\\sjaexport.h"
/////////////////////////////////////////////////////////////////////////////
// CCmdBatView

IMPLEMENT_DYNCREATE(CCmdBatView, CFormView)

CCmdBatView::CCmdBatView()
	: CFormView(CCmdBatView::IDD)
{
	//{{AFX_DATA_INIT(CCmdBatView)
	m_LoopCount = 0;
	m_sCmdBat = _T("");
	m_sNote = _T("");
	//}}AFX_DATA_INIT
	m_TimerID = 0;
	m_TimerRes = 0;
}

CCmdBatView::~CCmdBatView()
{
}

void CCmdBatView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCmdBatView)
	DDX_Control(pDX, IDVALID, m_btnvalid);
	DDX_Control(pDX, IDINVALID, m_btninvalid);
	DDX_Control(pDX, IDC_BUTTON_SAVE, m_btnsave);
	DDX_Control(pDX, IDC_BUTTON_LOAD, m_btnload);
	DDX_Control(pDX, IDC_BUTTON_HELP, m_btnhelp);
	DDX_Text(pDX, IDC_EDIT_LOOPCOUNT, m_LoopCount);
	DDX_Text(pDX, IDC_EDIT_CMDBAT, m_sCmdBat);
	DDX_Text(pDX, IDC_EDIT_NOTE, m_sNote);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCmdBatView, CFormView)
	//{{AFX_MSG_MAP(CCmdBatView)
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BUTTON_HELP, OnButtonHelp)
	ON_BN_CLICKED(IDVALID, OnValid)
	ON_BN_CLICKED(IDINVALID, OnInvalid)
	ON_MESSAGE(WM_RECEIVEFRAME,OnReceiveFrame)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BUTTON_LOAD, OnButtonLoad)
	ON_BN_CLICKED(IDC_BUTTON_SAVE, OnButtonSave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCmdBatView diagnostics

#ifdef _DEBUG
void CCmdBatView::AssertValid() const
{
	CFormView::AssertValid();
}

void CCmdBatView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
CCmdBatDoc *CCmdBatView::GetDocument ()  // non-debug version is inline
{
	ASSERT (m_pDocument->IsKindOf (RUNTIME_CLASS (CCmdBatDoc)));

	return (CCmdBatDoc *) m_pDocument;
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CCmdBatView message handlers

HBRUSH CCmdBatView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
//	HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor==CTLCOLOR_EDIT)
		pDC->SetBkColor(RGB(255,250,255));
	// TODO: Return a different brush if the default is not desired
	return m_bkbrush;
}

extern "C"
void CALLBACK internalTimerProc(UINT id, UINT msg,
	DWORD dwUser, DWORD dw1, DWORD dw2)
{
	CCmdBatView* pcmdbatview = (CCmdBatView*)dwUser;

	CCmdBatDoc* pDoc = pcmdbatview->GetDocument();

	if(pDoc->m_LoopCount == 0) return;//有限次循環(huán)
	if(pDoc->m_cmdindex == -1) return;//無效

	//判斷是否到發(fā)送該命令的時間
	if(pDoc->m_cmd_buf[pDoc->m_cmdindex].remain == 0){
		pDoc->m_cmd_buf[pDoc->m_cmdindex].remain =
			pDoc->m_cmd_buf[pDoc->m_cmdindex].ticks;
		Transmit(pDoc->m_cmd_buf[pDoc->m_cmdindex].cmdframe);
		pDoc->m_cmdindex++;//next command
		if(pDoc->m_cmdindex >= pDoc->m_cmd_buf.GetSize()){
			pDoc->m_cmdindex = 0;//reset
			pDoc->m_LoopCount--;
		}
	}
	else{//否,則等待下一個時間片
		pDoc->m_cmd_buf[pDoc->m_cmdindex].remain--;
	}
}

void CCmdBatView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	m_bkbrush.CreateSolidBrush(RGB(245,240,245));

	// buttons
	m_btnhelp.SubclassDlgItem(IDI_ICON_HELP,this);
	m_btnhelp.SetIcon(IDI_ICON_HELP);

	/////////////
	TIMECAPS tc;
	//通過函數(shù)timeGetDevCaps取出系統(tǒng)分辨率的取值范圍(對intel系統(tǒng),1~16毫秒), 
	//如果無錯則繼續(xù)
	if (TIMERR_NOERROR == timeGetDevCaps(&tc,sizeof(TIMECAPS)))
	{
		//分辨率的值不能超出系統(tǒng)的取值范圍
		m_TimerRes = min(max(tc.wPeriodMin,1),tc.wPeriodMax);
		//調(diào)用timeBeginPeriod函數(shù)設(shè)置定時器的分辨率,類似于for循環(huán)的步長
		timeBeginPeriod(m_TimerRes);
	}

	m_TimerID = timeSetEvent(6,m_TimerRes,internalTimerProc,
		(DWORD)this,TIME_PERIODIC);

}
#include "HelpFrmDlg.h"
void CCmdBatView::OnButtonHelp() 
{
	CHelpFrmDlg dlg;
	dlg.DoModal();
}

void CCmdBatView::OnValid() 
{
	UpdateData(TRUE);
	m_sCmdBat += "\r\n";//必須以回車換行結(jié)束

	CCmdBatDoc* pDoc = GetDocument();
	pDoc->m_cmdindex = -1;//先取消當前運行命令隊列
	pDoc->m_cmd_buf.RemoveAll();//清空命令隊列

	//構(gòu)造新的命令隊列
	BOOL validcmd = FALSE;//判斷是否輸入合法
	struct Cmd cmd; 

	while(sscanf(m_sCmdBat,"%2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x %2x",
		&cmd.ticks,&cmd.cmdframe[0],&cmd.cmdframe[1],&cmd.cmdframe[2],
		&cmd.cmdframe[3],&cmd.cmdframe[4],&cmd.cmdframe[5],&cmd.cmdframe[6],
		&cmd.cmdframe[7],&cmd.cmdframe[8],&cmd.cmdframe[9],&cmd.cmdframe[10])
		== 12){
		cmd.remain = cmd.ticks;
		pDoc->m_cmd_buf.Add(cmd);
		validcmd = TRUE;//只要有一條就要執(zhí)行
		m_sCmdBat = m_sCmdBat.Right(m_sCmdBat.GetLength()-m_sCmdBat.Find("\r\n")-2);
	}

	if(validcmd){
		pDoc->m_LoopCount = m_LoopCount;
		pDoc->m_cmdindex = 0;//生效
	}
}

void CCmdBatView::OnInvalid() 
{
	CCmdBatDoc* pDoc = GetDocument();
	pDoc->m_cmdindex = -1;//先取消當前運行命令隊列
	pDoc->m_cmd_buf.RemoveAll();//清空命令隊列
}



void CCmdBatView::OnDestroy() 
{
	if(m_TimerID){
		timeKillEvent(m_TimerID);
	}
	if (m_TimerRes){
		timeEndPeriod(m_TimerRes);
	}

	CFormView::OnDestroy();	
}

void CCmdBatView::OnButtonLoad() 
{
	CFileDialog dlg(TRUE,"cmd",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"批處理文件(*.cmd)|*.cmd||",this);

	if(dlg.DoModal() == IDCANCEL) return;

	CString fname = dlg.GetPathName();

	CFile f;
	if(f.Open(fname,CFile::modeRead) ==0){
		AfxMessageBox("讀文件出錯!");
		return;
	}

	CArchive ar(&f,CArchive::load);

	ar >> m_sNote;
	ar >> m_LoopCount;
	ar >> m_sCmdBat;

	ar.Close();
	f.Close();
	
	UpdateData(FALSE);
}

void CCmdBatView::OnButtonSave() 
{
	UpdateData();

	CFileDialog dlg(FALSE,"cmd",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"批處理文件(*.cmd)|*.cmd||",this);

	if(dlg.DoModal() == IDCANCEL) return;

	CString fname = dlg.GetPathName();

	CFile f;
	if(f.Open(fname,CFile::modeWrite|CFile::modeCreate) ==0){
		AfxMessageBox("寫文件出錯!");
		return;
	}

	CArchive ar(&f,CArchive::store);

	ar << m_sNote;
	ar << m_LoopCount;
	ar << m_sCmdBat;

	ar.Close();
	f.Close();
}

LRESULT CCmdBatView::OnReceiveFrame(WPARAM w,LPARAM l)
{
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美综合在线观看第十页| 亚洲乱码国产乱码精品精小说| 中文字幕av在线一区二区三区| 曰韩精品一区二区| 国产露脸91国语对白| 538prom精品视频线放| 国产精品久久久久天堂| 伦理电影国产精品| 欧美日韩大陆在线| 亚洲欧美国产三级| 成人黄色片在线观看| 精品国产91乱码一区二区三区| 亚洲va天堂va国产va久| 99re成人在线| 国产精品毛片a∨一区二区三区| 美女网站一区二区| 6080亚洲精品一区二区| 国产精品久久久久久久久久久免费看 | 久久婷婷国产综合国色天香| 一区二区三区在线视频观看| 97久久精品人人澡人人爽| www国产精品av| 久久99久久精品欧美| 91麻豆精品久久久久蜜臀| 亚洲国产精品久久人人爱| 91蜜桃网址入口| 国产精品国产三级国产普通话99 | 亚洲视频在线观看一区| 国内精品国产三级国产a久久| 欧美美女bb生活片| 一区二区三区日韩在线观看| 成人免费观看av| 国产亚洲综合在线| 国产伦精品一区二区三区视频青涩 | 高清成人免费视频| 日本一区二区久久| av电影天堂一区二区在线观看| 欧美国产精品中文字幕| av午夜一区麻豆| 樱桃国产成人精品视频| 精品视频色一区| 日韩电影免费在线观看网站| 欧美成人精品1314www| 国模一区二区三区白浆| 国产视频一区在线观看| 91丨porny丨蝌蚪视频| 亚洲一区二区三区影院| 51精品视频一区二区三区| 免费精品视频在线| 国产欧美日韩视频在线观看| 99久久精品国产导航| 亚洲最大成人综合| 欧美一卡在线观看| 福利一区二区在线观看| 一级精品视频在线观看宜春院| 欧美色手机在线观看| 久久成人免费日本黄色| 中文乱码免费一区二区| 欧美中文一区二区三区| 久久国产麻豆精品| 1区2区3区国产精品| 欧美日本一道本| 国产成人av福利| 亚洲一区二区视频| 2023国产精华国产精品| 色婷婷综合中文久久一本| 秋霞电影一区二区| ㊣最新国产の精品bt伙计久久| 欧美精品久久久久久久多人混战| 精品一区二区在线观看| 亚洲综合激情另类小说区| 精品三级av在线| 色悠久久久久综合欧美99| 精品一区二区在线免费观看| 亚洲男人都懂的| 久久亚洲欧美国产精品乐播| 欧美亚洲一区二区三区四区| 99久久亚洲一区二区三区青草| 奇米影视一区二区三区小说| 久久综合色综合88| 色综合久久久久综合99| 九九热在线视频观看这里只有精品| ㊣最新国产の精品bt伙计久久| 日韩片之四级片| 91国偷自产一区二区开放时间| 国产在线国偷精品免费看| 亚洲美女精品一区| 欧美激情自拍偷拍| 日韩欧美一二区| 欧美日韩国产区一| 色偷偷成人一区二区三区91| 丰满白嫩尤物一区二区| 久久99国内精品| 爽好多水快深点欧美视频| 亚洲精品国产高清久久伦理二区| 亚洲精品在线免费播放| 日韩欧美在线1卡| 欧美乱妇一区二区三区不卡视频 | 亚洲成人中文在线| 亚洲欧美日韩久久| 亚洲欧洲日产国产综合网| 久久精品一区四区| 精品国产凹凸成av人导航| 日韩一区二区在线免费观看| 欧美日韩国产高清一区| 国产日产亚洲精品系列| 色av一区二区| 99re8在线精品视频免费播放| 国产成人在线网站| 91亚洲精品一区二区乱码| 成人免费视频网站在线观看| 国产激情一区二区三区| 狠狠久久亚洲欧美| 狠狠色丁香婷婷综合| 精品一区二区三区香蕉蜜桃| 奇米综合一区二区三区精品视频| 日本不卡不码高清免费观看| 日本视频免费一区| 激情综合色播激情啊| 久久se这里有精品| 国产美女久久久久| 波多野结衣中文一区| 成人av动漫在线| 色婷婷久久久综合中文字幕| 91激情在线视频| 在线综合+亚洲+欧美中文字幕| 欧美高清精品3d| 精品国产精品一区二区夜夜嗨| 久久久国际精品| 自拍偷拍亚洲综合| 亚洲国产另类精品专区| 国产.精品.日韩.另类.中文.在线.播放| 日韩成人精品在线观看| 亚洲国产一二三| 日韩高清不卡一区| 国产精品自拍毛片| 91在线看国产| 欧美久久久久久蜜桃| 精品国产一区二区三区久久影院| 国产欧美一区二区精品性| 亚洲色图欧美在线| 日韩不卡一区二区三区 | 欧美性一区二区| 欧美调教femdomvk| 欧美一区二区视频网站| 国产日韩高清在线| 亚洲一区二三区| 激情综合色综合久久| 91在线小视频| 日韩写真欧美这视频| 国产日本欧美一区二区| 亚洲制服欧美中文字幕中文字幕| 美女脱光内衣内裤视频久久网站| 成人永久aaa| 欧美久久一区二区| 亚洲一区二区偷拍精品| 日韩美女视频在线| 国产精品热久久久久夜色精品三区| 亚洲欧洲日韩av| 蜜臀国产一区二区三区在线播放| 极品美女销魂一区二区三区免费| 99久久伊人网影院| 欧美大片在线观看| 亚洲人精品午夜| 国产精品99久久久| 欧美日韩高清一区二区三区| 国产日韩影视精品| 美日韩一级片在线观看| 色综合久久九月婷婷色综合| 久久久精品天堂| 日韩精品1区2区3区| www.亚洲精品| 久久久亚洲高清| 日本成人在线看| 欧美日韩高清一区二区三区| 自拍偷拍欧美精品| 国产精品一区二区男女羞羞无遮挡| 欧美伊人久久大香线蕉综合69| 国产免费成人在线视频| 国产电影一区二区三区| 一区二区三区欧美激情| 另类的小说在线视频另类成人小视频在线| 福利一区在线观看| 欧美不卡视频一区| 日韩av午夜在线观看| 欧美亚洲综合色| 中文字幕制服丝袜成人av| 国产精品一区二区三区四区 | 欧美手机在线视频| 亚洲欧美在线另类| av午夜精品一区二区三区| 国产日韩欧美在线一区| 国产一区二区三区在线观看免费| 91精品欧美一区二区三区综合在 | 久久se精品一区精品二区| 欧美一级二级在线观看| 日本免费在线视频不卡一不卡二| 5月丁香婷婷综合| 六月丁香婷婷久久| 日韩免费一区二区|