⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qanswerdoc.cpp

📁 一款抢答器 界面友好 功能完善 支持断开重连 可在娱乐竞赛中使用此为 源代码
💻 CPP
字号:
// QAnswerDoc.cpp : CQAnswerDoc 类的实现
//

#include "stdafx.h"
#include "QAnswer.h"

#include "QAnswerDoc.h"
#include "DlgPort.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CQAnswerDoc

IMPLEMENT_DYNCREATE(CQAnswerDoc, CDocument)

BEGIN_MESSAGE_MAP(CQAnswerDoc, CDocument)
END_MESSAGE_MAP()


// CQAnswerDoc 构造/析构

CQAnswerDoc::CQAnswerDoc()
{
	m_connectionList.RemoveAll ();
	m_msgArray.RemoveAll ();
	m_bOpen=FALSE;
	m_bQOpen=FALSE;
	m_pMsg=NULL;
	m_uNumber=10;
	m_tempNumber=0;
	m_timeLimit=15;
	m_msgArray.SetSize (m_uNumber);
	
	for(int i=0;i<m_uNumber;i++)
	{
		m_msgArray[i]=NULL;
	}

	
	// TODO: 在此添加一次性构造代码

}

CQAnswerDoc::~CQAnswerDoc()
{
	delete m_pSocket;
}

BOOL CQAnswerDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;
	m_pSocket= new CListeningSocket(this);
    CDlgPort dlg;
	if(dlg.DoModal ()==IDOK)
	{
        m_uNumber=dlg.m_uNumber ;
		m_timeLimit=dlg.m_timeLimit ;


		if(!m_pSocket->Create (dlg.m_uPort ))
		{
			delete m_pSocket;
			m_pSocket=NULL;
			AfxMessageBox(_T("创建监听套接字失败!"));
			return FALSE;
		}
		m_pSocket->Listen ();
	}
	else 
		return FALSE;

	// TODO: 在此添加重新初始化代码
	// (SDI 文档将重用该文档)

	return TRUE;
}




// CQAnswerDoc 序列化

void CQAnswerDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: 在此添加存储代码
	}
	else
	{
		// TODO: 在此添加加载代码
	}
}


// CQAnswerDoc 诊断

#ifdef _DEBUG
void CQAnswerDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CQAnswerDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG-
void CQAnswerDoc::ProcessPendingAccept()
{
    
	CServerSocket * pSocket= new CServerSocket(this);
	if(m_pSocket->Accept (*pSocket))
	{
		pSocket->Init ();
		m_connectionList.AddTail (pSocket);
		/*m_uNumber++;
		m_msgArray.SetSize(m_uNumber);*/
	}
	else
	{
		delete pSocket;
	}

}


//CServerSocket * CQAnswerDoc::GetSocket(UINT uIndex)
//{
//	/*POSITION pos;
//	if((pos=m_connectionList.GetHeadPosition())!=NULL)
//	{
//		CServerSocket *socket =(CServerSocket *) m_connectionList.GetAt (pos);
//		
//	}*/
//}

// CQAnswerDoc 命令

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -