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

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

?? mainfrm.cpp

?? 涉及到SkinMagicLiB等多種界面開發庫的應用
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
}

void CMainFrame::OnUpdateXplus(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(!strcmp(skin,"XPLUS"));	
}

void CMainFrame::OnUpdateXpgrean(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(!strcmp(skin,"XPGREAN"));	
	
}

void CMainFrame::OnErase() 
{
	m_wndMyBars.AppendText("擦除芯片.");
	m_bWorkErase=TRUE;
	WorkProc(TRUE);
}

void CMainFrame::OnWrite() 
{
	OnCheckChip();
	SetTimer(1,1,NULL);
}

void CMainFrame::OnRead() 
{
	m_wndMyBars.AppendText("程序讀取.");
	m_bWorkRead=TRUE;
	WorkProc(TRUE);
}

void CMainFrame::OnCheck() 
{
	m_wndMyBars.AppendText("程序校驗.");
	m_bWorkCheck=TRUE;
	WorkProc(TRUE);	
}


void CMainFrame::OnLock()
{
	if(m_LockBits==0||m_LockBits>3)return;
    int id=m_wndToolBar.m_wndZoom.FindString(0,CurChip); 
	m_Pro.LockBit(id,m_LockBits);
	m_wndMyBars.AppendText("程序加密.");
}

void CMainFrame::WorkProc(BOOL bWork,BOOL bBeep)
{
	CMyDoc* doc;
	TRACE("WorkProc(%d)\n",bWork);
	//m_wndToolBar.m_wndZoom.GetWindowText(CurChip);
    int id=m_wndToolBar.m_wndZoom.FindString(0,CurChip); 
	doc=(CMyDoc*)(CMainFrame *)this->GetActiveFrame()->GetActiveDocument();
	if(!bWork)
	{
		if(bBeep)
			BeepError();
		return;
	}
	if(m_bWorkDetectPro)
	{
		m_Pro.DetectPro(id);
		m_bWorkDetectPro=FALSE;
		return;
	}
	if(m_bWorkDetectChip)
	{
		m_Pro.DetectChip(id);
		m_bWorkDetectChip=FALSE;
		return;
	}
	if(m_bWorkErase)
	{
		m_Pro.Erase(id);
		m_bWorkErase=FALSE;
		return;
	}
	if(m_bWorkWrite&&doc)
	{
		memset(m_Pro.m_pWriteBuf,0xff,0x10000);
		memcpy(m_Pro.m_pWriteBuf,doc->pcBuf,doc->m_pSize);
		m_Pro.m_pWriteBuf[doc->m_pSize]=0;
		m_Pro.Write(id);
		m_bWorkWrite=FALSE;
		return;
	}
	if(m_bWorkRead)
	{
		m_bCheck=FALSE;
		m_Pro.m_bCheck=FALSE;
		m_Pro.Read(id);
		m_bWorkRead=FALSE;
		return;
	}
	if(m_bWorkCheck)
	{
		memcpy(m_Pro.m_pWriteBuf,doc->pcBuf,doc->m_pSize);
		m_bCheck=TRUE;
		if(m_nWrCount==0)
			m_Pro.m_bCheck=FALSE;
		else
			m_Pro.m_bCheck=TRUE;
		m_Pro.Read(id);
		m_bWorkCheck=FALSE;
		return;
	}
	m_bAutoWork=FALSE;
	if(bBeep)
		BeepOk();
}

extern BOOL m_bWin98;
void CMainFrame::BeepError()
{
	if(m_bSound)
		if(!m_bWin98)
			AfxBeginThread(BeepErrorThread,this);
		else
			MessageBeep(MB_ICONEXCLAMATION);
		::FlashWindow(this->GetSafeHwnd(),TRUE);
}

void CMainFrame::BeepOk()
{
	if(m_bSound)
		if(!m_bWin98)
			AfxBeginThread(BeepOkThread,this);
		else
			MessageBeep(MB_OK);
}


UINT CMainFrame::BeepOkThread(LPVOID Param)
{
	Beep(2000,30);
	Sleep(100);
	Beep(2000,30);
	Sleep(100);
	Beep(2000,30);
	return 0;
}

UINT CMainFrame::BeepErrorThread(LPVOID Param)
{
	Beep(410,150);
	return 0;
}


