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

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

?? processview.cpp

?? 這是一個關于操作系統進程調度的實驗
?? CPP
字號:
// ProcessView.cpp : implementation of the CProcessView class
//

#include "stdafx.h"
#include "Process.h"

#include "ProcessDoc.h"
#include "ProcessView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CProcessView

IMPLEMENT_DYNCREATE(CProcessView, CScrollView)

BEGIN_MESSAGE_MAP(CProcessView, CScrollView)
	//{{AFX_MSG_MAP(CProcessView)
	ON_COMMAND(ID_START, OnStart)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	ON_UPDATE_COMMAND_UI(ID_START, OnUpdateStart)
	ON_COMMAND(ID_Continue, OnContinue)
	ON_COMMAND(ID_STOP, OnStop)
	ON_UPDATE_COMMAND_UI(ID_STOP, OnUpdateStop)
	ON_UPDATE_COMMAND_UI(ID_Continue, OnUpdateContinue)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CProcessView construction/destruction

//const int CProcessView::m_pris[N]={12,15,17,8,19};
//const int CProcessView::m_times[N]={3,6,7,3,8};

CProcessView::CProcessView()
{
	// TODO: add construction code here
	m_proTotal=0;
	n=0;
//	m_line=0;
	m_killTimer=true;
	m_start=false;
	m_queryFlag=false;
}
CProcessView::~CProcessView()
{
}

BOOL CProcessView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CProcessView drawing

void CProcessView::OnDraw(CDC* pDC)
{
	CProcessDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here

	CString str;
	str.Format("第%d時刻進程調度情況:",m_proMoni.m_clock);
	if(m_start)
	{
		pDC->TextOut(50,20,str);
		m_proMoni.Display(pDC);	
		m_proMoni.DisplayRecordInfo(pDC);
	}

}

void CProcessView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = sizeTotal.cy = 5000;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CProcessView diagnostics

#ifdef _DEBUG
void CProcessView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CProcessView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

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

/////////////////////////////////////////////////////////////////////////////
// CProcessView message handlers
PCB* CProcessView::CreatePCB()
{
	PCB* p=new PCB;

	p->pid=n+1;
	p->pri=m_pris[n];
	p->time=m_times[n];
	p->status=0;
	n++;//
	return p;
}
#include"pritimedlg.h"
void CProcessView::OnStart() 
{
	// TODO: Add your command handler code here

	CPriTimeDlg dlg;
	dlg.DoModal();
	if(dlg.m_ok)
	{
		m_proTotal=dlg.m_proNum;
		for(int i=0;i<m_proTotal;i++)
		{
			m_pris[i]=dlg.m_pris[i];
			m_times[i]=dlg.m_times[i];
		}
	if(dlg.m_query)
	{
		m_queryFlag=true;
		m_queryClock=dlg.m_queryTime;
	}
	m_proMoni.OpenLogFile();
	PCB* p=CreatePCB();
	m_proMoni.InsertRQ(p);

	m_proMoni.WriteLogToFile();
	m_proMoni.RecordAllInfo();

	m_proMoni.ProSchedule();

	//m_proMoni.WriteLogToFile();

	m_start=true;
	Invalidate();
	m_killTimer=false;
	SetTimer(1,1000,NULL);
	}
}

void CProcessView::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	m_proMoni.m_clock++;
//	m_proMoni.RecordAllInfo();

//	m_proMoni.WriteLogToFile();
	m_proMoni.ProRun();
	if(n<m_proTotal)
	{
		PCB *p=CreatePCB();
		m_proMoni.InsertRQ(p);
		
	}
	m_proMoni.WriteLogToFile();
	m_proMoni.RecordAllInfo();

	m_proMoni.ProSchedule();

	Invalidate();

	if(m_proMoni.GetFinishFlag())
	{
		KillTimer(1);	
		m_killTimer=true;
		AfxMessageBox("演示完畢");
	}
	if(m_queryFlag)
	{
		if(m_queryClock==m_proMoni.m_clock)
		{
			KillTimer(1);
			m_killTimer=true;

			CString str;
			str.Format("視圖中顯示的即為你所要查詢的\n第%d時刻的調度情況",m_queryClock);
			AfxMessageBox(str);
			return;
		}
	}

	CScrollView::OnTimer(nIDEvent);
}

