📄 systemparam.cpp
字号:
// SystemParam.cpp : implementation file
//
#include "stdafx.h"
#include "alfa.h"
#include "SystemParam.h"
#include "Main.h"
#include "io.h"
#define SYSTEM_FILE _T("system.bkp")
#define DATAGLB_FILE _T("dataglb.bkp")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSystemParam dialog
CSystemParam::CSystemParam(CWnd* pParent /*=NULL*/)
: CDialog(CSystemParam::IDD, pParent)
{
//{{AFX_DATA_INIT(CSystemParam)
m_edt1 = 0;
m_edt10 = _T("");
m_edt2 = _T("");
m_edt6 = 0.0;
m_edt7 = 0.0;
m_edt8 = 0.0;
m_edt9 = _T("");
//}}AFX_DATA_INIT
flagShow=0;
minpos_mx=0.0;
maxpos_mx=0.0;
minpos_mz=0.0;
maxpos_mz=0.0;
minpos_y=0.0;
maxpos_y=0.0;
minpos_sx=0.0;
maxpos_sx=0.0;
minpos_sz=0.0;
maxpos_sz=0.0;
}
void CSystemParam::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSystemParam)
DDX_Control(pDX, IDC_EDIT8, m_edit8);
DDX_Control(pDX, IDC_EDIT9, m_edit9);
DDX_Control(pDX, IDC_EDIT7, m_edit7);
DDX_Control(pDX, IDC_EDIT6, m_edit6);
DDX_Control(pDX, IDC_EDIT2, m_edit2);
DDX_Control(pDX, IDC_EDIT10, m_edit10);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Text(pDX, IDC_EDIT1, m_edt1);
DDX_Text(pDX, IDC_EDIT10, m_edt10);
DDX_Text(pDX, IDC_EDIT2, m_edt2);
DDX_Text(pDX, IDC_EDIT6, m_edt6);
DDX_Text(pDX, IDC_EDIT7, m_edt7);
DDX_Text(pDX, IDC_EDIT8, m_edt8);
DDX_Text(pDX, IDC_EDIT9, m_edt9);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSystemParam, CDialog)
//{{AFX_MSG_MAP(CSystemParam)
ON_WM_SHOWWINDOW()
ON_BN_CLICKED(IDC_BUTTON1, OnBtnExit)
ON_BN_CLICKED(IDC_BUTTON2, OnBtnSave)
ON_BN_CLICKED(IDC_BUTTON6, OnBtnPos)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSystemParam message handlers
BOOL CSystemParam::CanSerialize()
{
// return(0==_access(SYSTEM_FILE,10));
if(FileDataType==1) return(0==_access(DATAGLB_FILE, 6));
else return(0==_access(SYSTEM_FILE, 6));
}
void CSystemParam::LoadRecords()
{
CFile file;
CFileException fe;
if(FileDataType==1) {
if(file.Open(DATAGLB_FILE,CFile::typeBinary|CFile::modeRead, &fe)) {
CArchive ar(&file,CArchive::load);
Serialize(ar);
}
}
else {
if(file.Open(SYSTEM_FILE,CFile::typeBinary|CFile::modeRead, &fe)) {
CArchive ar(&file,CArchive::load);
Serialize(ar);
}
}
}
void CSystemParam::Serialize(CArchive& ar)
{
if(FileDataType==1) glb.Serialize(ar);
else si.Serialize(ar);
}
void CSystemParam::SaveRecords()
{
BOOL bCansave;
int flag=CFile::typeBinary|CFile::modeWrite;
if(FileDataType==1) {
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);
}
}
}
else {
if(_access(SYSTEM_FILE, 0)) {
flag|=CFile::modeCreate;
bCansave=TRUE;
}
else {
bCansave=CanSerialize();
}
if(bCansave) {
CFile file;
CFileException fe;
if(file.Open(SYSTEM_FILE, flag, &fe)) {
CArchive ar(&file, CArchive::store);
Serialize(ar);
}
}
}
}
BOOL CSystemParam::OnInitDialog()
{
CDialog::OnInitDialog();
h_SkinDialog.SubClassDialog(m_hWnd);
// TODO: Add extra initialization here
FileDataType=0;
if(CanSerialize())
{
LoadRecords();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSystemParam::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
CString Temp_str;
// TODO: Add your message handler code here
if(bShow==1) {
CMain * main=(CMain *)GetParent();
main->dlgcur=this;
if(flagShow==1) {
flagShow=0;
return;
}
if(CanSerialize()) {
LoadRecords();
// m_edt1=si.run_count;
m_edt1=MoldCountSet;
m_edt2=si.produce_date;
m_edt6=si.safepos_z;
m_edt7=si.getsafe_y;
m_edt8=si.putsafe_y;
m_edt9=si.pwd_syspara;
m_edt10=si.pwd_exitsys;
UpdateData(FALSE);
Temp_str.Format("%6.2f", m_edt6);
GetDlgItem(IDC_EDIT6)->SetWindowText(Temp_str);
Temp_str.Format("%6.2f", m_edt7);
GetDlgItem(IDC_EDIT7)->SetWindowText(Temp_str);
Temp_str.Format("%6.2f", m_edt8);
GetDlgItem(IDC_EDIT8)->SetWindowText(Temp_str);
// main->m_num=si.m_num;
minpos_mx=si.minpos_mx ;
maxpos_mx=si.maxpos_mx;
minpos_mz=si.minpos_mz;
maxpos_mz=si.maxpos_mz;
minpos_y=si.minpos_y;
maxpos_y=si.maxpos_y;
minpos_sx=si.minpos_sx;
maxpos_sx=si.maxpos_sx;
minpos_sz=si.minpos_sz;
maxpos_sz=si.maxpos_sz;
}
}
}
void CSystemParam::OnBtnExit()
{
// TODO: Add your control notification handler code here
ShowWindow(FALSE);
CMain * main=(CMain *)GetParent();
main->dlgsystem->ShowWindow(TRUE);
}
void CSystemParam::OnBtnSave()
{
// TODO: Add your control notification handler code here
UpdateData();
CMain * main=(CMain *)GetParent();
si.run_count=m_edt1;
MoldCountSet=m_edt1;
si.produce_date=m_edt2;
si.safepos_z=m_edt6;
si.getsafe_y=m_edt7;
si.putsafe_y=m_edt8;
si.pwd_syspara=m_edt9;
si.pwd_exitsys=m_edt10;
si.minpos_mx=minpos_mx;
si.maxpos_mx=maxpos_mx;
si.minpos_mz=minpos_mz;
si.maxpos_mz=maxpos_mz;
si.minpos_y=minpos_y;
si.maxpos_y=maxpos_y;
si.minpos_sx=minpos_sx;
si.maxpos_sx=maxpos_sx;
si.minpos_sz=minpos_sz;
si.maxpos_sz=maxpos_sz;
// si.m_num="";
si.m_num=main->m_num;
msafepos=si.safepos_z; // Z Pos.
mytsafepos=si.getsafe_y; // Y Take Pos.
mypsafepos=si.putsafe_y; // Y Put Pos.
// AcrossZH=msafepos-20.0; // Across Z Height
if(si.minpos_sz>=si.safepos_z) AcrossZH=msafepos-50.0;
else AcrossZH=si.minpos_sz;
NG_XPos=si.minpos_mx;
NG_ZPos=si.minpos_mz;
NG_YPos=si.maxpos_mx;
QC_XPos=si.maxpos_mz;
QC_ZPos=si.minpos_y;
QC_YPos=si.maxpos_y;
QC_MoldSet=(int)si.minpos_sx;
Side_Wait_Timer=si.maxpos_sz;
Vac_Chk_Timer=si.maxpos_sx;
MakerDate=si.produce_date;
FileDataType=0;
SaveRecords();
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;
glb.m_LogIndex=AlmLogIndex;
for(int i=0; i<50; i++) {
glb.m_LogTime[i]=AlmLogTime[i];
glb.m_LogID[i]=AlmLogID[i];
}
FileDataType=1;
SaveRecords();
FileDataType=0;
AfxMessageBox("癘拘Θ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -