A188二次开发手册.doc_第1页
A188二次开发手册.doc_第2页
A188二次开发手册.doc_第3页
A188二次开发手册.doc_第4页
A188二次开发手册.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 1 页 共 42 页 前前 言言 本使用手册详细说明了捷宝 A1 平台系列抄表机 JBA188 JBA168 JBA138 的二次开发 工具 开发流程 API 函数 以及通讯动态库函数 请在使用前仔细阅读该使用手册 以 便保证您的正确使用和工作效率 敬请妥善保管以备日后查阅之用 如发现本手册有编写 错误之处 请予以指出 以便更正 谢谢 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 2 页 共 42 页 目目 录录 前前 言言 1 二次应用程序开发说明二次应用程序开发说明 4 1 1 CBJTOOL安装 4 1 2 编写应用程序 4 1 3 编程注意事项 4 1 4 编译程序 4 1 4 1 Cbjtool编译工具 4 1 4 2编译步骤 5 1 5 下装文件 5 1 6 工程文件操作 5 二次开发接口介绍二次开发接口介绍 6 2 1 数据类型 6 2 1 1基本数据类型 6 2 1 2消息 6 2 1 3显示区域 7 2 1 4光标 7 2 2 键盘接口函数 8 2 3 LCD 接口函数 8 2 4 底层输出函数 9 2 5 GDI 接口显示函数 9 2 6 蜂鸣器与时钟接口函数 13 2 6 1 蜂鸣器函数 13 2 6 2 时钟接口 13 2 6 3 定时器接口 14 2 7 文件操作函数 15 2 8 数据库操作函数 BDC H 17 2 9 GUI 组件库函数 18 2 10 消息处理函数 31 2 10 1系统消息处理 31 2 10 2 GUI消息处理 32 2 11 标准C数据转换函数 33 2 12 标准C字符串函数 34 2 13 图标资源 35 2 14 串行通讯类 36 2 15 权限管理类 37 2 16 环境变量类 37 2 17 输入法接口 39 2 18 系统服务调用 40 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 3 页 共 42 页 二次应用程序开发说明二次应用程序开发说明 A1 平台的应用程序可用 ARM 处理器的开发工具 ADS ARM Developer Suite 进行编写 与编译 这里主要介绍我公司提供的集成开发环境 cbjtool2007 来开发二次应用程序 1 1 cbjtool 安装安装 将 CbjTool2007 目录整个拷贝到您的电脑根目录下 BIN 可执行文件 EXE LIB 运行库文件 L INCLUDE 头文件 H licenses licenses dat 文件 1 2 编写应用程序编写应用程序 源程序可以在任何编辑软件中进行编辑 即可以用通用工具 写字版 UltraEdit 32 等 和我们提供的 CbjTool exe 该文件在 BIN 目录下 1 3 编程注意事项 编程注意事项 在定义数组的大小时应将字符串结束符 0 考虑进去 否则若引起 RAM 地址冲突可能会产生 不可预料的结果 例如 取时间函数getDateTimeStr s 返回的是 17 个字符长的时间串 加 上结束符 0 共 18 个字节长 故定义 s 的大小时至少是 18 个字节 1 4 编译程序编译程序 1 4 1 Cbjtool 编译工具编译工具 在 BIN 目录下 Cbjtool exe 具有抄表程序编辑 编译功能 运行平台 win9x win2000 winXP 1 4 2 编译步骤编译步骤 如果我们的程序是用通用工具来编辑的 那么编译前也要把程序存到某个目录下 然后 才能对其进行编译 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 4 页 共 42 页 编译过程如下 运行 Cbjtool exe 在菜单 文件 里打开文件 即所要编译的 C 源程序 在菜单 程序 里选择 编译 编译没有错后再选择 连接 或直 选择 生成 也可以直接单击工具栏上的绿色三角符号 如果程序是在 Cbjtool exe 下编辑的 存盘后直接对其编译就可以了 编译方法同 如果程序没有错误 编译连接后生成 bin 文件 o 文件 axf 文件 在 Cbjtool exe 界面的下方有编译结果报告 1 5 下装文件下装文件 程序正确编译后生成的 bin 文件 我们要把它下装到抄表机上 以使其在抄表机上运行 下装前请先连接好抄表机与微机的通讯电缆 并进入抄表机的通讯等待状态 然后点击 cbjtool exe 中的 下装程序 菜单 或快捷按钮 即可 如果要下装数据库 dbf 文件 可点击 cbjtool exe 中的 通讯管理器 菜单 或快捷按钮 1 6 工程文件操作工程文件操作 如果您的源程序在多个文件中 就需要建立工程文件统一编译连接 具体步骤如下 先选择 cbjtool exe 中 工程 新建 菜单 在弹出的 另存为 对话框中选择存放有源程序的目录 并输入 一个工程名 然后点 保存 这时 cbjtool 将新建一个扩展名为 JBP 的工程文件并打开 工程 管理器 您可以在 工程管理器 中添加源文件 注意 软件会自动将包含 main 函数的 C 文 件排到工程文件列表的最上面 另外 一个工程中所有用到的源文件 C 头文件 H 及工 程文件 JBP 必须放在同一个目录下 以后可以选择 cbjtool exe 中 工程 打开 菜单来打开已经建立的工程 工程打开后要进行编译连接时请选择 程序 生成 或点击三角形的快捷按钮 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 5 页 共 42 页 二次开发二次开发接口介绍接口介绍 A1 平台二次开发接口由一系列数据类型与系统功能调用 API 函数组成 如无特别声明 A1 平台的所有数据类型及函数原型均在 jblib h 头文件中 2 1 数据类型数据类型 这里将介绍 A1 平台开发时所需用到的一些常用数据类型 则于 GUI 组件类别及其属性较 多 所以与 GUI 组件相关的数据类型将放到 GUI 库函数说明中介绍 2 1 1 基本数据类型基本数据类型 U88bit 无符号类型 同 unsigned char U1616bit 无符号类型 同 unsigned int U3232bit 无符号类型 同 unsigned long P U8指向 U8 类型数据指针 同 unsigned char P U16指向 U16 类型数据指针 同 unsigned int P U32指向 U32 类型数据指针 同 unsigned long 注意 全局变量只能动态始化 局部变量可以静态初始化 即声明时初始化 2 1 2 消息消息 与消息处理相关的数据类型只有一个 TMsg 结构体 其声明如下 typedeftypedef packed structstruct tagMessage unsigned intMsg void Obj unsigned shortWParam unsigned shortLParam unsigned charResult TMsg PMsg 成员说明 MsgMsg 消息类型 ObjObj 消息目标对象 即将接收并处理该消息的对象 若消息处理对象不确定 或者该 消息需要多个可能的对象处理则 Obj 值可能为 NULL WParamWParam 消息参数 1 具体内容依消息类型而定 LParamLParam 消息参数 2 具体内容依消息类型而定 ResultResult 消息返回值 若该消息被处理 Result 将被置值为 MSG OK MSG OK 值为 1 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 6 页 共 42 页 2 1 3 显示区域显示区域 矩形区域结构体 Rect typedeftypedef structstruct tagRect U8left U8top U8right U8bottom U8width U8height Rect PRect 成员说明 leftleft 矩形区域左边坐标 tToptTop 矩形区域顶部坐标 rightright 矩形区域右边坐标 bottombottom 矩形区域底部坐标 widthwidth 矩形区域宽度 heightheight 矩形区域高度 注意 若要更改 Rect 大小及位置请使用以下四个宏来操作 SetRectWidth rt value SetRectWidth rt value 设置 Rect 宽度 SetRectHeight rt value SetRectHeight rt value 设置 Rect 高度 SetRectTop rt value SetRectTop rt value 修改 Rect 顶部位置 SetRectLeft rt value SetRectLeft rt value 修改 Rect 左边位置 2 1 4 光标光标 typedeftypedef packed structstruct tagCurosr HWNDowner U8type U8x U8y U8flag Cursor PCursor 成员说明 owner 该光标所有者 即需要显示光标的组件 type 光标类型 光标显示形状 0 2 分别为坚线 工字型 下划线型光标 x 光标 X 坐标 屏幕坐标 y 光标 Y 坐标 屏幕坐标 flag 光标状态 为 1 则光标正在显示 为 0 则光标已消隐 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 7 页 共 42 页 2 2 键盘接口函数键盘接口函数 键盘按键值分为扫描码与标准键值两种 即一个按键可以用扫描码与标准按键来表示 扫描码与键盘设计布局有关 如果键盘布局设计变更其扫描码可能也会变化 标准健值是 固定的 如 退出 ESC 键在不同型号不同键盘布局的机器上键值均为 27 1 U8 keygos U32 n 功能 从键盘接收一个按键 等待 n ms 指定时间 参数据 n 等待的延时参数 单位为毫秒 返回 有按键则为键值 无按键返回 0 备注 keygos 返回的按键值为扫描码 区别于标准键值 如 退出 键值为十六进制 0 x03 系统定义为常量 CK ESC 扫描码定义均以 CK 打头 可以在 keydef h 头文件 中找到所有键码定义 2 U8 key U16 msg 功能 从键盘等待一个按键 如果没有按键 则无限期等待 直到按键产生为止 参数 msg 为指向十六位无符号数的指针 如果不需要处理消息则直接令 msg 为 NULL 或 0 即可 返回 有按键才返回 返回标准键值 msg 返回本次按键的消息值 备注 key 返回的按键值为标准键值 如 退出 键键值为 27 同 PC 机 ESC 键值一样 系 统定义为 VK ESC 标准键值定义均以 VK 打头 可以在 keydef h 头文件中找到所 有键值定义 2 3 LCD 接口函数接口函数 LCD 接口函数提供 LCD 屏的直接控制与绘图操作 属于较为底层的开发接口 若非需要 较高的绘图性能与响应速度 一般显示输出请使用 GDI 函数集 1 void lcd setcontract int c 功能 设置 LCD 屏对比度 参数 对比度取值范围 0 255 2 void LCD ShowImage U8 buf U8 startx6 U8 starty U8 endx6 U8 endy U8 mode 功能 显示一 4 位 16 级灰度图片 参数 buf灰度图片数据 startx 图片左上角 x 坐标 屏幕坐标 starty 图片左上角 y 坐从标 屏幕坐标 endx 图片右下角 x 坐从标 屏幕坐标 endy 图片右下角 y 坐从标 屏幕坐标 mode 显示模式 有以下可用显示模式 Disp Mode Normal普通模式 Disp Mode Inverse反白模式 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 8 页 共 42 页 Disp Mode Or或模式 Disp Mode And与模式 Disp Mode Xor异或模式 Disp Mode Not求反模式 2 4 底层输出函数底层输出函数 底层输出为操作系统支持的几个最简单的输出操作 而其它类别的输出调用 如 GDI 与 GUI 函数库 则需要系统执行某些初始化后才能调用 1 void cls void 功能 清屏 3 int printf const char format 功能 可将各种数据类型的数据格式化后显示在屏幕上 参数 format 格式化串 用于控制转换后串的格式 包括 d有符号整型 u无符号整型 x无符号十六进制数 c字符 s字符串 p指针 备注 浮点数据转字符串请便用 jb ftoa 函数 4 int uprintf const char format 功能 格式化输出到串口 参数 同 printf 5 int Aprintf const char format 功能 格式化输出 8 8 点阵西文字符 参数 同 printf 2 5 GDI 接口显示函数接口显示函数 1 void setcolor U8 color 功能 设置前景色 参数 color 颜色值 取值为 GDI COLOR MIN0 GDI COLOR MAX15 GDI COLOR LIGHT5 GDI COLOR NORMAL10 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 9 页 共 42 页 GDI COLOR DARK15 2 U8 getcolor void 功能 返回当前前景色设置 参数 无 3 void setbkcolor U8 color 功能 设置背景色 参数 color 背景颜色值 取值同 setcolor 4 U8 getbkcolor void 功能 返回当前背景色设置 参数 无 5 void setfontch U8 font 功能 设置中文字体 参数 中文字体 font 可选 FONT CH 12中文 12 点阵字体 FONT CH 16中文 16 点阵字体 6 U8 getfontch void 功能 返回当前中文字体 返回 返回值有以下两种取值 FONT CH 12中文 12 点阵字体 FONT CH 16中文 16 点阵字体 参数 无 7 void setfonten U8 font 功能 设置西文字体 参数 西文字体 font 可选 FONT EN 088 点阵西文字体 FONT EN 1212 点阵西文字体 FONT EN 1616 点阵西文字体 8 U8 getfonten void 功能 返回当前西文字体 返回 返回以下值 FONT EN 088 点阵西文字体 FONT EN 1212 点阵西文字体 FONT EN 1616 点阵西文字体 参数 无 9 void setfont U8 font 功能 设置当前字体 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 10 页 共 42 页 参数 一种中文与一种西文字体组合值 如 setfont FONT CH 16 FONT EN 12 可用值有 FONT EN 088 点阵西文字体 FONT EN 1212 点阵西文字体 FONT EN 1616 点阵西文字体 FONT CH 12中文 12 点阵字体 FONT CH 16中文 16 点阵字体 10 U8 getfont void 功能 返回当前字体设置 参数 无 返回 返回当前字体设置值 该值可能为中文字体与西文字体组给值 如 FONT CH16 FONT EN 12 要取得中文字体或西文字体设置值请使用 getfontch 与 getfonten 11 void setlinestyle U8 style 功能 设置直线类型 参数 style 直线类型 可选值有 LS SOLID实线 LS DASH虚线 LS DOT点线 12 U8 getlinestyle void 功能 返回当前直线类型设置 参数 无 返回 LS SOLID实线 LS DASH虚线 LS DOT点线 13 void setcharspace U8 space 功能 设置字符间距 参数 字符间距 space 单位为像素 14 U8 getcharspace void 功能 返回当前字符间距设置 单位为像素 15 void setlinespace U8 space 功能 设置当前字符行间距 参数 行间距 space 单位为像素 16 U8 getlinespace void 功能 返回当前行间距设置 单位为像素 17 void line U8 x1 U8 y1 U8 x2 U8 y2 功能 以当前线型与前景色画线段 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 11 页 共 42 页 参数 x1起点 X 坐标 y1起点 Y 坐标 x2终点 X 坐标 y2终点 Y 坐标 注 line 函数不支持画斜线 即 X 与 Y 座标至少需有一组应相等 18 void rectangle U8 x1 U8 y1 U8 x2 U8 y2 功能 以当前线型与前景色画矩形框 参数 x1矩形左上角 X 坐标 y1矩开左上角 Y 坐标 x2矩形右下角 X 坐标 y2矩形右下角 Y 坐标 19 void bar3d U8 left U8 top U8 iw U8 ih 功能 画有立体效果的三维边框 参数 left左上角 X 坐标 top左上角 Y 坐标 iw三维 BAR 宽度 ih三维 BAR 高度 20 void fillcolor U8 x1 U8 y1 U8 x2 U8 y2 U8 color 功能 用指定颜色填充指定矩形区域 参数 x1矩形区左上角 X 坐标 y1矩形区左上角 Y 坐标 x2矩形区右下角 X 坐标 y2矩形区右下角 Y 坐标 color 用来填充的颜色 21 void drawicon U8 buf U8 x U8 y U8 w U8 h 功能 在指定位置画指定大小 4 级灰度图标 参数 buf 4 级灰度图标数据 x图标左上角 X 坐标 y图标右上角 Y 坐标 w图标宽度 h图标高度 22 U16textwidth U8 font unsigned char text 功能 返回指定字符串用指定字体显示时所需占用宽度 单位为像素 参数 font 字体类型 text 0 结尾字符串 返回 text 字串在 font 指定字体下显示所需要宽度 该宽度计算包含了字间距 注备 text 长度最大为 250 字符 要测试 text 在当前字体下显示所需宽度 只须令 font getfont 即可 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 12 页 共 42 页 23 U16textheight U8 font unsigned char text 功能 返回指定字符串用指定字体显示时所需占用高度 单位为像素 参数 font 字体类型 text 以 0 结尾字符串 返回 text 字串在 font 指定字体下显示所需高度 该高度计算包含了行间距 备注 text 最大长度为 250 字符 24 void outtextxy const U8 text U8 x U8 y U8 mode 功能 在指定坐标显示字符串 参数 text 以 0 结尾字符串 xX 坐标 以像素为单位 yY 坐标 以像素为单位 mod 显示模式 可选值有以下几种 Disp Mode Normal正常显示 Disp Mode Inverse反转显示 Disp Mode Or叠加显示 Disp Mode And与模式显示 Disp Mode Xor异或显示 Disp Mode Not求反显示 25 void outtextxyex const U8 text U8 x U8 y U8 mode U8 w 功能 在指定坐标以指定字符宽显示一字符串 参数 w 指定字符宽 一般情况字符占位宽由字体与字符间距和决定 这里可以强制指定 字符占位宽为 w w 单位为像素 其它参数同 outtextxy 函数 2 6 蜂鸣器与时钟接口函数蜂鸣器与时钟接口函数 2 6 1 蜂鸣器函数蜂鸣器函数 1 void Beep U32 time 功能 蜂鸣器响 参数 time 时长 单位毫秒 2 6 2 时钟接口时钟接口 2 void Delay U32 ms 功能 延时指定时间间隔 参数 ms 毫秒级时间 3 U16 GetTime U32 bcdtime 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 13 页 共 42 页 功能 取时间 参数 bcdtime 指向 32 位无符号整型的指针 返回 返回值为 0 则表示执行成功 bcdtime 存储了 hhmmss 时分秒 格式的 BCD 码 4 U16 GetDate U32 bcddate 功能 取日期 参数 bcdtime 指向 32 位无符号整型的指针 返回 返回值为 0 则表示执行成功 bdcdate 存储了 WYYMMDD 星期年月日 格式的 BCD 码 星期为 0 6 代表 星期日 星期六 5 U16 SetTime U32 bcdtime 功能 设置时间 参数 hhmmss 时分秒 格式的 BCD 码 返回 成功则返回 0 6 U16 SetDate U32 bcddate 功能 设置日期 参数 YYMMDD 年月日 格式的 BCD 码 返回 成功则返回 0 7 U16 setDateTimeByStr char dt 功能 用日期时间字符串设定时间 字符串格式为 07 10 10 12 00 00 参数 dt 为 0 结尾的字符串指针 返回 执行成功返回值为 0 8 U16 getDateTimeStr char dt 功能 读取日期时间的字符串 字符串格式为 07 10 10 12 00 00 参数 dt 为接收缓冲区指针 其大小应至少为 18 字节 返回值 读取成功返回值为 0 9 int getWeek void 功能 读取星期值 参数 无 返回值 返回 0 6 代表 星期日 星期六 2 6 3 定时器接口定时器接口 11 void SetTimer U32 us 功能 开启定时器 参数 us 定时时间 单位为微秒 指定定时间到将产生定时器消息 但定时器计数并不停 止 直到调用 StopTimer 定时器才停止计数 备注 GUI 封装了定时器消息的处理 如果使用了 GUI 的 Window 对象 在定时器发生时 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 14 页 共 42 页 会产生一个 WM TIMER 消息 可以通过 Window 组件的 OnMsg 事件获得该消息 GUI 默 认的定时器消息时间间隔为 100ms 即每秒钟产生 10 次 WM TIMER 消息 如果需要直接处理定时器消息请先用 setUserMsgMask MSG MASK DEFAULT MSG MASK TIMER 进行登记 然后调用 getSystemMessage 等待消息 定时器为非循环定时器 若要循环产生定时器消息需在接收到定时器消息时 调用 SetTimer value 来重置定时器 12 U32 GetTimer void 功能 读定时器计数 返回 当前定时器计数值 单位为微秒 备注 该函数返回自 SetTimer 执行后到 GetTimer 执行时逝去的精确时间 13 void StopTimer void 功能 停用定时器 2 7 文件操作函数文件操作函数 1 MYFILE fopen P U8 filename P U8 mode 功能 打开 或新建 一个文件 参数 filename要打开 或新建 文件的文件名 mode 文件打开方式串 该串中根据需要包含了 r w a 三种字符的组合 r 以只读方式打开文件 文件指针定位在起始位置 w 以写方式打开文件 文件指针定位在起始位置 a 以追加方式打开文件 如果文件不存在则新建 文件指针定位在末尾 返回 若正确打开文件则返回相应文件指针 否则返回 NULL 2 int fclose MYFILE fp 功能 关闭一个文件 参数 fp 为当前已打开的文件指针 返回 若正常关闭返回 0 3 U32 fread P U8 ptr U32 size MYFILE fp 功能 从文件中读取数据 参数 ptr 存放文件内容的指针 size 读取的字节数 fp 为当前已打开的文件指针 返回 实际读取的字节数 4 U32 fwrite P U8 ptr U32 size MYFILE fp 功能 写数据到文件中 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 15 页 共 42 页 参数 ptr 要写入数据的指针 size 写入数据的字节数 fp 为当前已打开的文件指针 返回 实际写入的字节数 5 int fseek MYFILE fp long offset int whence 功能 定位当前文件指针 参数 fp 为当前已打开的文件指针 offset 偏移量 whence 定位的开始位置 可以是以下三种之一 SEEK SET 从文件起始处开始定位 SEEK CUR 从文件当前位置开始定位 SEEK END 从文件结束位置开始定位 返回 正确定位返回 0 否则返回非 0 值 6 U32 flength MYFILE fp 功能 返回文件长度 参数 fp 为当前已打开的文件指针 返回 文件的长度 单位 字节 7 int filedelete P U8 filename 功能 删除文件 参数 filename 要删除的文件名 返回 成功删除则返回 0 8 U32 ftell MYFILE fp 功能 返回当前文件指针相对于文件起始的位置 单位 字节 参数 fp 为当前已打开的文件指针 返回 成功则返回当前位置相对于文件起始的位置的字节数 9 int fileexits P U8 filename 功能 判断某一文件是否存在 参数 filename文件名 返回 存在返回非 0 否则返回 FSNULL FSNULL 值为 0 xFFFF 10 U16 filedir char compare char pfilelist U16 start U16 count 功能 获取抄表机内所有文件 或指定扩展名文件列表 参数 compare文件名 可以使用通配符 如 bin dbf 等 pfilelist用于存放文件列表的缓冲区 start本次查询返回结果开始位置 count本次查询缓冲区能容纳文件记录数 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 16 页 共 42 页 返回 本次获取到的文件名个数 说明 如要获取所有文件名请使用 compare 值为 通过使用 start 与 count 可以使用 较小的缓区通过多次查询来获取完整的文件列表 如需查询某个文件是否存在请使用 fileexits 抄表机内最多可同时存储 512 个文件 2 8 数据库操作函数数据库操作函数 bdc h 1 int use char filename 功能 打开 或关闭 数据库文件 参数 filename要打开的数据库文件名 关闭数据库文件时必须为空串 返回 成功返回 0 举例 char s 20 use dian dbf 打开数据库文件 dian dbf libset 0 0 定位到第一条记录第一字段 libread s 读当前字段内容到串 s 中 use 关闭当前数据库文件 2 int libsumr void 功能 返回当前数据库的记录总数 3 char libsumf void 功能 返回当前数据库的字段总数 4 int libgetr void 功能 返回当前的记录序号 说明 记录序号从 0 开始 表示第一个记录 下同 5 char libgetf void 功能 返回当前的字段序号 说明 字段序号从 0 开始 表示第一个字段 下同 6 char libset xdata int n unsigned char n 功能 设置当前记录序号和字段序号 参数 n 记录序号 m 字段序号 返回 成功返回 0 7 char libread unsigned char s 功能 读当前字段 参数 s 存放读出内容的缓冲区指针 返回 读出串的长度 说明 读出的数据串已将字段中实际数据头尾空格删除 故返回的长度值小于或等于 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 17 页 共 42 页 当前字段的字段长 如果字段为空 则返回 0 8 void libwrit unsigned char s 功能 写当前字段 参数 s 存放欲写内容的缓冲区指针 说明 该函数将根据数据库中当前字段的类型及长度对写入数据作相应调整 9 void liblocate unsigned char s unsigned char bz 功能 查询并定位到相应记录 参数 s 查询字符串 bz查询类型标志 可组合使用以下查询类型标志 0 x80 使用索引 0 x40 模糊查询 0 x01 向后查找 0 x02 向前查找 0 x03 查找全部 0 x30 任意位置 0 x20 左对齐 0 x10 右对齐 返回 找到返回 1 说明 该函数将以数据库当前记录为起点 向下 或向下 查找当前字段与字符串 s 相符的记 录 如果找到则定位到该记录 没有找到就停留在原记录处 不采用模糊查询时 仅将 s 与字段 值从头进行比较 如果采用模糊查询方式 则将会在字段值内搜索是否包含 s 子串 采用模糊 查询时查询速度会稍慢一些 例 1 使用索引查询 Liblocate abc123 0 x80 例 2 从当前位置向前 右端匹配查询 Liblocate abc123 0 x02 0 x10 10 int libcount unsigned short field unsigned char s 功能 统计数据库中指定字段 field 值与 s 相同的所有记录数 参数 field要统计的字段序号 s要进行比较的字符串 返回 统计到的记录数 如果统计出错返回负数 11 int libappend void 功能 在当前打开的数据库中增加一条新记录 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 18 页 共 42 页 返回 成功返回 0 否则返回负数 说明 该函数在数据库最后面增加一条空白记录 总记录数自动加 1 当前记录及当前字段指 针定位到新增记录的第一个字段 2 9 GUI 组件库函数组件库函数 由于 GUI 组件对象有着基本的公共数据成员 为省去不必要的重复说明 所以先以 GUIObject 组件为例介绍其公共数成员部分 组件 GUIObject 的数据成员是所有 GUI 组件 数据成员的公共部分 因为 GUIObject 组件只有 数据 并无行为与外观 所以 GUIObject 仅仅用于组件库的实现代码中 在二次开发程序中创建 GUIObject 组件对像无 实用意义 typedeftypedef packed structstruct tagGUIObject U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime HWNDparent HWNDnext HWNDhandle PPROC proc PPROC OnMsg GUIObject PGUIObject 成员说明 left左边位置 坐标为相对坐标 top顶部位置 坐标为相对坐标 width组件宽度 以像素为单位 height组件高度 以像素为单位 type只读 组件类型 可用取值有 GT WINDOWWindow 窗口组件 GT BUTTONButton 按钮组件 GT EDITEdit 编辑框组件 GT LISTBOXListBox 列表框组件 GT CHECKBOXheckBox 多选框组件 GT RADIOBUTTONRadioButton 单选框组件 GT COMBOCombo下拉列表框组件 GT GMENUGmenu图形菜单 GT TMENUTmenu文字菜单 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 19 页 共 42 页 GT TRACKBARTrackBar 标尺组件 GT PROGRESSBARProgressBar进度条组件 GT UNKNOWUnknow 未知组件 组件库不负责其消息处理 style组件样式 其值组合决定组件行为与外观 其取值为以下值一个或多个组合 WS ACTIVE只读标记 组件是否已置焦 WS NOBORDER组件是否需要画边框 WS TASKBAR显示系统状态条 仅针对 GT WINDOW 组件可用 WS CAPTION显示标题栏 仅针对 GT WINDOW 组件可用 WS IMEENABLE只读标记 标记组件是否可开启输入法 WS ICON MIN在标题栏上显示最小化图标 WS ICON RESTORE 在标题栏上显示恢复图标 WS ICON MAX在标题栏上显示最大化图标 WS ICON CLOSE在标题栏上显示关闭图标 name组件别名 12 字符长 包括 0 字符 所以可命名的别名长度为 11 字符 text组件上用于显示的文字 250 字符长度 包括 0 字符 ime输入法类型 parent组件所在的容器指针 对于 GT WINDOW 组件 该值为 NULL next只读 系统用 handle只读 指向组件本身的指针类型为 HWND proc只读 系统用 OnMsg 用户自定义消息处理例程 如未有定义则该值为 NULL 1 HWND CreateWindow PWindow AWindow P U8 caption U8 left U8 top U8 width U8 height 功能 创建 Window 组件 参数 AWindow指向 Window 结构的指针 caption窗口标题内容 最长可容纳 250 个字符 包括 0 结束标记 left左边位置 屏幕坐标 top顶部位置 屏幕坐标 width宽度 像素为单位 height高度 像素为单位 返回 HWND AWindow 指针 数据类型Window typedeftypedef packed structstruct tagWindow U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 20 页 共 42 页 HWNDparent HWNDnext HWNDhandle PPROCproc PPROCOnMsg Cursorcursor U32result PPROCOnKeyPress PEVENTOnClose PEVENTOnShow Window PWindow 成员说明 OnKeyPress 组件接收到按键事件 OnClose 窗口关闭事件 OnShow窗口被显示事件 2 HWND CreateText PText AText const unsigned char caption U8 left U8 top U8 width U8 height 功能 创建 Text 组件 参数 AText 指向 Text 结构的指针 captionText 组件显示内容 最长可容纳 250 个字符 包括 0 结束标记 其 caption 内容会根据 Text 组件宽度自动换行 left左边位置 相对坐标 top顶部位置 相对坐标 width宽度 像素为单位 height高度 像素为单位 返回 HWND AText 指针 数据类型Text typedeftypedef packed structstruct tagText U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime HWNDparent HWNDnext HWNDhandle PPROCproc PPROCOnMsg 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 21 页 共 42 页 Text PText 可用成员说明 text显示文字内容 最长可为 250 字符 包括 0 字符 3 HWND CreateButton PButton AButton const unsigned char caption U8 left U8 top U8 width U8 height 功能 创建 Button 组件 参数 AButton指向 Button 结构的指针 captionButtont 组件显示内容 最长可容纳 250 个字符 包括 0 结束标记 left左边位置 相对坐标 top顶部位置 相对坐标 width宽度 像素为单位 height高度 像素为单位 返回 HWND AButton 指针 数据类型Button typedeftypedef packed structstruct tagButton U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime HWNDparent HWNDnext HWNDhandle PPROCproc PPROCOnMsg PEVENTOnClick U32data Button PButton 可用成员说明 OnClick按钮被按下事件 data如果该值不为 ID CUSTOM 则按钮被按下时 所在窗口即会关闭 并返 回 data 值 Button 被创建后 data 默认为 ID CUSTOM 4 HWND CreateEdit PEdit AEdit P U8 caption U8 left U8 top U8 width U8 height 功能 创建 Edit 编辑框组件 参数同上 数据类型Edit 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 22 页 共 42 页 typedeftypedef packed structstruct tagEdit U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime HWNDparent HWNDnext HWNDhandle PPROCproc PPROCOnMsg PEVENTOnClick U8passwordchar U16length U16selstart U16sellen U16showstart Edit PEdit 成员说明 OnClick在编辑框内按下 确定 键时产生的事件 passwordchar密码字符 指定输入密码时的回显字符 该字符为 0 则正常回显 length输入长度 可以限制输入字串的长度 但最大不应超过 249 个字符 selstart选择字符起点 如果没有选择字符 则为光标位置 sellen选择字符个数 ime输入法组合 指定该输入组件可使用的输入法组合 可用值有 IME ID NONONE不使用输入法 IME ID 123数字输入法 IME ID abc小写字母输入法 IME ID ABC大写字母输入法 IME ID PY拼音输入法 IME ID ALL所有可用输入法 如需使用数字 大写字母输入时即令 Edit ime IME ID 123 IME ID ABC 即可 5 HWND CreateListBox PListBox AListBox PItem items int count U8 left U8 top U8 width U8 height 功能 创建 ListBox 列表框组件 参数说明 items指向 unsigned char 20 的数组 countitems 数组长度 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 23 页 共 42 页 其它参数同上 数据结构 ListBox typedeftypedef packed structstruct tagListBox U8left U8top U8width U8height U8type U32style U8name 12 U8text MAX TEXT LEN U32ime HWNDparent HWNDnext HWNDhandle PPROC proc PPROCOnMsg PEVENT OnClick intindex intreserved U16count U16showstart PItemitems ListBox PListBox OnClick在 ListBox 上按下 确定 键时产生的事件 index当前选择的 items 项 从 0 开始计算 reserved系统为兼容性的保留数据段 countListBox 可显示 items 项 其值应小于等于 PItem 对应数组长度 6 HWND CreateCheckBox PCheckBox AChecktBox P U8 caption U8 left U8 top U8 width U8 height 功能 创建 CheckBox 多选框组件 参数同上 数据类型 CheckBox typedeftypedef packed structstruct tagCheckBox U8left U8top U8width U8height U8type U32style U8name 12 捷宝捷宝捷宝A1A1A1平台二次开发手册平台二次开发手册平台二次开发手册 广州捷宝电子科技发展有限公司 第 24 页 共 42 页 U8tex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论