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

📄 simulinkcooldlg.cpp

📁 用vc++实现的水泥生产设备-篦冷机的仿真模型
💻 CPP
字号:
// simulinkcoolDlg.cpp : implementation file
//

#include "stdafx.h"
#include "cooler.h"
#include "simulinkcool.h"
#include "simulinkcoolDlg.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()

/////////////////////////////////////////////////////////////////////////////
// CSimulinkcoolDlg dialog

CSimulinkcoolDlg::CSimulinkcoolDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSimulinkcoolDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSimulinkcoolDlg)
	m_fangrexishu = 4;
	m_huanrehuanrexishu = 0.1;
	m_qitihuanrexishu = 0.1;
	m_yubili = 0.0;
	m_yufengwen = 0.0;
	m_zongfengliang = 0.0;
	m_6liaowen = 0.0;
	m_5liaowen = 0.0;
	m_4liaowen = 0.0;
	m_3liaowen = 0.0;
	m_3fengwen = 0.0;
	m_3bili = 0.0;
	m_2liaowen = 0.0;
	m_2fengwen = 0.0;
	m_2bili = 0.0;
	m_1liaowen = 0.0;
	m_thick = 0.0;
	m_liaowenxishu = 0.2;
	m_bishiyali1 = 0.0;
	m_bishiyali2 = 0.0;
	m_bishiyali3 = 0.0;
	m_bishiyali4 = 0.0;
	m_bishiyali5 = 0.0;
	m_bishiyali6 = 0.0;
	m_biqiangyali1 = 0.0;
	m_biqiangyali2 = 0.0;
	m_biqiangyali3 = 0.0;
	m_biqiangyali4 = 0.0;
	m_biqiangyali5 = 0.0;
	m_biqiangyali6 = 0.0;
	/*m_bishu1 = 0.0;
	m_bishu2 = 0.0;
	m_lailiao = 0.0;*/
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSimulinkcoolDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSimulinkcoolDlg)
	DDX_Text(pDX, IDC_fangrehuanrexishu, m_fangrexishu);
	DDX_Text(pDX, IDC_hunhehuanrexishu, m_huanrehuanrexishu);
	DDX_Text(pDX, IDC_qitohuanrexishu, m_qitihuanrexishu);
	DDX_Control(pDX, IDC_SIARTCHARTCTRL2, m_siartchart);
	DDX_Text(pDX, IDC_yubili, m_yubili);
	DDX_Text(pDX, IDC_yufengwen, m_yufengwen);
	DDX_Text(pDX, IDC_zongfengliang, m_zongfengliang);
	DDX_Text(pDX, IDC_6liaowen, m_6liaowen);
	DDX_Text(pDX, IDC_5liaowen, m_5liaowen);
	DDX_Text(pDX, IDC_4liaowen, m_4liaowen);
	DDX_Text(pDX, IDC_3liaowen, m_3liaowen);
	DDX_Text(pDX, IDC_3fengwen, m_3fengwen);
	DDX_Text(pDX, IDC_3bili, m_3bili);
	DDX_Text(pDX, IDC_2liaowen, m_2liaowen);
	DDX_Text(pDX, IDC_2fengwen, m_2fengwen);
	DDX_Text(pDX, IDC_2bili, m_2bili);
	DDX_Text(pDX, IDC_1liaowen, m_1liaowen);
	DDX_Text(pDX, IDC_thick, m_thick);
	DDX_Text(pDX, IDC_liaowenxishu, m_liaowenxishu);
	DDX_Control(pDX, IDC_SIARTCHARTCTRL1, m_siachart2);
	DDX_Control(pDX, IDC_SIARTCHARTCTRL3, m_siachart3);
	DDX_Text(pDX, IDC_bishiyali1, m_bishiyali1);
	DDX_Text(pDX, IDC_bishiyali2, m_bishiyali2);
	DDX_Text(pDX, IDC_bishiyali3, m_bishiyali3);
	DDX_Text(pDX, IDC_bishiyali4, m_bishiyali4);
	DDX_Text(pDX, IDC_bishiyali5, m_bishiyali5);
	DDX_Text(pDX, IDC_bishiyali6, m_bishiyali6);
	DDX_Text(pDX, IDC_biqiangyali1, m_biqiangyali1);
	DDX_Text(pDX, IDC_biqiangyali2, m_biqiangyali2);
	DDX_Text(pDX, IDC_biqiangyali3, m_biqiangyali3);
	DDX_Text(pDX, IDC_biqiangyali4, m_biqiangyali4);
	DDX_Text(pDX, IDC_biqiangyali5, m_biqiangyali5);
	DDX_Text(pDX, IDC_biqiangyali6, m_biqiangyali6);
	/*DDX_Text(pDX, IDC_kaidu1, m_kaidu1);
	DDX_Text(pDX, IDC_kaidu2, m_kaidu2);
	DDX_Text(pDX, IDC_kaidu3, m_kaidu3);
	DDX_Text(pDX, IDC_kaidu4, m_kaidu4);
	DDX_Text(pDX, IDC_kaidu5, m_kaidu5);
	DDX_Text(pDX, IDC_kaidu6, m_kaidu6);*/
	DDX_Text(pDX, IDC_bishu1, m_bishu1);
	DDX_Text(pDX, IDC_bishu2, m_bishu2);
	DDX_Text(pDX, IDC_lailiao, m_lailiao);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSimulinkcoolDlg, CDialog)
	//{{AFX_MSG_MAP(CSimulinkcoolDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_CANCELMODE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimulinkcoolDlg message handlers

BOOL CSimulinkcoolDlg::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
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSimulinkcoolDlg::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 CSimulinkcoolDlg::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 CSimulinkcoolDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSimulinkcoolDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here

}

void CSimulinkcoolDlg::OnOK() 
{
	// TODO: Add extra validation here
   cooler *pcooler = new cooler();
   m_siartchart.Reset(1);
   m_siartchart.Reset(0);
   m_siachart2.Reset(0);
   m_siachart3.Reset(0);
   /*m_kaidu1 = pcooler->Ug03;
   m_kaidu2 = pcooler->Ug04;
   m_kaidu3 = pcooler->Ug05;
   m_kaidu4 = pcooler->Ug07;
   m_kaidu5 = pcooler->Ug08;
   m_kaidu6 = pcooler->Ug09;*/
//   UpdateData(0);
   UpdateData(1);
   pcooler->alfa = m_fangrexishu;
   pcooler->gufa = m_huanrehuanrexishu;
   pcooler->qifa = m_qitihuanrexishu;
   pcooler->xishu = m_liaowenxishu;
   /*pcooler->w = m_lailiao;
   pcooler->n1 = m_bishu1;
   pcooler->n2 = m_bishu2;*/
   /*pcooler->Ug03 = m_kaidu1;
   pcooler->Ug04 = m_kaidu2;
   pcooler->Ug05 = m_kaidu3;
   pcooler->Ug07 = m_kaidu4;
   pcooler->Ug08 = m_kaidu5;
   pcooler->Ug09 = m_kaidu6;*/
   for(int i = 0;i<50000;i++)
   {
       pcooler->simulink();
	   if(i%1000==0)
		   int n = 0;
   }
   m_1liaowen = pcooler->Ts1;
   m_2liaowen = pcooler->Ts2;
   m_3liaowen = pcooler->Ts3;
   m_4liaowen = pcooler->Ts4;
   m_5liaowen = pcooler->Ts5;
   m_6liaowen = pcooler->Ts6;
   m_2fengwen = pcooler->Tg01;
   m_3fengwen = pcooler->Tg2;
   m_yufengwen = pcooler->Tg02;
   m_thick = pcooler->sh1;
   m_fangrexishu = pcooler->alfa;
   m_huanrehuanrexishu = pcooler->gufa;
   m_liaowenxishu = pcooler->xishu;
   pcooler->qifa = pcooler->qifa;
   m_siachart2.AddXYPoint(0,1,pcooler->Pg01);
   m_siachart2.AddXYPoint(0,2,pcooler->Pg02);
   m_siachart2.AddXYPoint(0,3,pcooler->Pg03);
   m_siachart2.AddXYPoint(0,4,pcooler->Pg04);
   m_siachart2.AddXYPoint(0,5,pcooler->Pg05);
   m_siachart2.AddXYPoint(0,6,pcooler->Pg06);
   
   m_bishiyali1 = pcooler->Pg01;
   m_bishiyali2 = pcooler->Pg02;
   m_bishiyali3 = pcooler->Pg03;
   m_bishiyali4 = pcooler->Pg04;
   m_bishiyali5 = pcooler->Pg05;
   m_bishiyali6 = pcooler->Pg06;


   m_siachart3.AddXYPoint(0,1,pcooler->Pg13);
   m_siachart3.AddXYPoint(0,2,pcooler->P2);
   m_siachart3.AddXYPoint(0,3,pcooler->P3);
   m_siachart3.AddXYPoint(0,4,pcooler->P4);
   m_siachart3.AddXYPoint(0,5,pcooler->P5);
   m_siachart3.AddXYPoint(0,6,pcooler->P6);
   
   m_biqiangyali1 = pcooler->P1;
   m_biqiangyali2 = pcooler->P2;
   m_biqiangyali3 = pcooler->P3;
   m_biqiangyali4 = pcooler->P4;
   m_biqiangyali5 = pcooler->P5;
   m_biqiangyali6 = pcooler->P6;

   m_siartchart.AddXYPoint(1,1,pcooler->Ts1);
   m_siartchart.AddXYPoint(1,2,pcooler->Ts2);
   m_siartchart.AddXYPoint(1,3,pcooler->Ts3);
   m_siartchart.AddXYPoint(1,4,pcooler->Ts4);
   m_siartchart.AddXYPoint(1,5,pcooler->Ts5);
   m_siartchart.AddXYPoint(1,6,pcooler->Ts6);
   m_siartchart.AddXYPoint(0,1,pcooler->Tg01);
   m_siartchart.AddXYPoint(0,2,pcooler->Tg2);
   m_siartchart.AddXYPoint(0,3,pcooler->Tg3);
   m_siartchart.AddXYPoint(0,6,pcooler->Tg02);
   UpdateData(0);
   delete pcooler;
	//CDialog::OnOK();
}

⌨️ 快捷键说明

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