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

📄 last.cpp

📁 在VC 6.0平台下
💻 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 + -