void CMainFrame::OnLockbit1() 
{
	if(m_LockBits==1){m_LockBits=0;return;}
	m_LockBits=1;
	m_wndMyBars.AppendText("設置加密方式1:Lock Bit1.");
}

void CMainFrame::OnLockbit2() 
{
	if(m_LockBits==2){m_LockBits=0;return;}
	m_LockBits=2;
	m_wndMyBars.AppendText("設置加密方式2:Lock Bit1+2.");
}

void CMainFrame::OnLockbit3() 
{
	if(m_LockBits==3){m_LockBits=0;return;}
	m_LockBits=3;
	m_wndMyBars.AppendText("設置加密方式3:Lock Bit1+2+3.");
}

void CMainFrame::OnUpdateLockbit1(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_LockBits==1);
}

void CMainFrame::OnUpdateLockbit2(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_LockBits==2);
}

void CMainFrame::OnUpdateLockbit3(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_LockBits==3);
}

void CMainFrame::OnSetdia() 
{
	CSetDia dia;
	dia.m_AutoCheck=m_bAutoCheck;
	dia.m_pBanud=m_nBaudSel;
	dia.m_pProt=m_nSerialPort;
	dia.m_Sound=m_bSound;
	dia.m_pSpeed=m_nIspSpd;
	if(dia.DoModal()==IDOK)
	{
		m_bAutoCheck=dia.m_AutoCheck;
		m_Pro.m_pAutoCheck=m_bAutoCheck;
		m_nBaudSel=dia.m_pBanud;
		m_nSerialPort=dia.m_pProt;
		m_bSound=dia.m_Sound;
		m_nIspSpd=dia.m_pSpeed;
	}
}
UINT CMainFrame::OnProMsg(WPARAM dwMsg,LPARAM dwMsg2)
{
	BOOL bWork=FALSE;
	CString strMsg1,strMsg2,strMsg3;
	UINT len;
    int id=m_wndToolBar.m_wndZoom.FindString(0,CurChip); 
	switch(dwMsg)
	{
	case PRO_INIT_SERIAL_SEC:
		m_wndMyBars.AppendText("初始化串口通訊完成.");
		m_Pro.DetectPro(id);
		return 0;
	case PRO_INIT_SERIAL_ER:
		m_wndMyBars.AppendText("初始化串口通訊失敗.");
		break;
	case PRO_INIT_PARALLEL_SEC:
		m_wndMyBars.AppendText("初始化并口完成.");
		return 0;
	case PRO_INIT_PARALLEL_ER:
		m_wndMyBars.AppendText("初始化并口失敗.");
		break;
	case PRO_AVAILABLE:
		m_wndMyBars.AppendText("編程器:就緒.");
		m_wndStatusBar.SetWindowText("就緒");
		WorkProc(TRUE,FALSE);
		return 0;
	case PRO_INVALID:
		m_wndMyBars.AppendText("編程器:不可用.");

		break;
	case PRO_INIT_SERIAL_NOT:
		m_wndMyBars.AppendText("未初始化串口.");
		break;
	case PRO_RCV_ER:
		m_wndMyBars.AppendText("接收數據時發生錯誤.");
		break;
	case PRO_RD_SIGN:
		m_wndMyBars.AppendText("編程器:檢測特征字結束.");
		m_pCheckEnd=true;
		OnSelectZoomed();
		bWork=TRUE;
		break;
	case PRO_DETECTCHIP_SEC:
		strMsg1.Format("(特征字:%02x %02x %02x).",m_Pro.SignByte[0],m_Pro.SignByte[1],m_Pro.SignByte[2]);
		m_wndMyBars.AppendText("編程器:檢測到器件"+strMsg1);
		strMsg1=m_Pro.GetCurChip()->Name;
		strMsg2.Format(" - ROM容量:%dK字節.",m_Pro.GetCurChip()->RomSize);
		strMsg3.Format(" 編程電壓:%.2fV.",m_Pro.GetCurChip()->ProVol);
		strMsg1=strMsg1+strMsg2+strMsg3;
		m_wndMyBars.AppendText(strMsg1);
		bWork=TRUE;
		break;
	case PRO_DETECTCHIP_ER:
		strMsg1.Format("(特征字:%02x %02x %02x).",m_Pro.SignByte[0],m_Pro.SignByte[1],m_Pro.SignByte[2]);
		m_wndMyBars.AppendText("編程器:沒檢測到器件"+strMsg1);
		bWork=FALSE;
		break;
	case PRO_ERASE:
		m_wndMyBars.AppendText("編程器:擦除器件完成.");
		bWork=TRUE;
		break;
	case PRO_WRITE_BEGIN:
		m_wndMyBars.AppendText("編程器:寫器件開始.");
		strMsg1.Format("寫入%d字節...",m_Pro.GetMinLength(m_Pro.m_pWriteBuf,0x10000));
		m_wndMyBars.AppendText(strMsg1);
		return 0;
	case PRO_WRITE_BLOCK:
		if(m_Pro.m_nDataLength==1 && m_Pro.m_nDataLength==0)
			return 0;
		char s[81];
		memset(s,' ',80);
		memset(s,'|',int(m_Pro.m_nAddr*80/(m_Pro.m_nDataLength-1)));
		s[81]=0;
		strMsg1.Format("正在寫:%04X/%04X-%s",m_Pro.m_nAddr-1,m_Pro.m_nDataLength-1,s);
		m_wndStatusBar.SetWindowText(strMsg1);
		return 0;
	case PRO_WRITE_OVER:
		m_wndMyBars.AppendText("編程器:寫器件完成.");
		m_nWrCount++;
		bWork=TRUE;
		if(m_bWorkRead || m_bWorkCheck && m_nProType==0)
			return 0;
		break;
	case PRO_WRITE_ER:
		m_wndMyBars.AppendText("編程器:寫器件時發生錯誤.");
		break;
	case PRO_READ_BEGIN:
		m_wndMyBars.AppendText("編程器:讀器件開始.");
		return 0;
	case PRO_READ_BLOCK:
		if(m_Pro.m_nDataLength==1 && m_Pro.m_nDataLength==0)
			return 0;
		strMsg1.Format("正在讀:%04X/%04X--%d%%",m_Pro.m_nAddr-1,m_Pro.m_nDataLength-1,m_Pro.m_nAddr*100/(m_Pro.m_nDataLength-1));
		m_wndStatusBar.SetWindowText(strMsg1);
		return 0;
	case PRO_READ_OVER:
		m_wndMyBars.AppendText("編程器:讀器件完成.");
		len=m_Pro.GetChipType(id)->RomSize*1024;
		theApp.NewDoc((char*)m_Pro.m_pReadBuf,len );
		CMyDoc* doc;
		doc=(CMyDoc*)(CMainFrame *)this->GetActiveFrame()->GetActiveDocument();
		doc->m_pSize=len;
		m_wndMyBars.AppendText("數據窗口已打開.");
		if(m_bCheck)
			bWork=CheckData();
		else
			bWork=TRUE;
		break;
	case PRO_LOCK_BIT:
		m_wndMyBars.AppendText("編程器:寫鎖定位完成.");
		bWork=TRUE;
		break;
	case PRO_WORK_INVALID:
		m_wndMyBars.AppendText("編程器:無效的操作.");
		break;
	default:
		break;
	}
	WorkProc(bWork);
	return 0;
}
BOOL CMainFrame::CheckData()
{
	UINT nPos,nCount=0;
	CString strMsg;
		
	m_wndMyBars.AppendText("-------------------效驗開始------------------");
	m_wndStatusBar.SetWindowText("效驗...");
	for(nPos=0;nPos<=0xffff;nPos++)
	{
		if(m_Pro.m_pWriteBuf[nPos]!=m_Pro.m_pReadBuf[nPos])
		{
			strMsg.Empty();
			nCount++;
			strMsg.Format("    %05d - 地址:%04x  寫:%02x  讀:%02x",nCount,nPos,m_Pro.m_pWriteBuf[nPos],m_Pro.m_pReadBuf[nPos]);
			strMsg.MakeUpper();
			m_wndMyBars.AppendText(strMsg);	
		}
	}
		strMsg.Format("共發現%5d個單元不對!",nCount);
		m_wndMyBars.AppendText(strMsg);
		m_wndMyBars.AppendText("-------------------效驗結束------------------");
		m_bCheck=FALSE;
		if(nCount==0)
			return TRUE;
		else
			return FALSE;	
}

