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

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

?? writeflashdlg.cpp

?? 用vc自己編寫flash燒錄的源代碼 可以實際使用進行flash燒寫
?? CPP
字號:
// writeflashDlg.cpp : implementation file
//

#include "stdafx.h"
#include "writeflash.h"
#include "writeflashDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWriteflashDlg dialog

CWriteflashDlg::CWriteflashDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CWriteflashDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CWriteflashDlg)
	m_rxdata = _T("");
	m_page = 0;
	m_count = 0;
	m_count1 = 0;
	m_sendone = 0;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CWriteflashDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CWriteflashDlg)
	DDX_Control(pDX, IDC_COMBOPORT, m_combport);
	DDX_Control(pDX, IDC_PROGRESS1, m_progress);
	DDX_Text(pDX, IDC_RXDATA, m_rxdata);
	DDX_Text(pDX, IDC_PAGE, m_page);
	DDX_Text(pDX, IDC_COUNT, m_count);
	DDX_Text(pDX, IDC_COUNT1, m_count1);
	DDX_Text(pDX, IDC_EDITONE, m_sendone);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CWriteflashDlg, CDialog)
	//{{AFX_MSG_MAP(CWriteflashDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_FILEOPEN, OnFileopen)
	ON_CBN_SELCHANGE(IDC_COMBOPORT, OnSelchangeComboport)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_CHECK, OnCheck)
	ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
	ON_BN_CLICKED(IDC_STOP, OnStop)
	ON_BN_CLICKED(IDC_CLEAR, OnClear)
	ON_BN_CLICKED(IDC_ENABLE, OnEnable)
	ON_BN_CLICKED(IDC_NULL, OnNull)
	ON_BN_CLICKED(IDC_WRITE, OnWrite)
	ON_BN_CLICKED(IDC_SENDONE, OnSendone)
	ON_BN_CLICKED(IDC_STOPDOWN, OnStopdown)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWriteflashDlg message handlers

BOOL CWriteflashDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	// TODO: Add extra initialization here
	oxflag=false;
	showflag=true;
	startflag=0;
	incount=0;
	m_chChecksum=0; //校驗和置0
	m_nRXErrorCOM1=0; //COM1接收數據錯誤幀數置0
	m_nRXCounterCOM1=0; //COM1接收數據錯誤幀數置0
	m_strRXhhCOM1.Empty(); //清空半BYTE校驗hh存儲變量
	count=0;
	comport=4;
	if (m_ComPort.InitPort(this,comport,9600,'N',8,1,EV_RXFLAG | EV_RXCHAR,512))
	//portnr=1(2),baud=960,parity='N',databits=8,stopsbits=1,
	//dwCommEvents=EV_RXCHAR|EV_RXFLAG,nBufferSize=512
		{
		m_ComPort.StartMonitoring(); //啟動串口監視線程
		}
	else
		{
		CString str;
		str.Format("COM%d not found",4);
		AfxMessageBox(str);
		}
	return 0;
}

void CWriteflashDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CWriteflashDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CWriteflashDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CWriteflashDlg::OnFileopen() 
{
	// TODO: Add your control notification handler code here
	char temp[150000],temp1[150000];  //數組存在最大空間問題 
	int i=100,j;
	long int cc,cc1;
	CFileException e;
	CString s;
    CFile myFile;
	CString path ;//= m_dlgHelper.GetItemPathName(i);
	CFileDialog FileDlg(TRUE,
	NULL,											  // no default extension
	NULL,											  // ..or file name
	OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,
	_T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"));

	AfxMessageBox("Please check the protect key up!");
    if ( IDOK == FileDlg.DoModal())
	{
		POSITION pos = FileDlg.GetStartPosition();
		while (pos != NULL)
		{ 
			s=FileDlg.GetNextPathName(pos);
		}
		s = FileDlg.GetPathName();
		myFile.Open( s, CFile::modeRead, &e );
		totalcount=myFile.GetLength();
		UINT nBytesRead = myFile.Read( temp, totalcount);
		myFile.Close(); 
		cc1=0;
		for(cc=0;cc<totalcount;cc++)
		{
			i=temp[cc];
			if((i>47)&&(i<55))
			{
				temp1[cc1++]=temp[cc];
				if(cc1==65532)  
				for(j=0;j<4;j++) temp1[cc1++]=6; // 65532-65535 之間添加幾個數字 不要的
			}
		}
		tempf=temp1;
		CString length;
		CString strtemp;
		totalcount=cc1; //總得有效字符數
		totalpage=totalcount/128;  //總得頁面數
		//length.Format("%d",totalcount); 
		//AfxMessageBox(length);
		m_page=totalpage*128/12;
		UpdateData(false);
		pagecount=0;
		m_count1=0;
		senddata[1]=0;
		senddata[0]=0x7b;
		m_ComPort.WriteToPort(senddata);//發送數據;//發送數據
		Sleep(50);
		senddata[0]=0x7f;
		m_ComPort.WriteToPort(senddata);//發送數據//發送數據
		Sleep(50);
		SetTimer(2,5,NULL); 
	}
	linecount=0;
	bi_count=1;
	m_rxdata.Format("%d:  ",0);
}

void CWriteflashDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
			int txdata;
			BYTE enddata;
			char *ttr;
			int progress;
			CString strtemp,bi_str;
			senddata[1]=0;
			bi_str.Format("%d:  ",bi_count);
			//if(bi_count==0) m_rxdata=bi_str;
			ttr="\r\n";
			count=pagecount*128+m_count1*2;
			txdata =*(tempf+count); 
			txdata-=48;
			enddata=txdata*16;//<<4;	
			enddata&=0xf0;
			txdata=*(tempf+count+1);
			txdata-=48;
			enddata+=txdata;
			enddata+=0x11;   //0x00發送出錯  全部加1 
			senddata[0]=enddata;
			m_ComPort.WriteToPort(senddata);   //發送數據
			m_count1++;
			enddata-=0x11;
			strtemp.Format("%02X ",enddata); 
			if(m_count1!=65)//重復發送不換行  不加進去
			{	m_rxdata+=strtemp;
				linecount++;
			}
			if(linecount>=6)//24)   //換行
				{
				bi_count++;
				linecount=0;
				m_rxdata+=ttr;
				m_rxdata+=bi_str;
				UpdateData(false);
				}
			if(m_count1>=65)//發送完畢一頁
			{

				//m_ComPort.WriteToPort(senddata);   //重復發送一次  發送數據
				
				m_count1=0;
				senddata[0]=0x7a;//開始一頁得寫 入	
				m_ComPort.WriteToPort(senddata);//發送數據
				//Sleep(10); srr而
				pagecount++;
				//if(pagecount%12==0) m_rxdata=_T("");
				if(pagecount>totalpage)
					{
						count=0;
						senddata[0]=0x7c;//
						m_ComPort.WriteToPort(senddata);
						KillTimer(2);
						progress=pagecount*100/totalpage;
						m_progress.SetPos(progress);
						AfxMessageBox("髮送完畢!");
					}
			}
			//Sleep(2);
			m_count=pagecount*128/12;
			progress=pagecount*100/totalpage;
			m_progress.SetPos(progress);
			CDialog::OnTimer(nIDEvent);
	
}
void CWriteflashDlg::OnCheck()   //printf  接受得
{
	// TODO: Add your control notification handler code here
	CString str;
	char *ttr;
	//	AfxMessageBox("ok");
	//checkflag=true;
	//	BYTE enddata;
	senddata[1]=0;
	oxflag=0;
	count=0;
	m_rxdata=_T("");
	senddata[1]=0x7d;//開始一頁得寫入
	m_ComPort.WriteToPort(senddata);
	count=0;
			str.Format("%d",count);
			ttr=": ";
			str+=ttr;
			m_rxdata+=str;
}
//接受數據處理
LONG CWriteflashDlg::OnCommunication(WPARAM ch, LPARAM port)  //接受數據處理
{
	static char c1,c2;
	char *s=NULL;
	//WORD i;
	CFile myFile;
    CFileException e;
	char *ttr;
	BYTE temp;
	CString str,filename;

	temp=(BYTE)ch;
	if(oxflag)
		str.Format("%02X ",temp);  //十六進制接受
	else 
		str.Format("%c",temp);  //字符型接受
	  KillTimer(2); 
	m_rxdata+=str;
	//	UpdateData(false);
	if(ch==0x0a) 
		{
			count++;
			str.Format("%d",count);
			ttr=": ";
			str+=ttr;
			m_rxdata+=str;
			m_count=count;
			UpdateData(false);
		}

		//存儲文件
		if(count>=9999)
		{ 
		ttr="data.txt";
		filename=ttr;
		myFile.Open(filename, CFile::modeCreate | CFile::modeWrite, &e );
		myFile.Write(m_rxdata,count*(incount+19));
		//ttr="";
		//m_rxdata=ttr;
		}

	    //AfxMessageBox("get it!");

	return 0;
}

