⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scheme.h

📁 国家ASIC工程中心使用的嵌入式操作系统
💻 H
字号:
#ifndef	_ASIX_SCHEME_H
#define	_ASIX_SCHEME_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <asixdef.h>
#include <sys\ppsmtype.h>
#include <sys\systmr.h>
#include <database\schemedb.h>


#include <ppsm.h>	//1
#include <asixwin.h>
#include <asixapp.h>

#include <asixwin\asix_mn.h>
#include <asixwin\asix_lb.h>
#include <asixwin\asix_sb.h>
#include <asixwin\asix_ed.h>
#include <asixwin\select.h>
#include <asixwin\alarm_q.h>
#include <asixwin\disp.h>

#include <resource\bitmap.h>

#include <..\app\include\const.h>
#include <..\app\include\cdtime.h>

//字段
#define SCHEME_TIME				0	// 时间字段
#define SCHEME_NAME				1	// 名称字段
#define SCHEME_ALARM_TYPE		2	// 提醒方式(不提醒、开闹铃或提示窗)
#define	SCHEME_TYPE				3	// 到期标志
#define SCHEME_ALARM_MODE		4	// 定期提醒模式(按月或按年等)
#define SCHEME_CONTENT			5	// 内容字段
#define SCHEME_REPEAT_NUM		6	// 定期提醒次数字段

#define SCHEME_FIELD_NUM		7	// 字段数目

#define		UNACTIVE			0
#define		SINGLEACTIVE		1
#define		DOUBLEACTIVE		2

#define		EOD					0xFFFF

//alarm type
#define		DO_NOT_ALARM		'0'
#define		RING_ALARM			'1'
#define		WINDOW_ALARM		'2'

//alarm mode
//#define		ALL_ROUTINE_ALARM	0
#define		BY_HOUR				'0'
#define		BY_DAY				'1'
#define		BY_WEEK				'2'
#define		BY_MONTH			'3'
#define		BY_YEAR				'4'

#define		BY_HALF_HOUR		5
#define		BY_QUARTER 			6
#define		BY_FIVE_MINUTE		7

//search mode
#define		BY_TIME				0
#define     BY_NAME				1

//显示的类别(到期、未到期或全部的提醒)
#define SCHEME_MATURITY			'0'	// 到期
#define SCHEME_NO_MATURITY		'1'	// 未到期
#define SCHEME_ALL				'2'	// 全部

//时间查找范围
#define SCHEME_DAY_RANGE		"0"	// 一天内
#define SCHEME_WEEK_RANGE		"1"	// 一周内
#define SCHEME_MONTH_RANGE		"2"	// 一月内
#define	SCHEME_YEAR_RANGE		"3"	// 一年内

//返回值
#define		SCHEME_ERROR		0
#define		SCHEME_OK			1
#define		SCHEME_DEL			2	//记录已删除		
#define		SCHEME_MATU			3 	//此记录已到期或已被删除


#define		SCHEME_DISP_NUM		7				//主页面可显示提醒底数目	
#define		MAX_SCHEME_NUM		50
#define		MAX_EMPTY_PERCENT	5
#define		MAX_INPUT_SCHEME	MAX_SCHEME_NUM	//当天可容纳底最多提醒
#define		KEYSTRING_LEN		20	

#define		SCHEME_TIME_LEN					15	//时间字符串长度
#define		SCHEME_NAME_LEN					13	//可显示名称长度
#define		SCHEME_ALARM_TYPE_LEN			2	//提醒方式(不提醒、开闹铃或提示窗)字符串长度
#define		SCHEME_TYPE_LEN					2	//到期标志字符串长度
#define		SCHEME_ALARM_MODE_LEN			2	//定期提醒模式(按月或按年等)的字符串长度
#define		SCHEME_CONTENT_LEN				61	//提醒内容的最大长度
#define		SCHEME_ALARM_REPEAT_NUM_LEN		5	//提醒次数的长度

#define		SCHEME_DISP_TIME_LEN			17	//可显示时间的长度
//#define	SCHEME_DATE_LEN					9	//日期长度

//使用定时器的类别
#define		ADD_TIMER		0	//增加定时器
#define		DEL_TIMER		1	//删除定时器		
#define		MODIFY_TIMER	2	//修改定时器		

//下拉框列表
extern	struct LBOX_ITEM	list_alarm[4];	//提醒方式(不提醒、开闹铃或提示窗)
extern	struct LBOX_ITEM	list_period[6];	//定期提醒模式(按月或按年等)
extern	struct LBOX_ITEM	list_year[16];
extern	struct LBOX_ITEM	list_month[13];
extern	struct LBOX_ITEM	list_day[32];
extern	struct LBOX_ITEM	list_hour[25];
extern	struct LBOX_ITEM	list_minute[61];

//全局变量
extern	LOCALSEARCHLIST		*global_scheme_list;//当前列表
//extern	DBLACB				*schemelacb;		//定义一个数据库控制块的变量


/*** data layer ***/
typedef struct scheme_stru{
	/*前5个作为索引字段*/
	char					*time;						//提醒时间
	char					*name;						//行程名字
	char					*alarm_type;				//提醒方式(不提醒、开闹铃或提示窗)
	char					*type;						//到期标志
	char					*alarm_mode;				//定期提醒模式(按月或按年等)
	char					*content;					//内容
	char					*alarm_repeat_num;			//定期提醒次数
}SCHEME_STRU;	

//时间结构
typedef struct
{
	U32	year;
	U16	month;
	U16	day;
	U16	hour;
	U16	minute;
	U16	second;
}TIME_STRU;

//查找结构
typedef	struct{
	char    *keystring;	//查找关键字
	char	*type;		//显示到期、未到期或全部的提醒
	U8		field;		//搜索字段
	U8      mode;		//查找模式
}SCHEME_SEARCH_STRU;

//应有程序存放字段值的结构
typedef struct 
{
	BYTE	*fieldvalue;	//字段值(单值)	
	WORD	headoffset;		//字段头的偏移
}FIELDLIST;

/*del by DSA 2004.07.01*/
//此函数在emldb.c中定义
//extern	void FreeDBList( LOCALSEARCHLIST **DB_list, U16 *num );
/*end del*/

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -