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

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

?? mshowview.cpp

?? 數控譯碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// MshowView.cpp : implementation of the CMshowView class
//

#include "stdafx.h"
#include "Mshow.h"

#include "MshowDoc.h"
#include "MshowView.h"
#include "MainFrm.h"
#include "drive.h"

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

#define CodeMax 50
volatile  int a;
volatile  int thread;
volatile  int pthread;
volatile  int work;
volatile  int start;
volatile  int pause;
volatile  int stop;
volatile  int done;
volatile  int m_w;

int x_sys=100;
int y_sys=300;
int z_sys=0;
/*
int x=100+DUIDAOX;
int y=300+DUIDAOY;
int z=0+DUIDAOZ;*/

int x=100;
int y=300;
int z=0;


int b=1;
int m_pn;
int m_px;
int m_py;

int m_M[CodeMax];
int m_F[CodeMax];
int m_S[CodeMax];
//int m_R[CodeMax];
int m_K[CodeMax];
int m_J[CodeMax];
int m_I[CodeMax];
int m_Z[CodeMax];
int m_Y[CodeMax];
int m_X[CodeMax];
int m_G[CodeMax];
//int m_N[CodeMax];
bool m_gflag[CodeMax];

volatile int m_n;

//for 刀補仿真
int pn;
int px;
int py;

int M[CodeMax];
int F[CodeMax];
int S[CodeMax];
//int R[CodeMax];
int K[CodeMax];
int J[CodeMax];
int I[CodeMax];
int Z[CodeMax];
int Y[CodeMax];
int X[CodeMax];
int G[CodeMax];
//int N[CodeMax];
bool gflag[CodeMax];

volatile int n;




/////////////////////////////////////////////////////////////////////////////
// CMshowView

IMPLEMENT_DYNCREATE(CMshowView, CView)

BEGIN_MESSAGE_MAP(CMshowView, CView)
	//{{AFX_MSG_MAP(CMshowView)
	ON_UPDATE_COMMAND_UI(ID_TRUEXY,OnUpdateXY)
	ON_COMMAND(ID_STARTTHREAD, OnStartthread)
	ON_COMMAND(ID_STOPTHREAD, OnStopthread)
	ON_COMMAND(ID_PAUSETHREAD, OnPausethread)
	ON_COMMAND(ID_SENDDATE, OnSenddate)
	ON_WM_SETCURSOR()
	ON_WM_MOUSEMOVE()
	ON_UPDATE_COMMAND_UI(ID_STARTTHREAD, OnUpdateStartthread)
	ON_UPDATE_COMMAND_UI(ID_PAUSETHREAD, OnUpdatePausethread)
	ON_UPDATE_COMMAND_UI(ID_STOPTHREAD, OnUpdateStopthread)
	ON_UPDATE_COMMAND_UI(ID_XY, OnUpdateZB)
	ON_COMMAND(ID_XY, OnZB)
	ON_COMMAND(ID_STARTWORK, OnStartwork)
	ON_UPDATE_COMMAND_UI(ID_STARTWORK, OnUpdateStartwork)
	ON_BN_CLICKED(IDC_BUTTON_SIM, OnButtonSim)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMshowView construction/destruction

CMshowView::CMshowView()
{
	// TODO: add construction code here
	m_pnewthread = NULL;
}

CMshowView::~CMshowView()
{
}

BOOL CMshowView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
    cs.lpszClass=AfxRegisterWndClass(
		CS_HREDRAW|CS_VREDRAW,
		0,
		(HBRUSH)::GetStockObject(BLACK_BRUSH),
		0);
	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMshowView drawing

void CMshowView::OnDraw(CDC* pDC)
{
	CMshowDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
    
	if(b==1)
	{
		CPen newpen;
		CPen *oldpen;
		newpen.CreatePen(PS_SOLID,1,RGB(0,255,0));
		oldpen=pDC->SelectObject(&newpen);
		pDC->MoveTo(x_sys,0);
	    pDC->LineTo(x_sys,600);
        pDC->MoveTo(0,y_sys);
	    pDC->LineTo(600,y_sys);
		pDC->SelectObject(oldpen);
		newpen.DeleteObject();
	}
	if(start==1||pause==1||stop==1)
	{
//		Onpaint();
	}
        
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CMshowView diagnostics

#ifdef _DEBUG
void CMshowView::AssertValid() const
{
	CView::AssertValid();
}

void CMshowView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CMshowDoc* CMshowView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMshowDoc)));
	return (CMshowDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMshowView message handlers

void CMshowView::OnStartthread() //線程開始
{
	
	thread=1;
	work=0;
	start=0;
	pause=1;
	stop=1;
	m_w=1;
	
	
    if(pthread==1)
	{	
		pthread=0;
	}
	else
	{
	m_pn=0;
	m_pdlgbar = &(((CMainFrame*)AfxGetMainWnd())->m_wndDialogBar);
	m_pnewthread = AfxBeginThread(ThreadProc,this,THREAD_PRIORITY_NORMAL);
	}
    Invalidate();
}
void CMshowView::OnStartwork() 
{
	
	thread=1;
	work=0;
	start=0;
	pause=1;
	stop=1;
	m_w=1;
	
	
    if(pthread==1)
	{	
		pthread=0;
	}
	else
	{
		m_pn=0;
		m_pdlgbar = &(((CMainFrame*)AfxGetMainWnd())->m_wndDialogBar);
		m_pnewthread = AfxBeginThread(ThreadProc,this,THREAD_PRIORITY_NORMAL);
	}
    Invalidate();
}

void CMshowView::OnStopthread() //線程結束
{
	thread=0;    
	start=1;
	work=1;
	pause=0;
	stop=0;
	pthread=0;
}

void CMshowView::OnPausethread() //線程暫停(掛起)
{   
//	if(m_w==1)
//	{start=1;}
//	else
//	{work=1;}
//	pause=0;
//    stop=1;
//	pthread=1;
	if (pthread==0) 
	{
		m_pnewthread->SuspendThread();
		pthread=1;
	}
	else
	{
		m_pnewthread->ResumeThread();
		pthread=0;
	}
	

   
}

UINT ThreadProc(LPVOID param)  //畫線模擬線程
{
    ASSERT(param);
    CMshowView *pMshowview = (CMshowView*)param;


	CString xp,yp;
	
	CClientDC dc(pMshowview);
    CPen newpen;
	CPen *oldpen;
		
	newpen.CreatePen(PS_SOLID,1,RGB(0,0,255));
	oldpen=dc.SelectObject(&newpen);
    
    

	//int nID=pMshowview->m_pdlgbar->GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);
	//if(nID=IDC_RADIO1)
	//{AfxMessageBox("1");}
    int ox=0,oy=0,xps=0,yps=0,xpe=0,ype=0,d=0,Last_x=0,Last_y=0;
	
	int Datumx = DUIDAOX,Datumy = DUIDAOY, Datumz = DUIDAOZ;
    
     dc.MoveTo(x+Datumx,y-Datumy);
    for(int i=0;i<m_n;i++)
	{  
	if(thread!=1)break;	
	
	if (m_gflag[i] == 0 )
		continue;
	
	
	switch (m_G[i])
	{
		case 90:
		
			break;
		case 91:
		
			break;
		case 00:  
            
            
		case 01:   /*line interloation*/			
		    
			xpe=m_X[i];
			ype=m_Y[i];
		    
			
			xps = yps = 0;


			dc.LineTo(x+Datumx+Last_x+xpe,y-(Datumy+Last_y+ype)); 
			


/*
			//					if(xpe>0&&ype>=0){xps=1;yps=0;}
			//							            else if(xpe>=0&&ype<0){xps=0;yps=-1;}
			//							            else if(xpe<0&&ype<=0){xps=-1;yps=0;}
			//							            else{xps=0;yps=1;};  
			//							            
				
		
			while(xps!=xpe||yps!=ype)
			{
				while(pthread==1)
				{
                if(thread!=1)break;
				};
				if(thread!=1)break;
				
				xp.Format("%d",(Datumx + xps+Last_x));
                yp.Format("%d",(Datumy + yps+Last_y));
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);
				d = ( xpe*yps -  xps*ype  );
				
				if(m_G[i] = 01)		Sleep(20);

				if(d >= 0)
				{                                           
					if(xpe>0&&ype>=0)	   xps++;
					else if(xpe>=0&&ype<0) yps--;
					else if(xpe<0&&ype<=0) xps--;
					else				   yps++; 
					
               
				}
                else 
                {
					if(xpe>0&&ype>=0)      yps++;
					else if(xpe>=0&&ype<0) xps++;
					else if(xpe<0&&ype<=0) yps--;
					else                   xps--;

                
				}
				
				dc.LineTo(x+Datumx+Last_x+xps,y-(Datumy+Last_y+yps)); 
				
                m_pn=i;
				m_px=xps;
				m_py=yps; 

							   		 
			}
			*/

			xp.Format("%d",(Datumx + xps+Last_x));
			yp.Format("%d",(Datumy + yps+Last_y));
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);

		    Last_x+=m_X[i];
            Last_y+=m_Y[i];

			break;

		case 02:   /*  CW */
			/*
			ox=Last_x+m_I[i];
			            oy=Last_y+m_J[i];
						xps=Last_x-ox;
						yps=Last_y-oy;
						xpe=m_X[i]-ox;
						ype=m_Y[i]-oy;*/
			

			ox=Last_x+m_I[i];
            oy=Last_y+m_J[i];
			xps=-m_I[i];
			yps=-m_J[i];
			xpe=m_X[i]-m_I[i];
			ype=m_Y[i]-m_J[i];
			while(xps!=xpe||yps!=ype)
			{
				while(pthread==1)
				{
                if(thread!=1)break;
				};
				if(thread!=1)break;
				
			
				xp.Format("%d",(Datumx+xps+ox));
                yp.Format("%d",(Datumy+yps+oy));
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);
				
				Sleep(20);
				d = ( xps*xps + yps*yps - xpe*xpe - ype*ype );
				if(d >= 0)
				{
				   if(xps>0 && yps>=0)		yps--;
				   else if(xps>=0 && yps<0) xps--;
				   else if(xps<0 && yps<=0) yps++; 
				   else						xps++; 
				}
				else
				{
				   if(xps>=0 && yps>0)		xps++; 
	   			   else if(xps>0 && yps<=0) yps--; 
				   else if(xps<=0 && yps<0) xps--; 
				   else						yps++; 
				}
				
				dc.LineTo(x+Datumx+xps+ox,y-(Datumy+oy+yps)); 
				m_pn=i;
				m_px=xps;
				m_py=yps;
				
			}

			xp.Format("%d",(Datumx+xps+ox));
			yp.Format("%d",(Datumy+yps+oy));
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);
			
			Last_x+=m_X[i];
            Last_y+=m_Y[i];
			break;
		case 03:   /*  CCW */	    	
           /*
            ox=Last_x+m_I[i];
                       oy=Last_y+m_J[i];
           			xps=Last_x-ox;
           			yps=Last_y-oy;
           			xpe=m_X[i]-ox;
           			ype=m_Y[i]-oy;*/
		
			ox=Last_x+m_I[i];
			oy=Last_y+m_J[i];
			xps=-m_I[i];
			yps=-m_J[i];
			xpe=m_X[i]-m_I[i];
			ype=m_Y[i]-m_J[i];

			while(xps!=xpe||yps!=ype)
			{
				while(pthread==1)
				{
                if(thread!=1)break;
				};
				if(thread!=1)break;
				
			
				xp.Format("%d",(Datumx+xps+ox));
                yp.Format("%d",(Datumy+yps+oy));
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);
				Sleep(20);
				
				
				d = ( xps*xps + yps*yps - xpe*xpe - ype*ype );
				
				if(d >= 0)
				{
				   if(xps>0 && yps>=0)		 xps--;
				   else if(xps>=0 && yps<0)  yps++;
				   else if(xps<0 && yps<=0)  xps++;
				   else						 yps--; 
				}
				else
				{
				   if(xps>0 && yps>=0)		 yps++; 
	   			   else if(xps>=0 && yps<0)  xps++; 
				   else if(xps<0 && yps<=0)  yps--; 
				   else						 xps--; 
				}
				
				dc.LineTo(x+Datumx+xps+ox,y-(Datumy+oy+yps));
				m_pn=i;
				m_px=xps;
				m_py=yps;
				
			}

			xp.Format("%d",(Datumx+xps+ox));
			yp.Format("%d",(Datumy+yps+oy));
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
			pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);

			Last_x+=m_X[i];
            Last_y+=m_Y[i];
			break;
		case 04:  /*pause*/
		
			break;
		
		default:
			break;
				}
	
}


//for 刀補

     ox=0,oy=0,xps=0,yps=0,xpe=0,ype=0,d=0,Last_x=0,Last_y=0;
	
	 Datumx = DUIDAOX,Datumy = DUIDAOY, Datumz = DUIDAOZ;
    
     dc.MoveTo(x+Datumx,y-Datumy);
	 int i;
    for( i=0;i<n;i++)
	{  
	if(thread!=1)break;	
	
	if (gflag[i] == 0 )
		continue;
	
	
	switch (G[i])
	{
		case 90:
		
			break;
		case 91:
		
			break;
		case 00:  
            
            
		case 01:   /*line interloation*/			
		    
			xpe=X[i];
			ype=Y[i];
		    
			
			xps = yps = 0;
		/*
			if(xpe>0&&ype>=0){xps=1;yps=0;}
		            else if(xpe>=0&&ype<0){xps=0;yps=-1;}
		            else if(xpe<0&&ype<=0){xps=-1;yps=0;}
		            else{xps=0;yps=1;};  
		            */
		
			while(xps!=xpe||yps!=ype)
			{
				while(pthread==1)
				{
                if(thread!=1)break;
				};
				if(thread!=1)break;
				
				xp.Format("%d",(Datumx + xps+Last_x));
                yp.Format("%d",(Datumy + yps+Last_y));
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC1)->SetWindowText(xp);
                pMshowview->m_pdlgbar->GetDlgItem(IDC_STATIC2)->SetWindowText(yp);
				d = ( xpe*yps -  xps*ype  );
				
				if(G[i] = 01)		Sleep(20);

				if(d >= 0)
				{                                           
					if(xpe>0&&ype>=0)	   xps++;
					else if(xpe>=0&&ype<0) yps--;
					else if(xpe<0&&ype<=0) xps--;
					else				   yps++; 
					
               
				}
                else 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线亚洲高清视频| 国产精品一区不卡| 欧美日韩在线播放一区| 亚洲成人黄色小说| 717成人午夜免费福利电影| 日韩有码一区二区三区| 3d动漫精品啪啪一区二区竹菊| 日本午夜一区二区| 亚洲精品一区二区三区精华液 | 亚洲精品国产第一综合99久久| 91同城在线观看| 亚洲第一电影网| 精品国产三级电影在线观看| 成人性视频免费网站| 亚洲一区二区三区自拍| 日韩三级中文字幕| 大陆成人av片| 亚洲一区二区三区视频在线| 精品欧美乱码久久久久久1区2区| 福利电影一区二区| 亚洲国产成人91porn| 欧美大片日本大片免费观看| 成人精品亚洲人成在线| 性做久久久久久| 国产日韩欧美a| 欧洲一区在线电影| 国产乱人伦偷精品视频免下载| 亚洲人成网站在线| 日韩午夜激情视频| 99精品一区二区三区| 亚洲www啪成人一区二区麻豆| 久久久亚洲精品一区二区三区| 色综合网站在线| 国内精品伊人久久久久av影院| 亚洲另类在线一区| 久久免费精品国产久精品久久久久| 91捆绑美女网站| 国模娜娜一区二区三区| 一区二区国产视频| 国产欧美一区视频| 欧美一区二区视频在线观看2022 | 黄色精品一二区| 夜色激情一区二区| 国产婷婷一区二区| 这里只有精品免费| 一本色道久久综合亚洲aⅴ蜜桃 | 91精品啪在线观看国产60岁| 粉嫩一区二区三区性色av| 免费成人性网站| 天天综合色天天综合| 亚洲四区在线观看| 国产欧美日韩综合精品一区二区| 4438成人网| 欧美日韩高清影院| 在线观看www91| 一本高清dvd不卡在线观看| 国产成+人+日韩+欧美+亚洲| 美女视频黄久久| 亚洲成av人片一区二区梦乃| 亚洲免费色视频| 国产精品福利影院| 国产欧美日韩在线| 久久免费午夜影院| 久久嫩草精品久久久久| 亚洲精品一区二区在线观看| 欧美一区二区国产| 宅男在线国产精品| 欧美一区二区成人| 欧美一区二区成人| 日韩女优制服丝袜电影| 欧美唯美清纯偷拍| 在线观看区一区二| 日本福利一区二区| 欧美体内she精高潮| 欧洲视频一区二区| 日本国产一区二区| 欧美精品一二三| 91精品国产综合久久福利软件| 在线不卡一区二区| 欧美一级淫片007| 精品日韩在线观看| 日本一区二区在线不卡| 亚洲欧美一区二区视频| 亚洲视频一区二区在线观看| 亚洲免费观看高清完整版在线观看熊| 中文字幕一区二区三区在线播放| 中文字幕一区日韩精品欧美| 亚洲欧洲日韩女同| 一区二区日韩av| 视频一区欧美精品| 久久超级碰视频| 不卡av电影在线播放| 一本大道久久a久久精品综合| 欧美主播一区二区三区| 日韩一区二区三区在线| 久久一区二区视频| 中文字幕一区二区在线播放| 亚洲一区二区三区三| 精品一区二区三区在线视频| 国产精品一区二区91| 一本大道av伊人久久综合| 欧美日韩国产成人在线91| 精品国产乱码久久久久久1区2区 | av在线播放成人| 91国产免费观看| 欧美成人aa大片| 国产精品久久久久久户外露出 | 欧美性大战xxxxx久久久| 91精品综合久久久久久| 国产亚洲精品中文字幕| 亚洲精品视频在线观看免费| 日韩精品久久理论片| 国产一区二区不卡| 在线观看亚洲专区| 欧美不卡一区二区| 亚洲色图欧洲色图| 麻豆91精品视频| 99久久精品情趣| 欧美一区二区高清| 亚洲精品乱码久久久久久黑人| 美女www一区二区| 色综合久久久久久久久久久| 欧美成人aa大片| 一区二区免费在线| 粗大黑人巨茎大战欧美成人| 欧美三区在线观看| 欧美国产视频在线| 人人爽香蕉精品| 一本一道波多野结衣一区二区 | 国产精品久久久久一区二区三区 | 91精品在线麻豆| **性色生活片久久毛片| 麻豆视频观看网址久久| 一本色道久久加勒比精品 | 精品伊人久久久久7777人| 色狠狠综合天天综合综合| 久久色中文字幕| 一区二区三区欧美激情| 成人一级黄色片| 久久综合九色欧美综合狠狠| 亚洲狠狠爱一区二区三区| 国产激情一区二区三区桃花岛亚洲| 欧美日韩国产高清一区| 亚洲免费av高清| www.在线欧美| 国产三级精品视频| 91豆麻精品91久久久久久| www国产精品av| 麻豆成人久久精品二区三区红| 欧美日韩免费电影| 亚洲在线一区二区三区| www.激情成人| 亚洲国产精品黑人久久久| 韩国女主播一区二区三区| 日韩一区二区三区四区五区六区| 午夜免费久久看| 欧美日韩中文精品| 亚洲二区在线视频| 欧美日韩黄色一区二区| 亚洲123区在线观看| 欧美日韩国产一级片| 亚洲专区一二三| 在线精品观看国产| 亚洲第一二三四区| 7777精品伊人久久久大香线蕉超级流畅 | 日本欧美在线观看| 欧美美女黄视频| 亚洲午夜私人影院| 欧美在线视频全部完| 香港成人在线视频| 91精品国产综合久久蜜臀| 婷婷久久综合九色综合伊人色| 欧美日本韩国一区二区三区视频| 亚洲成人你懂的| 67194成人在线观看| 人人超碰91尤物精品国产| 日韩欧美在线观看一区二区三区| 久久国产精品99精品国产| 久久久午夜精品| 成人av先锋影音| 亚洲视频一二三区| 欧美午夜免费电影| 奇米综合一区二区三区精品视频| 日韩精品在线看片z| 国产sm精品调教视频网站| 中文字幕亚洲区| 欧洲激情一区二区| 日韩和的一区二区| 久久久久综合网| 99re视频这里只有精品| 亚洲高清中文字幕| 26uuu精品一区二区在线观看| 成人激情文学综合网| 亚洲午夜av在线| 久久精品视频网| 在线国产亚洲欧美| 久久99精品久久久久久动态图| 国产欧美精品一区aⅴ影院| 色哟哟一区二区在线观看| 人人精品人人爱|