void CWriteflashDlg::OnSelchangeComboport() 
{
	// TODO: Add your control notification handler code here
		int n;
	this->UpdateData(true);

	this->Invalidate();

	n = m_combport.GetCurSel();
	//show.Format("%d ",n);
	//AfxMessageBox(show);
	if(n == CB_ERR)
	{
	}
	else
	{
	 	comport=n+1;

	if (m_ComPort.InitPort(this,comport,9600,'N',8,1,EV_RXFLAG | EV_RXCHAR,512))
		{
		m_ComPort.StartMonitoring(); //啟動串口監視線程

		CString str;
		str.Format("COM%d 打開!",comport);
		AfxMessageBox(str);
		}
	else
		{
		CString str;
		str.Format("COM%d 沒有髮現或者被佔用",comport);
		AfxMessageBox(str);
		}
	}
}

void CWriteflashDlg::OnStop() 
{

	senddata[1]=0;
	count=0;
	senddata[0]=0x7e;//開始一頁得寫入
	m_ComPort.WriteToPort(senddata);
}


void CWriteflashDlg::OnClear() 
{
	// TODO: Add your control notification handler code here
	m_rxdata=_T("");
	UpdateData(false);
}

void CWriteflashDlg::OnEnable() 
{
	// TODO: Add your control notification handler code here

		count=0;
		senddata[1]=0;
		senddata[0]=0x7b;//開始一頁得寫入
		m_ComPort.WriteToPort(senddata);
}

void CWriteflashDlg::OnNull() 
{
	// TODO: Add your control notification handler code here

		senddata[1]=0;
		senddata[0]=0x7f;//開始一頁得寫入

		m_ComPort.WriteToPort(senddata);
}

void CWriteflashDlg::OnWrite() 
{
	// TODO: Add your control notification handler code here
	
		senddata[1]=0;
		senddata[0]=0x7a;//開始一頁得寫入
		m_ComPort.WriteToPort(senddata);
}

void CWriteflashDlg::OnSendone() 
{
	// TODO: Add your control notification handler code here

		UpdateData(true);
		senddata[1]=0;
		senddata[0]=m_sendone;//開始一頁得寫入
		m_ComPort.WriteToPort(senddata);
}

void CWriteflashDlg::OnStopdown() 
{
	// TODO: Add your control notification handler code here
	KillTimer(2);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品蜜桃在线看| 亚洲另类在线视频| 中文字幕五月欧美| 日韩在线a电影| 色综合av在线| 国产亚洲福利社区一区| 男人的j进女人的j一区| 色乱码一区二区三区88| 国产欧美视频在线观看| 美女视频黄a大片欧美| 色综合一个色综合亚洲| 国产欧美日韩另类一区| 国内外成人在线视频| 欧美久久久久免费| 一区二区三区加勒比av| 99国产精品视频免费观看| 亚洲精品一区在线观看| 日韩电影免费在线看| 在线观看av不卡| 中文字幕中文字幕一区二区| 国产剧情在线观看一区二区| 日韩亚洲欧美一区| 亚洲3atv精品一区二区三区| 色综合欧美在线| 亚洲视频在线一区观看| 成人综合婷婷国产精品久久| 国产免费成人在线视频| 国产高清精品久久久久| 欧美xxxxxxxxx| 黄网站免费久久| 精品国产人成亚洲区| 激情综合网最新| 久久久久久9999| 国产成人三级在线观看| 国产区在线观看成人精品| 黑人精品欧美一区二区蜜桃| 26uuu亚洲综合色| 国产成人免费视频精品含羞草妖精| 欧美岛国在线观看| 国产精品影音先锋| 国产精品第一页第二页第三页| av激情综合网| 亚洲在线观看免费视频| 欧美日韩国产美| 美洲天堂一区二卡三卡四卡视频 | 国产酒店精品激情| 久久免费精品国产久精品久久久久| 色天天综合色天天久久| 亚洲一区二区在线播放相泽| 51久久夜色精品国产麻豆| 麻豆成人av在线| 久久久久综合网| 9l国产精品久久久久麻豆| 亚洲伊人伊色伊影伊综合网| 欧美肥大bbwbbw高潮| 国产一区二区福利| 国产精品美女久久久久高潮| 欧美在线制服丝袜| 美日韩一区二区三区| 国产精品毛片无遮挡高清| 在线精品视频一区二区三四| 日本不卡视频一二三区| 久久精品一区二区| 欧美视频你懂的| 激情文学综合插| 亚洲男人的天堂网| 日韩精品最新网址| 91污在线观看| 国产麻豆精品久久一二三| 亚洲欧美一区二区三区国产精品| 日韩写真欧美这视频| 菠萝蜜视频在线观看一区| 日日夜夜免费精品| 国产精品国产三级国产aⅴ中文 | 自拍偷拍亚洲激情| 制服丝袜亚洲精品中文字幕| 国产精品一区二区x88av| 亚洲综合偷拍欧美一区色| 久久夜色精品一区| 欧美体内she精视频| 国产成人亚洲综合a∨婷婷| 首页国产欧美日韩丝袜| 九九国产精品视频| 亚洲精品日韩专区silk| 久久蜜桃av一区二区天堂| 欧美午夜一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 亚洲第一激情av| 中文字幕一区二区三区精华液| 日韩一区二区免费视频| 欧美亚洲综合色| 93久久精品日日躁夜夜躁欧美| 秋霞影院一区二区| 亚洲五月六月丁香激情| 亚洲欧洲韩国日本视频| 久久久综合网站| 精品乱人伦小说| 9191精品国产综合久久久久久| 色妹子一区二区| 成人高清在线视频| 国产精品一区二区在线播放| 久久精品免费观看| 秋霞影院一区二区| 三级不卡在线观看| 日韩vs国产vs欧美| 日韩专区在线视频| 亚洲v精品v日韩v欧美v专区| 一区二区三区色| 亚洲色欲色欲www| 亚洲日韩欧美一区二区在线| 国产精品入口麻豆九色| 欧美激情一区二区三区四区| 欧美韩日一区二区三区四区| 久久久一区二区三区捆绑**| 久久一区二区视频| 国产日产欧产精品推荐色| 国产视频不卡一区| 国产精品久久久久婷婷| 亚洲欧洲精品一区二区精品久久久| 国产精品乱码一区二三区小蝌蚪| 久久精品男人的天堂| 中文字幕国产精品一区二区| 中文字幕中文字幕在线一区 | 欧美亚洲愉拍一区二区| 在线精品视频免费播放| 欧美视频完全免费看| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区性放荡片| 欧美一区二区三区视频免费 | 欧美性猛交xxxx乱大交退制版| 91视视频在线观看入口直接观看www| 99精品热视频| 欧美日韩中文字幕一区| 91精品国产综合久久福利软件| 日韩欧美一区电影| 亚洲国产成人在线| 亚洲综合色在线| 美女国产一区二区三区| 成人黄色一级视频| 精品视频1区2区3区| 精品av综合导航| 18欧美亚洲精品| 青青草97国产精品免费观看 | 精品国产一区二区三区久久影院| 久久久精品天堂| 国产69精品久久久久毛片| 色综合夜色一区| 日韩欧美亚洲一区二区| 最近中文字幕一区二区三区| 亚洲第一主播视频| 成人免费视频caoporn| 欧美亚洲综合一区| 国产视频在线观看一区二区三区| 一区二区国产视频| 国产精品亚洲专一区二区三区 | 亚洲精品写真福利| 美女诱惑一区二区| 色8久久人人97超碰香蕉987| 日韩免费高清av| 亚洲欧美另类久久久精品| 久久99最新地址| 91久久线看在观草草青青| 久久久久久久久久美女| 亚洲成a天堂v人片| www.欧美.com| 精品99一区二区| 日韩国产成人精品| 91成人免费电影| 久久九九久久九九| 日韩av一区二区三区| 欧美综合色免费| 中文字幕在线一区二区三区| 精品亚洲成a人| 在线91免费看| 亚洲国产美女搞黄色| 色综合久久久久| 国产精品初高中害羞小美女文| 国产老肥熟一区二区三区| 337p亚洲精品色噜噜噜| 亚洲一级二级三级| 91在线丨porny丨国产| 国产欧美日韩三区| 国产精品一区二区在线观看不卡| 91精品国产综合久久久久久| 亚洲一区二区三区小说| 91视频精品在这里| 亚洲欧洲国产专区| voyeur盗摄精品| 国产免费成人在线视频| 国产精品亚洲а∨天堂免在线| 日韩久久久精品| 久久99精品国产麻豆婷婷| 日韩午夜在线观看视频| 日韩精品欧美精品| 91精品国产综合久久蜜臀| 亚洲国产精品一区二区www| 欧美在线|欧美| 亚洲一区二区三区小说| 欧美性生交片4| 午夜不卡av免费|