C++builder 写入日志功能,调试用!

原创 2012年03月21日 09:53:58
String ExePath;//路径

ExePath=ExtractFilePath(Application->ExeName);//当前目录
ExePath=ExtractFilePath(ExcludeTrailingPathDelimiter(GetCurrentDir()));//EXE程序的上一级目录地址

WriteLog();//使用

.h
void __fastcall WriteLog(String AMsg);

.cpp
//-----------------在可执行程序目录下写入日志文件-------------------------------
void __fastcall WriteLog(String AMsg) {
  static String LogFileName = ExePath+"log\\WebUpdata.log";
  static String LogFile = ExePath+"log";

  	if (!DirectoryExists(LogFile))
	{
		CreateDir(LogFile);//文件夹不存在则创建
	}
  TFileStream *Log;
  try {
    if (!FileExists(LogFileName)) {
	  Log = new TFileStream(LogFileName, fmCreate);
    }
    else {
      Log = new TFileStream(LogFileName, fmOpenWrite);
    }
  }
  catch (...) {
    return;
  }
  Log->Seek(0, soFromEnd);
  AMsg = AMsg+"---->"+Now()+"\r\n";
  Log->Write(AMsg.c_str(), AMsg.Length());
  delete Log;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++ Builder调试技术

C++ Builder调试技术 在软件开发过程中,调试是一个重要的环节,调试技能也是开发人员所必须掌握的重要技能。现在的开发工具,如C++ Builder,通常都提供了强大的调试器。一个好的调试器,加...

c++builder读取系统时间Now函数

sprintf(pLog,"%s",DateTimeToStr(Now()).c_str());

c++builder字符串使用

AnsiString temp = "Update Image process:1%"; AnsiString temp2 = temp.SubString(22,4); ...

C#中DBNull.Value和Null的用法和区别

 DBNull.Value,, 是适用于向数据库的表中插入空值。而 null,是指在程序中表示空引用。 或者对象为空。就是没有实例化。 row[column]的值为DBNull.Va...

利用C++Builder 中OLE自动化功能实现调用Word进行报表制作

利用C++Builder 中OLE自动化功能实现调用Word进行报表制作 一、概述   在我们利用C++Builder进行报表设计和打印处理时,我们往往是用C++Builder自己所提供的QRep...

RAD Studio, Delphi and C++Builder 10.1 Berlin 新版本功能介绍 - 首场在线教学

RAD Studio, Delphi and C++Builder 10.1 Berlin 新版本功能介绍 - 首场在线教学 Introducing RAD Studio, Delphi and C+...

C++Builder中实现控件数组的功能

  • 2014年09月09日 03:02
  • 33KB
  • 下载

创建SQL数据库并与C++Builder连接

创建数据库并与C++Builder连接的过程分为三个步骤。一是建立数据库表,二是建立ODBC数据源,三是数据库与C++Builder连接。 一. 创建数据库表      使用工具是SQL ...
  • CYT0603
  • CYT0603
  • 2016年06月13日 18:57
  • 1548

C++Builder 串口通信调试

  • 2013年04月03日 16:47
  • 1.05MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++builder 写入日志功能,调试用!
举报原因:
原因补充:

(最多只允许输入30个字)