void CMainFrame::OnUpdateCheck(CCmdUI* pCmdUI) 
{
	CMyDoc * doc;
	doc=(CMyDoc*)(CMainFrame *)this->GetActiveFrame()->GetActiveDocument();
	pCmdUI->Enable(doc!=0);
}

void CMainFrame::OnUpdateWrite(CCmdUI* pCmdUI) 
{
	CMyDoc * doc;
	doc=(CMyDoc*)(CMainFrame *)this->GetActiveFrame()->GetActiveDocument();
	pCmdUI->Enable(doc!=0);
}

void CMainFrame::OnTxtwin() 
{
	BOOL bShow = m_wndMyBars.IsVisible();
	ShowControlBar(&m_wndMyBars, !bShow, FALSE);
}

void CMainFrame::OnUpdateTxtwin(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_wndMyBars.IsVisible());
}

void CMainFrame::OnChip() 
{
	CString strChipManagerPath;
	strChipManagerPath=m_strAppPath+"ChipManager.exe";
	ShellExecute(NULL, "open",strChipManagerPath ,NULL, NULL, SW_SHOW);
	
}

void CMainFrame::OnCheckChip() 
{
	m_pCheckEnd=false;
	m_wndMyBars.AppendText("檢測芯片類型.");
	m_bWorkDetectChip=true;
	WorkProc(TRUE);	
	
}

void CMainFrame::OnTimer(UINT nIDEvent) 
{
	if(m_pCheckEnd)
	{
		KillTimer(1);	
		if(!m_Pro.m_pCheck&&m_bAutoCheck)
			m_wndMyBars.AppendText("器件檢測失敗,直接退出!");
		else
		{
			m_wndMyBars.AppendText("程序燒寫.");
			m_bWorkWrite=TRUE;
			WorkProc(TRUE);
		}
	}

	CMDIFrameWnd::OnTimer(nIDEvent);
}

void CMainFrame::OnSize(UINT nType, int cx, int cy) 
{

	//CMDIFrameWnd::OnSize(nType, cx, cy);
	// TODO: Add your message handler code here
	CRect rect;
	GetWindowRect(&rect);
	rect.right=rect.left+700;
	rect.bottom=rect.top+500;
	MoveWindow(&rect);
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久日韩粉嫩一区二区三区| 亚洲一区二区免费视频| 国产女同互慰高潮91漫画| 一区二区三区在线免费播放 | 麻豆成人av在线| 91麻豆免费观看| 久久久久久久久一| 美女任你摸久久| 欧美日本一区二区在线观看| 国产精品国产三级国产有无不卡 | 国产欧美日韩麻豆91| 日本女优在线视频一区二区| 色先锋aa成人| 亚洲欧洲日韩综合一区二区| 国内精品免费在线观看| 日韩午夜在线观看| 无吗不卡中文字幕| 欧美日韩午夜在线视频| 亚洲精品美国一| 91日韩在线专区| 亚洲私人黄色宅男| 成人福利在线看| 中文字幕不卡三区| 国产成人av电影免费在线观看| 日韩欧美一卡二卡| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美三级电影网| 丝袜a∨在线一区二区三区不卡| 日本精品免费观看高清观看| 亚洲免费观看高清完整版在线 | 亚洲成va人在线观看| 在线视频一区二区免费| 亚洲女与黑人做爰| 在线精品视频免费观看| 亚洲永久免费av| 欧美日韩综合在线| 秋霞电影网一区二区| 欧美一区二区播放| 精品一区二区三区免费观看| 日韩精品中文字幕一区二区三区| 麻豆国产精品777777在线| 亚洲精品在线免费播放| 国产精品18久久久| 欧美高清在线精品一区| 色综合久久久久久久久久久| 亚洲资源在线观看| 欧美一区二区三区在线电影 | 日韩精品乱码免费| 欧美电影免费观看高清完整版在线| 伦理电影国产精品| 国产欧美日产一区| 在线视频你懂得一区| 蜜桃视频一区二区三区在线观看| 久久婷婷国产综合精品青草| av网站一区二区三区| 亚洲国产精品精华液网站| 欧美大片一区二区| 国产成人高清视频| 亚洲一级二级在线| 亚洲精品一区二区三区四区高清| 国产91丝袜在线观看| 亚洲女同一区二区| 日韩视频免费观看高清完整版在线观看 | 欧美在线视频日韩| 美女性感视频久久| 国产精品国模大尺度视频| 欧美久久久影院| 国产成人在线免费| 五月婷婷另类国产| 久久精品人人做人人综合 | 亚洲一区二区三区小说| 精品久久久久久综合日本欧美| 成人久久视频在线观看| 日韩电影在线免费观看| 国产精品网曝门| 日韩视频国产视频| 色88888久久久久久影院按摩| 另类小说欧美激情| 午夜视频一区在线观看| 中文字幕一区二区三区蜜月| 精品国产免费人成电影在线观看四季| 91麻豆文化传媒在线观看| 久久精品国产免费看久久精品| 一区二区三区不卡在线观看| 日韩免费视频线观看| 欧美日韩一本到| 不卡一区二区三区四区| 国产一区二区主播在线| 日韩综合小视频| 一区二区三区国产| 国产精品剧情在线亚洲| 精品毛片乱码1区2区3区| 欧美日韩高清影院| 在线视频一区二区三区| 不卡一卡二卡三乱码免费网站| 国产呦精品一区二区三区网站| 天天综合天天综合色| 亚洲精品成人精品456| 国产精品无人区| 中文字幕乱码久久午夜不卡| 精品国产区一区| 欧美一二三在线| 日韩欧美国产电影| 欧美一区二视频| 91精品国产综合久久久蜜臀粉嫩 | 99re这里都是精品| 国产成人av电影免费在线观看| 久草在线在线精品观看| 美国av一区二区| 久久er99热精品一区二区| 免费成人结看片| 男人的j进女人的j一区| 日韩av一区二| 男女男精品视频| 久久99精品国产.久久久久| 久久99国产精品久久99| 激情五月激情综合网| 国模冰冰炮一区二区| 国产激情91久久精品导航| 国产aⅴ精品一区二区三区色成熟| 国产精品一二三四区| 高清久久久久久| 不卡的电影网站| 色av一区二区| 欧美人狂配大交3d怪物一区| 欧美一二三四区在线| 久久婷婷色综合| 国产精品动漫网站| 一级女性全黄久久生活片免费| 亚洲国产中文字幕| 免费人成在线不卡| 国产成人精品免费| 在线精品亚洲一区二区不卡| 欧美精品久久一区| 欧美精品一区在线观看| 亚洲国产精品精华液ab| 综合中文字幕亚洲| 丝袜亚洲另类欧美综合| 国产在线不卡一区| 色欧美日韩亚洲| 日韩一卡二卡三卡| 国产精品久久久久影院亚瑟| 亚洲国产中文字幕| 国产一区二区日韩精品| 91婷婷韩国欧美一区二区| 在线播放中文字幕一区| 中文字幕av不卡| 爽爽淫人综合网网站| 国产精品一二三| 欧美日韩在线播放| 欧美韩国日本综合| 日韩中文字幕1| 成人av在线网站| 678五月天丁香亚洲综合网| 欧美国产精品一区二区| 婷婷综合在线观看| 成人激情动漫在线观看| 日韩一区二区三区在线视频| 国产精品欧美极品| 男女性色大片免费观看一区二区| 成人av电影观看| 欧美va在线播放| 一区二区三区蜜桃网| 国产一区二区三区久久久| 欧美挠脚心视频网站| 亚洲丝袜精品丝袜在线| 韩国成人福利片在线播放| 欧美午夜理伦三级在线观看| 久久久久久久久久久久久女国产乱| 一区二区三国产精华液| 成人美女视频在线观看| 欧美一卡2卡3卡4卡| 亚洲男人都懂的| 成人永久aaa| 久久久久久久久久电影| 久久精品久久综合| 欧美精品视频www在线观看| 中文字幕佐山爱一区二区免费| 国产精品自产自拍| 欧美一区二区观看视频| 悠悠色在线精品| 色综合天天综合| 中文字幕一区二| 99久久伊人网影院| 国产精品久久久99| 99久久精品国产麻豆演员表| 国产三级一区二区三区| 国产资源精品在线观看| 精品乱人伦一区二区三区| 麻豆精品久久精品色综合| 欧美挠脚心视频网站| 日韩精品久久久久久| 欧美三片在线视频观看| 亚洲一级在线观看| 欧美人动与zoxxxx乱| 青青草91视频| 精品久久人人做人人爰| 国内不卡的二区三区中文字幕| 2020国产精品久久精品美国| 国精品**一区二区三区在线蜜桃|