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

📄 c51.h.svn-base

📁 keilC底层软件,能够结合硬件产生加解密密文,具有安全保护功能.
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
	uchar	lineinter;		//行间隔
	uchar	firstline;		//首行所在的行数
	uchar	currline;		  //当前光标所在的行数 31 num=30
	uchar	alllistnums;	//列表框实际的项目条数( <=16 )
	mlist	plist[8];		  //按照最大 8项设置//33 32+15+15
}selectbox;



typedef	struct
{
	uchar Flag;				        //有效标志 0x55有效
	uchar Name[NameLen];			//姓名 8 字节
	uchar Phone_Code[PhoneCodeLen];	//电话号码 8 字节
}Name_PhoneCode;

typedef	struct
{
	uchar PropertiesLen;
	uchar Type;				
	uchar IndexNum;				  //公共属性
	uchar EnableLock;
	
	uchar StartOfNumber;	  //当前页要开始显示电话号码在数据库中的位置
	uchar NowFocus;				  //当前光标位置
	
	uchar LineInterval;			//行显示间隔
	uchar CharInterval;			//字符显示间隔
	
	uchar DisplayLineAdd;		//开始显示行位置
	uchar DisplayCommAdd;		//开始显示列位置
	
	Name_PhoneCode Name_Phone[8];
                          //电话号码缓冲区 第1字节是有效标志位,后8字节是姓名,再8字节是电话号码,共17 bytes,最后一字节保留
                          //17*8=136+6=142
	uchar BackPersonID;			//返回选中的人员代号
	uchar ReverseByte1;			//保留字节1
	uchar ReverseByte2;			//保留字节2
	uchar ReverseByte3;			//保留字节3
	uchar ReverseByte4;			//保留字节4
	uchar ReverseByte5;			//保留字节5
}PhoneBook;


typedef	struct
{
	uchar	properties_len;
	uchar	type;
	uchar	index_num;
	uchar	enable_lock;

	uchar	bar_left;
	uchar	bar_top;
	uchar	bar_bottom;

	uchar	firstline;
	uchar	windowline;
	uchar	allline;
}rollbar;


//struct type T9 option 1 4+42=46
typedef struct
{
	uchar vsarposition;										//visual area position
	uchar hiltposition;										//high light position
	uchar unitlength;										//length of single pinyin unit
	uchar unitnumber;										//number of unit option
	uchar pyoption[30];										//pinyin option
	uchar vldaddress[12];									//valuable address of table03
										//restore the relative address in t9table02
} StrcTyT9Option1;

//struct type T9 option 2    14
typedef struct{
	uchar vsarposition;										//visual area position
	uchar hiltposition;										//high light position
	uchar charoption[12];									//characte option
} StrcTyT9Option2;

//struct type T9 result      41
typedef struct
{
	uchar vsarposition;										//visual area position
	uchar csrposition;										//cursor position
	uchar csrenable;									  	//cursor enable
	uchar utime[3];											  //user time
	uchar ipbinlength;										//input bin length
	uchar ipcrtchar[2];										//input current character
	uchar ipresult[32];										//input result
} StrcTyT9Result;

//struct type T9
typedef struct      //101
{
	uchar clength;											//total length
	uchar ctype;
	uchar cindex;
	uchar cset;

	uchar pstx;												//position...x
	uchar psty;												//position...y
	uchar inputstatus;								//input status

	uchar styleenable;								//style enable
	uchar charstyle;   								//character style
	uchar crtfocus;   								//current focus

	uchar reserve1;
	uchar reserve2;
	uchar reserve3;

	uchar originkey[6];										//original key code 19+46+14+9=88
	StrcTyT9Option1 stvloption1;							//struct value option 1
	StrcTyT9Option2 stvloption2;							//struct value option 2
	StrcTyT9Result stvlresult;								//struct value result
	uchar reserve[31];										//reserve
} StrcTyT9;


typedef struct
{
	uchar AcctDispLength;			//账号显示长度
	uchar AccountNum[AccountLength];	//账号信息
}Account;

typedef struct
{
	uchar PropertiesLen;
	uchar Type;
	uchar IndexNum;			//公共属性
	uchar EnableLock;
	uchar PersonIndex;		//人员编号
	uchar PopDownX1;		//下拉框左上角坐标(X1,Y1)
	uchar PopDownY1;
	uchar PopDownX2;		//下拉框左上角坐标(X2,Y2)
	uchar PopDownY2;
	uchar ListBoxX1;		//列表框左上角坐标(X1,Y1)
	uchar ListBoxY1;
	uchar ListBoxX2;
	uchar ListBoxY2;		//列表框右下角坐标(X2,Y2)
	uchar LineInterval;		//显示行间隔
	uchar StartOfNumber;	//当前页要开始显示的账号在FLASh内的位置
	uchar NowFocus;			//当前光标位置
	uchar PopUpFlag;		//下拉菜单弹出标志,1:弹出,0:不弹出
	uchar PopDispFlag;		//下拉菜单显示标志,1:显示,0:不显示
	uchar BackAccountID;	//返回账号的第几位开始显示
	uchar DecollatorWidth;	//分割符插入位置,0xff 不用分割符(保留)
	uchar AccDispLength;	//账号显示长度(保留)
	uchar AccountDispMode;	//0x01 过滤账号右边的0,0x00不过滤
	uchar SearchMode;		//查询模式LSB(0:普通查询模式,不显示‘X’,1:按人员查询模式,显示‘X’)
	uchar ReadFlag;			//最后一个字节做账号标志读取标志(0:未读取,1:已读取)
	Account AccountTab[8];	//账号信息内容 17*8=136+24=160
	uchar AccountFlag[AccontNumber];	//账号有效标志(0x55有效),最后一个字节做账号标志读取标志(0:未读取,1:已读取)21
}AccountStr;



typedef	struct
{
	uchar	properties_len;
	uchar	type;
	uchar	index_num;
	uchar	enable_lock;
	uchar	state;					  //控件内部小数点标记,初始化为0
	uchar	box_left;				  //left  
	uchar	box_top;				  //top
	uchar	box_right;				//right
	uchar	box_bottom;				//bottom
	uchar	chr_disp_mode;		//显示模式
	uchar	focus_flag;				//0--get focus;1--miss focus
	uchar	chr_type;				  //字符串类型//Date_Type1//Money_Type2//Char_Type3//Chinese_Type4//Data_Type5//Time_Type6//Digital_Type7//Pwd_Type8	
	uchar	chr_dir;          //输入方向 00--左到右,01--右到左 
	uchar	no_money_flag;		//00--无金额,01--有金额
	uchar	cursor_position;  //光标位置--在第几个字符处(包括显示的 和没显示的)
	uchar	now_chr_num;			//当前共输入几个字符
	uchar	disp_chr_No;			//当前从第几字符开始显示
	uchar	cur_flash_flag;		//00--有光标,01--无光标
	uchar	length_flex;			//0--定长,1--变长
	uchar	password_char;		//password char
	uchar	reserve1;				  //保留 
	uchar	reserve2;				  //保留 
	uchar	chr_len;				  //字符长度 23
	uchar	chr[30];				  //可显示字符24 
	uchar	chr_value[30];	  //转换后字符 all 83
}textbox;

//按人员查询结构定义
typedef struct
{
	uchar SerialNum;
	uchar Name[NameLen];
}Person;
typedef struct
{
	Person PersonTable[PersonTotalNum];	//人员序号及人员姓名
}PersonList;
typedef struct
{
	uchar PropertiesLen;			
	uchar Type;				
	uchar IndexNum;			//公共属性
	uchar EnableLock;			
	uchar PersonType;		//人员类型(0:签发员,1:审核员,2:授权员 4授权员不查权限 所有)
	uchar AcctIndex;		//审核或授权的账号索引号
	uchar PopDownX1;		//下拉框左上角坐标(X1,Y1)
	uchar PopDownY1;
	uchar PopDownX2;
	uchar PopDownY2;		//下拉框左上角坐标(X2,Y2)
	uchar ListBoxX1;		//列表框左上角坐标(X1,Y1)
	uchar ListBoxY1;
	uchar ListBoxX2;
	uchar ListBoxY2;		//列表框右下角坐标(X2,Y2)
	uchar LineInterval;		//显示行间隔
	uchar StartOfNumber;	//当前页要开始显示的账号在FLASh内的位置
	uchar NowFocus;			//当前光标位置
	uchar PopUpFlag;		//下拉列表框弹出标志,1:弹出,0:不弹出
	uchar PopDispFlag;		//下拉菜单显示标志,1:显示,0:不显示
	uchar BackPerson;		//返回的人员编号 20 num19
	uchar DecollatorWidth;	//分割符插入位置,0xff 不用分割符(保留)
	uchar AccDispLength;	//账号显示长度(保留)
	uchar AccountDispMode;	//0x01 过滤账号右边的0,0x00不过滤
	uchar MoneyLimit[PersonTotalNum][8];	//金额上限
}PersonSel;


//历史纪录结构
typedef	struct
{
	uchar	sign;			//标志
	uchar	accounts[16];	//帐号
	uchar	number[4];		//凭证号
	uchar	kind;			//业务种类
	uchar	time[4];		//日期
	uchar	money[8];		//金额
	uchar	qianfanum;		//签发人代码
	uchar	qianfaname[10];	//签发人姓名
	uchar	shenhenum;		//审核人代码
	uchar	shenhename[10];	//审核人姓名
	uchar	shouquannum;	//授权人代码
	uchar	shouquanname[10];	//授权人姓名
	uchar	mima[10];		//支付密码
	uchar	havemoney;		//有无金额
	uchar	accnum;			//当前帐号代码
	uchar	checksum;		//校验值
}history;

typedef	struct
{
	uchar	enablehide;		//=0xfd 灰色无效  =0xff 使能
	uchar	text[4];		//列表框中文本每行 8 个数字(凭证号码定长为8)
	uint	label;			//每行标号
	uint	offset;			//该条记录在总的历史纪录中的条数偏移
	uchar	sign;			//------- 批量记录标志(0x00,0x55,0x57,0x5f,0xff) ----------
}mpzhm;            //all 10

//历史记录 "查询条件" 结构
typedef	struct
{
	uchar	properties_len;
	uchar	type;
	uchar	index_num;
	uchar	enable_lock;
	uchar	box_left;
	uchar	box_top;
	uchar	box_right;
	uchar	box_bottom;		//列表框外框大小(不包括右边画的三角形部分)
	uchar	dispmode;		//列表框显示模式
	uchar	firstlable_x;	//列表框标号X坐标
	uchar	firsttext_x;	//列表框文本X坐标
	uchar	first_y;		//列表框文本Y坐标
	uchar	lineinter;		//行间隔
	uchar	firstline;		//首行所在的行数(均指经过筛选后符合条件的记录)
	uchar	currline;		//当前光标所在的行数(均指经过筛选后符合条件的记录)
	uchar	maxdspline;		//控件中允许显示的行数(均指经过筛选后符合条件的记录) 16
	mpzhm	ppzhm[6];		//读取的历史纪录窗口设置为 6 条  all60

	uchar	mode;			//查询方式 77
	uchar	condition[16];	//查询条件按照最大计算(帐号为最大=16字节) 93
	uint	records;		//该种查询方式查到的记录数95
						//------------ 以下属性仅对批量记录查询有效 ----------------
	uchar	listvalid;		//=1列表框为弹出状态有效   =0列表框为收起状态无效
	uchar	kind;			//kind=0 签发人->批量凭证;  kind=1 待审核批量凭证;  kind=2 待授权批量凭证
	uchar	sel_left;
	uchar	sel_top;
	uchar sel_right;
	uchar	sel_bottom;		//选择框外框尺寸(该尺寸可确定控件窗口显示行数)
	uchar	selmode;		//选择框显示模式102
	uint	bmp_ok;
	uint	bmp_no;
	uint	bmp_doubt;
	uint	bmp_blank;
	uchar	temp;//111

}findhistory;
//mode=0:签发顺序	condition[0]-condition[15] 全填 0x0 或 0xff 不用;
//mode=1:帐号  		condition[0]-condition[15] 填充帐号号码;
//mode=2:业务种类	condition[0] 填业务种类(=0 为支票,=1 为银行本票,=2 为银行汇票申请书);
//mode=3:凭证号码	condition[0]-condition[3] 为凭证号码极小值;condition[4]-condition[7]为凭证号码极大值;
//mode=4:签发日期	condition[0]-condition[3] 为日期极小值;condition[4]-condition[7]为日期极大值;
//mode=5:金额数据	condition[0]-condition[7] 为金额极小值;condition[8]-condition[15]为金额极大值;
//mode=6:批量记录	condition[0] 批量记录标志
//万年历控件

