具体实施方式
本发明实施例提供了一种软件系统生成储量报告的方法,下面对该方法做一下具体的解释。
为了理解本实施例,首先对储量报告的文件结构的具体内容做一下详细的阐述:储量报告的结构文件的类型为二进制文件,后缀名可规定为”.rep”,文件的内容主要由文件头和若干个对象结构组成。对象主要分为动态和静态两大类型。该实施例主要针对以下六种对象结构进行解释:静态文本对象,动态文本对象,静态图片对象,动态图片对象,静态表格对象,动态表格对象。
文件头的结构为:
TypeDef Struct
{int nHeadLen;
int nMark;
int nVersion;
}FileHead;
其中nHeadLen为文件头的长度;
nMark:为储量报告文件结构的标识,用于程序识别正确的储量报告文件,比如:1234567,若标识正确,则程序读取该文件结构;
nVersion:代表储量报告的版本号,比如:00000010,在程序解析文件结构时,若报告文档版本较新,而当前程序版本较低,则不解析该文件结构;
静态文本的结构为:
TypeDef Struct
{int nObjectLen;
int nType;
int nStaticTextLen;
byte byTextBuffer[nStaticTextLen];
}Static-Text;
nObjectLen:代表静态文本对象的长度;
nType:代表要输出的对象的类型:
0代表静态文本
1代表动态文本
2代表静态图片
3代表动态图片
4代表静态表格
5代表动态表格
此处:nType=0;
nStaticTextLen:代表文本的长度;
byte byTextBuffer[nStaticTextLen]:代表静态文本;
动态文本的结构为:
TypeDef Struct
{int nObjectLen;
int nType;
int nTextLinkLen;
byte byTextLink[nTextLinkLen];
int nTextDefLen;
byte byDefText[nTextDefLen];
}Dynamic-Text;
nObjectLen:为动态文本对象的长度;
nType在该对象结构中值为1;
nTextLinkLen:为动态文本链接的长度;
byte byTextLink[nTextLinkLen]:代表动态文本的链接,链接可以为全局变量或者变量表达式,例:链接可以是"Global1+Global2″(其中Global1和Global2均为全局变量);
nTextDefLen:代表默认的文本内容的长度;
byte byDefText[nTextDefLen]:存储默认的文本内容,当程序解析文件结构时,若链接无效,则将存储的内容取出作为输出到输出设备的内容;
静态图片的结构为:
TypeDef Struct
{int nObjectLen;
int nType;
int nStaticImageLen;
byte byImageBuffer[nStaticImageLen];
}Static-Image;
nObjectLen:代表静态图片对象的长度;
nType:在该对象结构中值为2;
nStaticImageLen:为静态图片的数据长度;
byte byImageBuffer[nStaticImageLen]:代表静态图片的内容;
动态图片的结构为:
TypeDef Struct
{int nObjectLen;
int nType;
int nImageLinkLen;
byte byImageLink[nImageLinkLen];
int nImageDefLen;
byte byDefImage[nImageDefLen];
}Dynamic-Image;
nObjectLen:代表动态图片对象的长度;
nType:在该对象结构中值为3;
nImageLinkLen:代表图片链接的长度;
byte byImageLink[nImageLinkLen]:为图片的链接;
nImageDefLen:代表默认的图片的长度;
byte byDefImage[nImageDefLen]:存储默认的图片的内容,当程序解析文件结构时,若链接无效,则将存储的内容取出作为输出到输出设备的内容;
静态表格的结构为:
TypeDef Struct
{int nObj ectLen;
int nType;
int nStaticTableLen;
Byte byTableBuffer[nStaticTableLen];
}Static-I able;
nObjectLen:为静态表格对象结构的长度;
nType:在该对象结构中值为4;
nStaticTableLen:代表静态表格数据的长度;
Byte byTableBuffer[nStaticTableLen]:代表静态表格的内容;
动态表格的结构为:
TypeDef Struct
{int nObjectLen;
int nType;
int nTableLinkLen;
byte byTableLink[nTableLinkLen];
int nTableDefLen;
byte byDefTable[nTableDefLen];
}Dynamic-Table;
nObjectLen:为动态表格对象结构的长度;
nType:在该对象结构中值为5;
nTableLinkLen:代表动态表格链接的长度;
byte byTableLink[nTableLinkLen]:为动态表格的链接;
nTableDefLen:代表默认的表格的内容的长度;
byte byDefTable[nTableDefLen]:存储默认的表格的内容,程序解析文件结构时,若链接无效,则将存储的内容取出作为输出到输出设备的内容;
上述为储量报告六种对象元素的控制结构,程序对相应的文件结构进行解析并将对应的储量报告显示在输出设备上。具体的方法实施者可根据实际需要去定义文件结构的对象元素从而对储量报告的内容进行相应的控制,比如:在静态文本结构中,可以定义一些属性元素,对文本的字体,字号,颜色等属性进行设置。
有了以上文件结构后,储量报告的生成方法如下:
A:通过人机交互方法产生一个符合以上文件结构的文件;
B:软件的程序对文件结构的各元素进行解释,静态的部分直接呈现在储量报告中,动态的内容则通过动态的结构含有的链接去对应获取系统中的数据元素;
C:如果当前动态对象的链接无效,则由文件中默认的数据取代。
以上所述,仅为本发明的一个具体的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。