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

📄 resultdlg.cpp

📁 好用的键盘超人源代码
💻 CPP
字号:
// ResultDlg.cpp : implementation file
//

#include "stdafx.h"
#include "rain.h"

#include "raincom.h"
#include "ResultDlg.h"
#include "raindoc.h"

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

extern CRainDoc *PDocument;

/////////////////////////////////////////////////////////////////////////////
// CResultDlg dialog


CResultDlg::CResultDlg(CWnd* pParent)
	: CDialog(CResultDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CResultDlg)
	//}}AFX_DATA_INIT
}


void CResultDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CResultDlg)
	DDX_Control(pDX, IDC_LIST_RESULT, m_list);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CResultDlg, CDialog)
	//{{AFX_MSG_MAP(CResultDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CResultDlg message handlers



BOOL CResultDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

    CString totalStr,rightStr,rightRate,charMinute;
    int item,i,tmp;

	switch(PDocument->rainType)
    {
	case RT_LOCAL:
		 totalStr.Format("%d",PDocument->getTotalStrNum()); 
	     rightStr.Format("%d",PDocument->getRightStrNum());
	     if(PDocument->getTotalStrNum()<=0)// check if safe
		 {
            rightRate.Format("%d%%",0);
		 }
	     else
		 {     
		    rightRate.Format("%d%%",PDocument->getRightStrNum()*100/PDocument->getTotalStrNum());
		 }
	     if(PDocument->getTotalTime()<=0)// check if safe
		 {
		    charMinute.Format("%d",0);
		 }  
         else
		 {
            PDocument->currentSpeed=PDocument->getRightCharNum()*60/PDocument->getTotalTime();
		    charMinute.Format("%d",PDocument->currentSpeed);
		 }
		 m_list.InsertColumn( 0, "chars/minute",LVCFMT_LEFT,120,-1 );
		 m_list.InsertColumn( 1, "user name",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn( 2, "right words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn( 3, "total words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn( 4, "right rate",LVCFMT_LEFT,120,-1 );
		 item=m_list.InsertItem(0,charMinute);
		 m_list.SetItemText(item,1,PDocument->localUsrName);
		 m_list.SetItemText(item,2,rightStr);
		 m_list.SetItemText(item,3,totalStr);
		 m_list.SetItemText(item,4,rightRate);
		 break;
	case RT_CLIENT:
		 m_list.InsertColumn(0, "chars/minute",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(1, "user name",LVCFMT_LEFT,120,-1 );
		 m_list.InsertColumn(2, "IP address",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(3, "right words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(4, "total words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(5, "right rate",LVCFMT_LEFT,120,-1 );
		 for(i=0;i<PDocument->client.usrNumber;i++)
         {
			 totalStr.Format("%d",PDocument->client.totalStr); 
	         rightStr.Format("%d",PDocument->client.rightStr[i]);
	         if(PDocument->client.totalStr<=0)// check if safe
			 {
                 rightRate.Format("%d%%",0);
			 }
	         else
			 {
		         rightRate.Format("%d%%",PDocument->client.rightStr[i]*100/PDocument->client.totalStr);
			 }
	         if(PDocument->client.totalTime<=0)// check if safe
			 {
		         charMinute.Format("%d",0);
			 }  
             else
			 {
                 tmp=PDocument->client.rightChar[i]*60/PDocument->client.totalTime;
		         charMinute.Format("%d",tmp);
				 if(PDocument->client.allUsrID[i]==PDocument->client.usrID)
                 {
					 PDocument->currentSpeed=tmp;
				 }
			 }
			 item=m_list.InsertItem(0,charMinute);
			 m_list.SetItemText(item,1,PDocument->client.usrName[i]); 
		     m_list.SetItemText(item,2,PDocument->client.usrIP[i]);
             m_list.SetItemText(item,3,rightStr);
		     m_list.SetItemText(item,4,totalStr);
		     m_list.SetItemText(item,5,rightRate);
		 }	 
		 break;
	case RT_SERVER:
		 //first fill server result
		 totalStr.Format("%d",PDocument->getTotalStrNum()); 
	     rightStr.Format("%d",PDocument->server.rightStr);
	     if(PDocument->getTotalStrNum()<=0)// check if safe
		 {
            rightRate.Format("%d%%",0);
		 }
	     else
		 {
		    rightRate.Format("%d%%",PDocument->server.rightStr*100/PDocument->getTotalStrNum());
		 }
	     if(PDocument->getTotalTime()<=0)// check if safe
		 {
		    charMinute.Format("%d",0);
		 }  
         else
		 {
            PDocument->currentSpeed=PDocument->server.rightChar*60/PDocument->getTotalTime();
		    charMinute.Format("%d",PDocument->currentSpeed);
		 }
	     m_list.InsertColumn(0, "chars/minute",LVCFMT_LEFT,120,-1 );
		 m_list.InsertColumn(1, "user name",LVCFMT_LEFT,120,-1 );
		 m_list.InsertColumn(2, "IP address",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(3, "right words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(4, "total words",LVCFMT_LEFT,120,-1 );
	     m_list.InsertColumn(5, "right rate",LVCFMT_LEFT,120,-1 );
		 item=m_list.InsertItem(0,charMinute);
		 m_list.SetItemText(item,1,PDocument->localUsrName);
		 m_list.SetItemText(item,2,PDocument->server.myIP);	
		 m_list.SetItemText(item,3,rightStr);
		 m_list.SetItemText(item,4,totalStr);
		 m_list.SetItemText(item,5,rightRate);
       	 
		 //file client results
		 for(i=0;i<DFT_CLIENT_NUM;i++)
         {
            if(PDocument->server.slaveSocket[i].getConnectState()!=CONNECTION_LOST)
			{ 	
			    rightStr.Format("%d",PDocument->server.slaveSocket[i].rightStr);
                if(PDocument->getTotalStrNum()<=0)// check if safe
				{
                    rightRate.Format("%d%%",0);
				}
	            else
				{
		            rightRate.Format("%d%%",PDocument->server.slaveSocket[i].rightStr*100/PDocument->getTotalStrNum());
				}  
				if(PDocument->getTotalTime()<=0)// check if safe
				{
		            charMinute.Format("%d",0);
				}  
                else
				{
		            charMinute.Format("%d",PDocument->server.slaveSocket[i].rightChar*60/PDocument->getTotalTime());
				}
	            item=m_list.InsertItem(0,charMinute);
				m_list.SetItemText(item,1,PDocument->server.slaveSocket[i].usrName);
				m_list.SetItemText(item,2,PDocument->server.slaveSocket[i].usrIP);
		        m_list.SetItemText(item,3,rightStr);
		        m_list.SetItemText(item,4,totalStr);
		        m_list.SetItemText(item,5,rightRate);
                
            }
		 }	 
           
		 break;
    }

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


⌨️ 快捷键说明

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