typedef	struct	
{
	uchar	properties_len;
	uchar	type;
	uchar	index_num;
	uchar	enable_lock;
	uchar	status;      //0--no input ,1--input date,2--input time,
	uchar	SelectNum;
	uchar	reserve2;
	uchar	Date_Time[12];
	uchar	reserve3[18];//37
	textbox	date_input;//83  
	textbox time_input;//83 166+37=203 -7=196
}calendar;

typedef	struct
{
	uchar	opator;
	uchar	intnum;
	uchar 	decnum;
	uchar	caltext[17];	//16位小数+1位小数点
}dspbuffline;

typedef	struct
{
	uchar	properties_len;
	uchar	type;
	uchar	index_num;
	uchar	enable_lock;
	uchar	box_left;       //2,20,126,125
	uchar	box_top;
	uchar	box_right;
	uchar	box_bottom;
	uchar	lastoper_x;			//窗口中末行操作符X坐标 3,12
	uchar	lasttext_x;			//窗口中末行文本X坐标
	uchar	last_dy;			  //窗口中末行文本下边Y坐标 111
	uchar	dispmode;       //3,1,14
	uchar	temp0;			    //当前窗口中首行在缓冲空间中的序号(暂时不用)1 
	uchar	lineinter;			//行间隔14
	uchar	winactlines;		//当前窗口实际显示的行数 0
	uchar	windowlines;		//当前窗口可以显示的行数(初始值为0,由外框坐标计算后写入)
	uchar	p_lastline;			//滑动窗口的末行在显缓的位置(当未超出一屏时,该值等于buffpointer,当超出一屏时,该值小于等于buffpointer)0
	uchar	buffpointer;		//缓冲空间指针(从壹开始 当buffpointer=bufflines时指向末条)相当于总的显缓行数0
	uchar	bufflines;			//总的缓冲行数空间(从壹开始 暂定50条)
	uchar	lastopator;     //上次运算符保存
	uchar	flag_updn;          //=0 上翻看;   =1 下翻看
	uchar	temp3;				  //保留字0
	uchar	opator;				  //运算符保存0
	uchar	opats;				  //操作数累加器0
	uchar	f_result;			  //计算结果清除标志(=1结果仍在,=0结果已清除) 初始值=0
	textbox	optext;				//单行文本输入框结构 83
}calcu;

typedef	struct
{
	uchar	d1num;				//数字串 d1 的小数位数
	uchar	bcdd1buf[16];		//数字串 d1
	uchar	d2num;				//数字串 d2 的小数位数
	uchar	bcdd2buf[16];		//数字串 d2
	uchar	d3num;				//结果   d3 的小数位数
	uchar	bcdd3buf[16];		//结果数字串 d3
	uchar	arithflag;			//符号标志
	uchar	maxnum[16];			//最大值 BCD 码 (9999999999999999.0000000000000000)
	uchar	tempuse[2];			//零时转换区域
}asmcalcu;

typedef struct{					//1 + 20 + 3 + 1 + 63 + 25 + ......
	uchar symbol;

	uchar cpsn[20];
	uchar coarsesync[3];									//coarse synchro
	uchar verify;											//verify value

	uchar finesync[63];										//fine synchro[504 / 8]
	uchar finesyncrs[25];									//fine synchro cross[250 / 8]

⌨️ 快捷键说明

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