📄 util.c
字号:
#include "main.h"
#include "inioper.h"
#include "file_config.h"
//#include "type.h"
//#include <math.h>
extern unsigned char cfgfilebuffer[MAX_CFG_BUF];
/****************************************
** 添加5分钟数据
** @param char *rt 时间串
** @param MEASUREDATA *md 数据
****************************************/
void addmindata(char *rt, MEASUREDATA *md)
{
unsigned char fname[10];
unsigned char tmp[8];
unsigned int fh; //数据文件句柄
unsigned int flen ; //文件的长度
unsigned int fpagenum;
unsigned int i;
unsigned int curpos = 0;
unsigned int curlinelen = 0;//当前行长
//1.通过rt组织数据文件名yymmdd.Min
inttoasc(rt[POS_YearL], &tmp[0], 2);
strncpy(&fname[0], &tmp[0], 2);
inttoasc(rt[POS_Month], &tmp[0], 2);
strncpy(&fname[0], &tmp[0], 2);
inttoasc(rt[POS_Date], &tmp[0], 2);
strncpy(&fname[0], &tmp[0], 2);
fname[6] = '.';
fname[7] = 'm';
fname[8] = 'i';
fname[9] = 'n';
//2.打开文件
fh=__fopen((char *)fname, FILE_A);
flen =__get_flen(fh);
if (flen > 0)
fpagenum = (flen / MAX_CFG_BUF) + 1;
else
{
//打开文件错误
fpagenum = 0;
//addexceptionmsg();
//showexception(char *rt, char * buf);
}
//3.通过时间关键字查找 ,参考ConfigGetKey
for (i = 0; i < fpagenum; i++)
{
//__setfpos(fh, lastpos);
//__read(fh, cfgfilebuffer, MAX_CFG_BUF);
//__write(fh,tmp_buf1, 12);
curlinelen = FileGetLine(fh, curpos, cfgfilebuffer, MAX_CFG_BUF);
curpos += curlinelen + 2;
//4.比较日期
//5. ...
}
//....
//关闭文件
__fclose(fh);
}
/*void updatemindata(char *rt, MEASUREDATA *md);
void delmindata(char *rt);
void addhourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据
void updatehourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据
void delhourdata(char *rt);
void adddaydaydata(char *rt, MEASUREDATA *md);
void updatedaydata(char *rt, MEASUREDATA *md);//添加一条日历史数据
void deldaydata(char *rt);
void addlogdata(char *rt, SYS_LOG *syslog);
void updatelogdata(char *rt, SYS_LOG *syslog);//添加一条日志历史数据
void dellogdata(char *rt);
void addalarmdata(char *rt, MEASUREDATA *md); //添加一条报警历史数据
void updatealarmdata(char *rt, MEASUREDATA *md);
void delalarmdata(char *rt);
void addexceptionmsg(char * rt, SYS_LOG *syslog); //加一条异常
void updateexceptionmsg(char *rt, SYS_LOG *syslog);
void delexceptionmsg(char *rt);
void addintervaldata(char * rt, MEASUREDATA_UNIT *_munitd);//加一条间段数据,例如COD
void updateintervaldata(char *rt, MEASUREDATA_UNIT *_munitd);
void delexcintervaldata(char *rt); */
/****************查询相关*****************************/
/* MEASUREDATA * querymindata(char *rt1, char *rt2); //查询某段时间的数据
MEASUREDATA * queryhourdata(char *rt1, char *rt2);
MEASUREDATA * querydaydata(char *rt1, char *rt2);
SYS_LOG * querylogdata(char *rt1, char *rt2);
MEASUREDATA * queryalarmdata(char *rt1, char *rt2);
SYS_LOG * queryexceptionmsg(char *rt1, char *rt2);
MEASUREDATA_UNIT * queryintervaldata(char *rt1, char *rt2);*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -