📄 last.cpp
字号:
// Last.cpp: implementation of the CLast class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Jianyang.h"
#include "Last.h"
#include "JianyangView.h"
#include "Math.h"
#include "JianyangView.h"
#include <io.h> //for _access()
#include <time.h>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLast::CLast()
{
/* static CArchive ar = new CArchive;*/
}
CLast::~CLast()
{
}
void CLast::OnSpeeddataSave()
{
fstream WriteFile;
WriteFile.open("Data\\SpeedData.txt", ios_base::in|ios_base::out);
//fileDlg.GetFileName()
//最好是找到SpeedDataHeadSave()函数中指定的文件名称
WriteFile.seekp(0,ios::end);
// if(iExecutedTimes < iOpenGCodeLine + 1)
// {
WriteFile<<"N"<<iExecutedTimes-1<<"\t"
<<setw(12)<<m_dXSpeed<<"\t"
<<setw(12)<<m_dYSpeed<<"\t"
<<setw(12)<<m_dZSpeed<<"\t"
<<setw(12)<<m_dASpeed<<"\t"
<<setw(12)<<m_dBSpeed<<endl;
// }
WriteFile.close();
// AfxMessageBox("void CLast::OnSpeeddataSave() has just been executed successfully!");
}
void CLast::AnalyzeSpeedData()
{
//////////////////////////////////////////////////////////////////////////
//开始想用文本文件来操作,无法解决删除指定行问题,只好改用全局数组来解决
/*
fstream WriteFile;
WriteFile.open("TempData.txt", ios_base::in|ios_base::out);
if(iExecutedTimes == 1)
{
WriteFile<<m_dXSpeed<<endl
<<m_dYSpeed<<endl
<<m_dZSpeed<<endl
<<m_dASpeed<<endl
<<m_dBSpeed<<endl;
}
else if(iExecutedTimes == 2)
{
WriteFile.seekp(0,ios::end);
WriteFile<<m_dXSpeed<<endl
<<m_dYSpeed<<endl
<<m_dZSpeed<<endl
<<m_dASpeed<<endl
<<m_dBSpeed<<endl;
}
else
{
//删除前面5行
WriteFile.seekp(0,ios::end);
WriteFile<<m_dXSpeed<<endl
<<m_dYSpeed<<endl
<<m_dZSpeed<<endl
<<m_dASpeed<<endl
<<m_dBSpeed<<endl;
}
*/
if(iExecutedTimes == 1)
{
dTempData[0] = m_dXSpeed;
dTempData[1] = m_dYSpeed;
dTempData[2] = m_dZSpeed;
dTempData[3] = m_dASpeed;
dTempData[4] = m_dBSpeed;
//system("del Data\\ErrorSpeedData.txt");
if(_access("Data\\ErrorSpeedData.txt",0) != -1)
{
DeleteFile("Data\\ErrorSpeedData.txt");
}
CFile file(_T("Data\\ErrorSpeedData.txt"), CFile::modeCreate | CFile::modeWrite); //去掉_T照样运行完好
CArchive ar(&file, CArchive::Mode::store);
ar.WriteString("\t\t\t\tOzgcc.NC各轴速度异常数据表\r\n");
ar.WriteString("备注:只要有一个轴的前后两个速度值之差的绝对值大于500的代码行\r\n\t\t\t\t\t\t\t");
CTime t;
t = CTime::GetCurrentTime();
CString s = t.Format("%y年%m月%d日 %H时%M分%S秒");
ar.WriteString(s);
ar.WriteString("\r\n行号\t\tX轴\t\tY轴\t\tZ轴\t\tA轴\t\tB轴\r\n");
}
else
{
if(iExecutedTimes == 2)
{
dTempData[5] = m_dXSpeed;
dTempData[6] = m_dYSpeed;
dTempData[7] = m_dZSpeed;
dTempData[8] = m_dASpeed;
dTempData[9] = m_dBSpeed;
}
else
{
dTempData[0] = dTempData[5];
dTempData[1] = dTempData[6];
dTempData[2] = dTempData[7];
dTempData[3] = dTempData[8];
dTempData[4] = dTempData[9];
dTempData[5] = m_dXSpeed;
dTempData[6] = m_dYSpeed;
dTempData[7] = m_dZSpeed;
dTempData[8] = m_dASpeed;
dTempData[9] = m_dBSpeed;
}
if((abs(dTempData[5] - dTempData[0]) >= 500) || (abs(dTempData[6] - dTempData[1]) >= 500) || (abs(dTempData[7] - dTempData[2]) >= 500) ||
(abs(dTempData[8] - dTempData[3]) >= 500) || (abs(dTempData[9] - dTempData[4]) >= 500))
{
fstream WriteFile;
WriteFile.open("Data\\ErrorSpeedData.txt", ios_base::in|ios_base::out);
WriteFile.seekp(0,ios::end);
WriteFile<<"N"<<iExecutedTimes-1<<"\t"
<<setw(12)<<m_dXSpeed<<"\t"
<<setw(12)<<m_dYSpeed<<"\t"
<<setw(12)<<m_dZSpeed<<"\t"
<<setw(12)<<m_dASpeed<<"\t"
<<setw(12)<<m_dBSpeed<<endl;
WriteFile.close();
}
}
// AfxMessageBox("void CLast::DrawSpeedChart() has just been executed successfully!");
}
void CLast::SpeedDataHeadSave()
{
// CFileDialog fileDlg(FALSE);
// fileDlg.m_ofn.lpstrTitle = "Saving SpeedDataHead...";
// fileDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0Word Files(*.doc)\0*.doc\0All Files(*.*)\0*.*\0\0"; //\0*.txt为扩展,每写一个字符都要用\0隔开
// //最后以两个\0结尾
// fileDlg.m_ofn.lpstrDefExt="txt"; //在下面存储文件时,不用用户写入后缀名自动添加txt的后缀名
// if(IDOK == fileDlg.DoModal())
// {
// CFile file(fileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);
// system("del Data\\SpeedData.txt");
if(_access("Data\\SpeedData.txt",0) != -1)
{
DeleteFile("Data\\SpeedData.txt");
}
CFile file(_T("Data\\SpeedData.txt"), CFile::modeCreate | /*CFile::modeNoTruncate |*/ CFile::modeWrite); //去掉_T照样运行完好
CArchive ar(&file, CArchive::Mode::store);
ar.WriteString("\t\t\t\tOzgcc.NC各轴速度数据表\r\n\t\t\t\t\t\t\t");
CTime t;
t = CTime::GetCurrentTime();
CString s = t.Format("%y年%m月%d日 %H时%M分%S秒");
ar.WriteString(s);
//////////////////////////////////////////////////////////////////////////
//输出小时、分钟、秒
// char tbuffer[9];
// _strtime(tbuffer);
// ar.WriteString(tbuffer);
//////////////////////////////////////////////////////////////////////////
ar.WriteString("\r\n行号\t\tX轴\t\tY轴\t\tZ轴\t\tA轴\t\tB轴\r\n");
// }
// AfxMessageBox("void CLast::SpeedDataHeadSave() has just been executed successfully!");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -