WinCE作业环境下的数据结构处理方法技术

技术编号:2889129 阅读:184 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种WinCE作业环境下的数据结构处理方法,预先建立读、写模块,建立与每一数据结构对应的描述表,该描述表包含数据结构中每一数据项的位移参数与数据类型,依据描述表中的这些信息,可于一应用序中使用预先建立的读、写模块对数据结构进行读、写。通过本发明专利技术,可使WinCE环境下的应用程序共用数据结构的读、写模块,且于数据结构更改时,只须修改描述表内容。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种。在WinCE作业环境下对数据结构的处理因受硬件限制,与数据结构的实体结构紧密相关,而对数据结构的读、写操作也必以该数据结构中与起始点的相对位移量进行定义,对开发与维护人员来说十分繁杂而不便。于该环境下要使用一数据结构,必须先以位移量定义该数据结构中每一数据项相对于起始点的位移,并定义该数据项中所储存数据的数据类型,完成数据结构等实体结构定义后,才能利用应用程序接口(API,Application Program Interface;见附图说明图1)对该数据结构进行读、写操作。在WinCE作业环境下的这种限制,最大问题在于若一数据结构有任何改动,例如一数据项增加、删除、移动等,凡与该数据结构的读、写相关的所有应用程序与模块必须逐一进行相对应修改。本专利技术目的之一在于通过数据结构的描述表,使WinCE作业环境下数据结构的读、写操作可与数据结构的实际结构相互独立,方便数据库的开发与维护。本专利技术的另一目的在于通过模块化设计,使WinCE作业环境下数据结构的存、取可通过共用的读、写模块完成,节省人力成本,避免资源浪费。本专利技术涉及一种,是针对该作业环境对一数据结构读、写操作所产生的限制,通过一描述表提供解决办法;每一描述表中含有其对应数据结构中每个数据项相对应的位移参数与数据类型,其中位移参数是一数据项与其所在记录的起始点间的位移量,而数据类型是一数据项中所储存内容的类型定义。通过与每一个别数据结构对应的描述表,可使预先建立的读、写模块能与数据结构的实体结构相互独立;透过这些描述表,可使数据结构的新增、修改、删除等操作可不修改与该数据结构相关的读、写模块,仅需修改与其对应的描述表内容,便可维持相关读、写模块的正确运作。本专利技术将读、写模块中对数据结构的读、写操作,配合与该数据结构对应的描述表中的信息,转换成WinCE作业环境下应用程序接口对该数据结构的读、写操作。图1是WinCE作业环境与一般电脑作业环境的比较;图2是本专利技术的方块示意图;图3是WinCE作业环境、C语言及数据结构描述表中各种数据类型的对应关系;图4A是一数据库在C语言中的定义;图4B是图4A数据库的描述表;图5A是图4A中的数据库中加入一数据项后,其在C语言中的定义;图5B是图5A中数据库的描述表;图6是本专利技术一实施例写入模块的流程图;图7是本专利技术一实施例读取模块的流程图。本专利技术的主要原理是在WinCE作业环境下,根据一数据库的数据结构建立其对应的描述表,每当数据库的数据结构发生改变,或欲加入、删除一数据库时,只须修改(或加入、删除)该数据库对应的描述表即可,不必更改相关的操作模块。在WinCE作业环境下,其所支持的数据类型分别为(参见图3)UI2、I2、I4、UI4、LPWSTR、FILETIME等,因此在WinCE作业环境下所有数据结构皆由这些数据类型组合而成,其与C语言间呈一定的对应关系,其中与UI2、I2、14、UI4、LPWSTR、FILETIME等数据类型对应的C语言数据类型分别为WORD、SHORT、LONG、DWORD、TCHAR或TCHAR*、SYSTEMTIME,其中LPWSTR分别对应到C语言的TCHAR或TCHAR*两种数据类型。依本专利技术的方法所建立的描述表是对数据结构的一种解释,借以将读、写操作过程中对数据库的读取、写入转换为WinCE作业环境下应用程序接口(API)对该数据结构的读、写操作,使其与该数据结构的实际结构相对应,顺利完成操作过程。描述表与数据库间呈一对一的对应关系,也就是每一数据库皆有一独特的描述表与其对应,在一描述表中的每一项皆由位移参数与数据类型组合而成(参见图4B),前者通过位移量来定义数据库中一数据项的长度,后者则定义与该数据项内容对应的WinCE作业环境下的数据类型。在一描述表第一项中的内容为校验参数,用以验证其是否为数据库所对应的描述表,此项在对数据库进行写入操作时并不真正写入WinCE数据库;一描述表最后一项中的内容系数据库的结束标志,亦不写入数据库;描述表、数据结构及该二者在WinCE数据库中的对应关参见图3、图4A、图4B、图5A、图5B。由于WinCE数据库所支持的数据类型与C语言中惯用的数据类型并不一致,本专利技术的方法将其所定义的数据类型与WinCE数据库中的数据类型、C语言中的Struct数据类型做如图3所示的对应,其中第一栏列出本方法中描述表使用的数据类型,第二栏列出WinCE数据库所支持的数据类型,第三栏则列出C语言中的数据类型,而每一列则为三者间相对应的数据类型。其中WinCE数据库支持的数据类型LPWSTR实际储存的是一4字节的地址,一般对应于C语言中惯用CHAR[](字符)和LPSTR(指针,pointer)两种数据类型;此外WinCE数据库支持的数据类型FILETIME也转换为C语言中的数据类型SYS TEMTIME。由以上所述可知,本专利技术是根据一数据库的数据结构,将其中每一数据项的数据长度转换为相对应的偏移量,而将该数据项的数据类型转换为WinCE支持的数据类型,逐项依次填入描述表以建立与该数据库对应的描述表;另外该描述表中的第一项是一校验信息(其内容是数据结构的大小),而其最后一项是结构标志。在写入模块的实际操作过程中(参见图6),根据描述表中的信息逐一将数据结构的数据项由适当位置读出,并将这些数据储存到PEGPROPVAL格式的缓冲器中,当所有项完成后才利用WinCE作业环境所提供的peg Write Record Props接口真正写入数据库;写入模块使用三个参数(数据库名称,描述表,缓冲器)完成对指定数据库的数据写入操作,其实际操作过程如下(1)判断该数据库是否存在以及描述表的最后一项中的位移量(代表该描述表对应的数据结构的数据长度)与缓冲器大小是否相同,以此步骤校验描述表是否与指定数据库正确对应,若有错误则传回错误信息,(2)由缓冲器根据描述表中的位移参数、数据类型逐一取出一数据项,并将之转换成WinCE支持的格式,(3)将缓冲区中的数据通过WinCE的应用程序接口(PAI)写入数据库。读取模块的实际操作过程(请参见图7)与写入模块相似,其实际运作过程如下(i)判断该数据库是否存在以及描述表中的最后一项中的位移量(代表该描述表对应的数据结构的数据长度)与缓冲器大小是否相同,以此步骤校验描述表是否与指定数据库正确对应,若有错误则传回错误信息,(ii)通过WinCE的应用程序接口(API)读取数据库中一系列记录,并根据描述表中的位移参数、数据类型,由WinCE支持的格式逐一取出一数据项,转换成C语言的格式后写入缓冲器。以下通过一实施例加以说明,在一通讯录数据库中储存如下的资料 </tables>该数据库的结构如下数据项名称 数据类型姓名 32个字符(32TCHAR)生日 时间类型(FILETIME)姓别 一个字(WORD)公司 32个字符(32TCHAR)电话 20个字符(32TCHAR)该数据库在C语言中对应的数据结构请参见图4A,根据该数据结构可建立如图4B中的描述表。建立该描述表过程如下表中第一项,在数据结构中对应到WORD数据类型,将其转换为DBMS_U12,其位移量为0。表中第二项,在数据结构中对应到TCHA本文档来自技高网...

【技术保护点】
一种WinCE作业环境下的数据结构处理方法,该方法包含: 建立一数据结构,该数据结构包含至少一个数据项; 对每一数据结构建立一描述表,该描述表包含与其对应的数据结构中每一数据项相关的位移参数与数据类型,其中位移参数为用以定义该数据结构中一数据项与其所在记录的起始点间的位移量,而数据类型为用以定义该数据项所存储内容对应的一种数据类型; 建立读、写模块,这些模块为依据描述表内容,将读取、写入操作转换为WinCE作业环境下应用程序接口(API)对该数据结构的读、写操作,使其与该数据结构的实体结构相对应,以顺利进行操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:林光信韩永胜
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1