简单的记事本日志类
来源:互联网 发布:免费小说阅读软件 编辑:程序博客网 时间:2024/05/06 14:24
一个简单的记事本功能类,可以用来记录日志,有时想看看线程中的数据,可以用日志文件来解决。
#ifndef __filelog__#define __filelog__#include <sysutils.hpp>typedef int fHandle;class filelog{ private: fHandle FileHandle; //文件句柄 AnsiString m_fileName; bool isTimeChange(); public: void OpenFile(AnsiString filename); //打开文件 void WriteFile(AnsiString str); //文件尾部添加内容 AnsiString ReadFile(int pos,int rlen);//位置,长度 void CloseFile();};void filelog::OpenFile(AnsiString fileName){ m_fileName = fileName; if(!FileExists(fileName)) { FileHandle = FileCreate(fileName); FileClose(FileHandle); } FileHandle = FileOpen(fileName,fmOpenWrite|fmShareDenyNone);}void filelog::WriteFile(AnsiString str){ if(isTimeChange()) { CloseFile(); AnsiString file = Date().DateString()+".txt"; OpenFile(file); } char buf[1024]={0}; strcpy(buf,str.c_str()); int l = strlen(buf); //内容长度 buf[l] = '\r'; //加上换行符 buf[l+1] = '\n'; if(FileHandle) { int flen =FileSeek(FileHandle,0,2);//移动文件尾,换取文件长度 int a = strlen(buf); FileSeek(FileHandle,flen,0);//重新设置文件指针移动方向 FileWrite(FileHandle,buf,strlen(buf)); }}AnsiString filelog::ReadFile(int pos,int flen){ char buf[1024]={0}; if(FileHandle) { FileSeek(FileHandle,pos,0); int readCount = FileRead(FileHandle,buf,flen); return buf; }}void filelog::CloseFile(){ FileClose(FileHandle);}bool filelog::isTimeChange(){ AnsiString l_a = Date().DateString()+".txt"; bool l_c = l_a == m_fileName ?false:true; return l_c;}#endif以日期作为文件名,每天产生一个新的文件。调用如下:
filelog a;void __fastcall TForm1::Button6Click(TObject *Sender){ TDate a1 = Date(); AnsiString file = a1.DateString()+".txt"; a.OpenFile(file);}//---------------------------------------------------------------------------void __fastcall TForm1::Button7Click(TObject *Sender){ a.WriteFile(Now());}
0 0
- 简单的记事本日志类
- 一个简单的记事本
- 简单的记事本
- 简单的Java记事本
- 一个简单的记事本
- 一个简单的记事本
- java简单的记事本
- 简单的记事本
- 简单的记事本程序
- Android 简单的记事本
- 记事本(NotePad)的日志功能
- C#编写简单的记事本
- 记事本的一些简单操作
- 【swing】简单记事本的开发
- 简单的安卓记事本
- 日志 - window下记事本的换行符
- 简单的日志类
- 简单记事本
- linux下的~/
- win7 64位安装mysql
- 黑马程序员——Java概述
- Logger.getLogger与LogFactory.getLog 区别
- 路由追踪器
- 简单的记事本日志类
- Android ListView实现下拉刷新、加载更多
- Android 测试工具------ monkeyrunner工具
- Unity将来时:IL2CPP是什么?
- 强大的响应式jQuery消息通知框和信息提示框插件
- 一次心惊肉跳的服务器误删文件的恢复过程
- php B KB MB TB
- 期权交易自由之路
- 快捷键