void CProcessView::OnDestroy() 
{
	CScrollView::OnDestroy();
	
	// TODO: Add your message handler code here
	if(!m_killTimer)
		KillTimer(1);

	if(m_start)
		m_proMoni.CloseLogFile();
}

void CProcessView::OnUpdateStart(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
//	pCmdUI->SetCheck(noshow);
	pCmdUI->Enable(!m_start);	

}

void CProcessView::OnContinue() 
{
	// TODO: Add your command handler code here
	if(m_killTimer)
	{
		SetTimer(1,1000,NULL);
		m_killTimer=false;
	}
}

void CProcessView::OnStop() 
{
	// TODO: Add your command handler code here
	KillTimer(1);
	m_killTimer=true;

}

void CProcessView::OnUpdateStop(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable(m_start && !m_killTimer);
}

void CProcessView::OnUpdateContinue(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
		pCmdUI->Enable(m_start && m_killTimer);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费| 成人动漫一区二区在线| 成人久久久精品乱码一区二区三区| 欧美久久高跟鞋激| 亚洲色图丝袜美腿| 色综合久久久久综合体桃花网| 欧美成人性福生活免费看| 午夜精品久久久久久久久久久| 99国产精品视频免费观看| 国产精品国产自产拍在线| 成人综合在线视频| 日本一区二区动态图| 国产suv一区二区三区88区| 久久精品亚洲麻豆av一区二区| 另类调教123区| 国产亚洲欧美色| 成年人国产精品| 亚洲国产精品久久艾草纯爱| 欧美天天综合网| 久久精品免费观看| 中文字幕在线不卡视频| 亚洲欧美日韩一区二区三区在线观看| 亚洲欧洲韩国日本视频| 激情五月激情综合网| 国产精品久久久久久久久免费桃花 | 欧美va亚洲va国产综合| 国产一区二区三区蝌蚪| 国产精品视频一二三区| 在线观看日韩av先锋影音电影院| 亚洲自拍偷拍图区| 国产亚洲一二三区| 欧美优质美女网站| 黄色成人免费在线| 亚洲国产毛片aaaaa无费看| 欧美xxxxx裸体时装秀| 99久久er热在这里只有精品15| 日韩av一区二区在线影视| 中文一区二区完整视频在线观看| 欧洲国产伦久久久久久久| 国产一区二区三区久久悠悠色av| 一级日本不卡的影视| 久久精品一区二区三区不卡牛牛| 99久久精品99国产精品| 国产一区视频网站| 日本va欧美va欧美va精品| 亚洲色图欧美偷拍| 国产精品日韩成人| 久久久影视传媒| 日韩欧美国产1| 91精品免费在线观看| 欧美亚洲自拍偷拍| www.综合网.com| 福利一区福利二区| 国内精品久久久久影院薰衣草 | 国产乱国产乱300精品| 蜜桃视频在线观看一区二区| 亚洲h精品动漫在线观看| 一区二区三区四区蜜桃| 亚洲男人的天堂在线观看| 中文字幕中文字幕一区二区| 国产欧美日韩在线看| 欧美激情一区不卡| 欧美一区二区三区性视频| 日韩一区二区在线观看视频| 精品处破学生在线二十三| 久久先锋资源网| 国产精品国产自产拍高清av王其| 国产精品国产精品国产专区不片| 国产精品国产馆在线真实露脸| 亚洲伦在线观看| 性做久久久久久| 狠狠狠色丁香婷婷综合激情| 成人av电影免费在线播放| 欧美日韩免费在线视频| 26uuu国产在线精品一区二区| 国产午夜精品久久久久久久 | 一本大道久久a久久综合| 在线亚洲人成电影网站色www| 韩国av一区二区三区四区| 亚洲视频中文字幕| 亚洲国产精品影院| 国产精品18久久久久久久久| 成人精品国产免费网站| 在线成人免费视频| 精品国一区二区三区| 亚洲精品中文在线观看| 蜜桃在线一区二区三区| av亚洲产国偷v产偷v自拍| 日韩免费成人网| 一区二区免费在线| 成人av综合在线| 欧美成人乱码一区二区三区| 亚洲一区二区在线免费观看视频 | 日本不卡123| 在线观看亚洲精品| 亚洲人成网站色在线观看| 日本aⅴ亚洲精品中文乱码| 欧美日韩成人综合| 亚洲一区二区三区自拍| 9久草视频在线视频精品| 久久亚洲捆绑美女| 久久丁香综合五月国产三级网站| 欧美日韩国产大片| 亚洲午夜激情网站| 欧美人体做爰大胆视频| 亚洲大片在线观看| 欧美一区二区成人6969| 蜜桃一区二区三区在线观看| 精品国内片67194| 国精品**一区二区三区在线蜜桃| 欧美大片在线观看一区二区| 亚洲成av人片在www色猫咪| 欧美日韩1区2区| 日韩av中文字幕一区二区三区 | 欧美高清精品3d| 久久精品国产免费| 欧美国产视频在线| 色综合久久精品| 免费人成网站在线观看欧美高清| 欧美大胆一级视频| 成人在线视频首页| 亚洲女厕所小便bbb| 日韩一级完整毛片| 丁香亚洲综合激情啪啪综合| 亚洲女爱视频在线| 欧美大黄免费观看| 91久久精品日日躁夜夜躁欧美| 日韩 欧美一区二区三区| 精品国产1区二区| 欧美性色综合网| 国产91丝袜在线播放0| 亚洲综合色噜噜狠狠| 中文一区在线播放| 精品国产1区二区| 欧美日本韩国一区二区三区视频 | 国产精品乱人伦中文| 日韩欧美精品三级| 在线观看一区二区视频| 福利一区在线观看| 蜜臀av亚洲一区中文字幕| 亚洲国产毛片aaaaa无费看| 中文字幕亚洲欧美在线不卡| 精品免费99久久| 欧美精品成人一区二区三区四区| 91视频免费播放| 国产一区在线观看麻豆| 久久久久久久久久久久久久久99 | 中文字幕一区二区三区在线播放 | 奇米在线7777在线精品| 亚洲色图在线看| 亚洲人成网站精品片在线观看| 精品久久久久99| 日韩小视频在线观看专区| 在线看国产日韩| 色婷婷综合五月| 欧美三级电影网站| 欧美日韩在线观看一区二区| 欧美色图片你懂的| 欧美性生活一区| 日韩一区和二区| 久久久久国产一区二区三区四区| 久久综合久久鬼色中文字| www久久久久| 中文字幕制服丝袜成人av| 亚洲男人的天堂av| 中文字幕一区二区在线观看| 亚洲丝袜另类动漫二区| 亚洲成人免费在线观看| 久久99精品视频| 色综合夜色一区| 欧美一级午夜免费电影| 久久精品欧美一区二区三区不卡 | 视频一区国产视频| 国产一区二区久久| 99精品欧美一区| 日韩精品一区在线| 一区二区激情小说| 九色porny丨国产精品| www.欧美日韩| 日韩欧美激情一区| 亚洲日本护士毛茸茸| 另类综合日韩欧美亚洲| 日本精品裸体写真集在线观看| 日韩欧美一区在线| 亚洲无线码一区二区三区| 国产激情一区二区三区四区| 99re热这里只有精品免费视频| 欧美一区二区三区色| 亚洲人精品午夜| 东方欧美亚洲色图在线| 91精品国产欧美日韩| 亚洲午夜精品网| 日本精品视频一区二区三区| 国产精品短视频| 国产一区二区三区免费| 欧美成人午夜电影| 久久精品国产亚洲5555| 欧美成人午夜电影| 国产美女一区二区三区| 久久亚区不卡日本|