181上位机VC MFC实现程序操作日志的记录功能
181上位机VC MFC实现程序操作日志的记录功能 功能展示 不管是程序调试还是发布后的使用,一般程序都会设计有程序日志操作记录功能,将程序的运行事件进行记录可以很好的完善程序或分析程序故障,我们当前例程实现了程序日志功能,实现每天用不同日志文件记录操作信息,效果如图; 要点提示 例程在指定目录新建有文件夹,文件夹的有无可以用前面函数用过的函数_access(); 文件夹的创建可以用函数CreateDirectory(); 向文件写入参数内容可以用CStdioFile类的成员函数WriteString();此函数跟一参数,既要写入文件的字符串; 实现功能 1.新建基于对话框的应用程序 2.拖拽一按钮关联函数用于测试程序日志文件的事件写入功能; 3.添加一自定义函数SaveLog(CString sLogText);实现创建日志文件与文件数据的写入功能 - void CGkbc8Dlg::SaveLog(CString sLogText)
- {
- char buf[MAX_PATH];
- GetModuleFileName(NULL,buf,MAX_PATH);
- CString sPath(buf);
- sPath= sPath.Left(sPath.ReverseFind('\\')+1);//路径
- sPath+="工控编程吧";//指定文件夹
- if(_access(sPath,00)==-1)
- CreateDirectory(sPath,NULL);
- //
- CTime T= CTime::GetCurrentTime();
- sPath+='\\';
- sPath+=T.Format("%Y-%B-%d-LOG.txt");//日志文件名
- CStdioFile File(sPath,CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate);
- //
- CString sData = T.Format("%B-%d-%H:%M:%S---");
- sData+=sLogText;
- sData+="\r\n";
- File.SeekToEnd();
- File.WriteString(sData);
- File.Close();
- }
复制代码例程在三处地方调用自定义函数SaveLog(CString sLogText)用于测试功能,既程序初始位置,程序关闭位置,按钮函数位置 - void CGkbc8Dlg::OnDestroy()
- {
- CDialog::OnDestroy();
-
- SaveLog("程序关闭使用");
- }
- BOOL CGkbc8Dlg::OnInitDialog()
- {SaveLog("程序打开使用");
- }
- void CGkbc8Dlg::OnSave()
- {
- SaveLog("输入无效内容,无法保存数据");
- }
复制代码我们来演示下功能实现的整个过程
|