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

📄 fault.cpp

📁 机械手IPC控制器伺服运动程序
💻 CPP
字号:
// Fault.cpp : implementation file
//

#include "stdafx.h"
#include "alfa.h"
#include "Fault.h"
#include "Main.h"
#include "io.h"
#define DATAGLB_FILE _T("dataglb.bkp")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFault dialog


CFault::CFault(CWnd* pParent /*=NULL*/)
	: CDialog(CFault::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFault)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CFault::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFault)
	DDX_Control(pDX, IDC_LIST1, m_list1);
	DDX_Text(pDX, IDC_EDIT1, m_date_str);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFault, CDialog)
	//{{AFX_MSG_MAP(CFault)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_WM_SHOWWINDOW()
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)

	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFault message handlers

void CFault::OnButton2() 
{
	// TODO: Add your control notification handler code here
	CMain * main=(CMain *)GetParent();
	ShowWindow(FALSE);
	main->dlgsystem->ShowWindow(TRUE);
}

BOOL CFault::OnInitDialog() 
{
	CDialog::OnInitDialog();
	h_SkinDialog.SubClassDialog(m_hWnd);
	// TODO: Add extra initialization here
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CFault::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CDialog::OnShowWindow(bShow, nStatus);
	
	// TODO: Add your message handler code here
	if(bShow==1) {
		CMain * main=(CMain *)GetParent();
		main->dlgcur=this;
		CTime Current=CTime::GetCurrentTime();
        m_date_str.Format("%d/%d/%d",Current.GetYear(),Current.GetMonth(),Current.GetDay());
/*
        AlmLogIndex=1;
        AlmLogTime[0]=6*0x04000000+ 7*0x00400000+ 4*0x00020000+
			         15*0x00001000+16*0x00000040+17;
        AlmLogTime[1]=6*0x04000000+ 7*0x00400000+ 5*0x00020000+
			         15*0x00001000+30*0x00000040+40;
        AlmLogID[0]=3;
        AlmLogID[1]=57;
*/
		ShowLog();
		UpdateData(FALSE);
	}
}

void CFault::OnButton3() 
{
	// TODO: Add your control notification handler code here

	glb.m_num=FileNameSys;
    glb.m_Valid=ModeSys;
    glb.m_MoldCount=MoldCountCur;
    glb.m_MoldTotal=MoldCountSet;
    glb.m_MoldSet=MoldSet;                
    glb.m_MoldStack1=MoldStack1;          
    glb.m_MoldStack2=MoldStack2;          
    glb.m_Reserved1=MoldReserv1;          
    glb.m_Reserved2=MoldReserv2;          
    glb.m_Reserved3=MoldReserv3; 
    AlmLogIndex=-1;	
    glb.m_LogIndex=AlmLogIndex;  
    for(int i=0; i<50; i++) {
//       glb.m_LogTime[i]=AlmLogTime[i];
        AlmLogID[i]=0;
        glb.m_LogID[i]=AlmLogID[i];
    } 
    
	SaveRecords();
    ShowLog();
}

BOOL CFault::CanSerialize()
{
 	return(0==_access(DATAGLB_FILE, 6));
}

void CFault::Serialize(CArchive& ar) 
{
	glb.Serialize(ar);
}

void CFault::SaveRecords()
{
    BOOL bCansave;
    int flag=CFile::typeBinary|CFile::modeWrite;

    if(_access(DATAGLB_FILE, 0)) {
       flag|=CFile::modeCreate;
       bCansave=TRUE;
	}
    else {
        bCansave=CanSerialize();
	}
    if(bCansave) {
        CFile file;
        CFileException fe;
        if(file.Open(DATAGLB_FILE, flag, &fe)) {
	        CArchive ar(&file, CArchive::store);
	        Serialize(ar);
		}
	}
}


void CFault::ShowLog()
{
    char que[100], quesub[30];
    int i, j=m_list1.GetCount();
	unsigned int time, year, month, day, hour, min, sec, AlmID;

    for(i=0; i<j; i++) m_list1.DeleteString(0);
    if(AlmLogIndex==-1) return;
    for(i=0; i<50; i++) {
		if(AlmLogID[AlmLogIndex]>0) {
            AlmID=AlmLogID[AlmLogIndex];
 	        memset(que, 0, 100);
	        memset(quesub, 0, 30);
	        sprintf(que, "  %2d    ", i+1);
            time=AlmLogTime[AlmLogIndex];
            year=time/0x04000000+2000;
			time=AlmLogTime[AlmLogIndex] & 0x03FFFFFF;
			month=time/0x00400000;
			time=AlmLogTime[AlmLogIndex] & 0x003FFFFF;
			day=time/0x00020000;
			time=AlmLogTime[AlmLogIndex] & 0x0001FFFF;
			hour=time/0x00001000;
			time=AlmLogTime[AlmLogIndex] & 0x00000FFF;
			min=time/0x00000040;
			sec=AlmLogTime[AlmLogIndex] & 0x0000003F;
		    sprintf(quesub, "%4d/%2d/%2d    %2d:%2d:%2d     ", 
				                                      year, month, day, hour, min, sec);
			strcat(que, quesub);
			strcat(que, "          ");
	        switch(AlmID) {
		        case  1: strcat(que, "

⌨️ 快捷键说明

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