You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.7 KiB

#ifndef SAVERUNTIME_H
#define SAVERUNTIME_H
/**
* :feiyangqingyun(QQ:517216493) 2016-12-16
* 1.
* 2.
* 3.
* 4.
* 5.
*/
#include <QObject>
#include <QDateTime>
class QTimer;
#ifdef quc
class Q_DECL_EXPORT SaveRunTime : public QObject
#else
class SaveRunTime : public QObject
#endif
{
Q_OBJECT
public:
static SaveRunTime *Instance();
explicit SaveRunTime(QObject *parent = 0);
~SaveRunTime();
private:
static QScopedPointer<SaveRunTime> self;
//日志文件路径
QString path;
//日志文件名称
QString name;
//最后的编号
int lastID;
//保存间隔
int saveInterval;
//开始时间
QDateTime startTime;
//日志文件
QString logFile;
//保存文件定时器
QTimer *timerSave;
private:
//比较两个时间差值
void getDiffValue(const QDateTime &startTime, const QDateTime &endTime, int &day, int &hour, int &minute);
public Q_SLOTS:
//启动服务
void start();
//停止服务
void stop();
//新建目录
void newPath();
//初始化日志文件
void initLog();
//追加一条记录到日志文件
void appendLog();
//保存运行时间到日志文件
void saveLog();
//设置文件保存目录
void setPath(const QString &path);
//设置文件名称
void setName(const QString &name);
//设置保存间隔
void setSaveInterval(int saveInterval);
};
#endif // SAVERUNTIME_H