📄 c51.h.svn-base
字号:
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 + -