本发明涉及计算机应用技术领域,具体为一种word中存储管理器。
背景技术:
在word插件开发过程中,如自动计算、样式锁定、表单填报等功能,需要存储大量的控制记录信息,这些信息必须能存储在word文档中,不能分离式存储。
使用word的document.customdocumentproperties为基础数据存放处,存储类型为string类型,每个string存储最大限制是255字符;
document.customdocumentproperties只对string类型的name进行保存和提取,不能区分哪些name可用或不可用的,也没有对大块数据的存储分配支持与回收机制,因此必须设计存储管理器,以实现空间的分配和回收、大块数据的支持功能。
word本身的开放技术中没有相应的存储管理,这就要求我们必须找到word本身的一个基础数据机制,并且基于此创造存储管理器。
技术实现要素:
针对现有技术的不足,本发明提供了一种word中存储管理器,它能实现空间的分配和回收、大块数据的支持功能,以克服现有技术的不足。
为实现以上目的,本发明通过以下技术方案予以实现:word中存储管理器,包括如下步骤:
1)使用微软vsto技术开发word插件;
2)存储管理器的工作:
a)当外部申请分配时,申请类别名称和要存储内容及内容长度,存储管理器则计算需要多少个空闲块,然后查询此类别是否有可用的空闲块以及是否足够,若有足够的空闲块,则顺序提取空闲块的序号,返回给外部申请者;
b)若没有足够的空闲块,则存储管理器分配固定数量的空闲块,空闲块的序号从未使用的最大值开始赋值,然后从空闲块列表头部顺序分配出所需的空闲块序号序列;
c)存储管理器将要存储的数据进行分块,然后按分配的空闲块序列组成“类别”+空闲块序号的变量名称,在document.customdocumentproperties中建立此变量,并且存入分块的数据;分配与存储完成;
d)外部申请者记录分配的类别和空闲块序列;当外部使用者不需要存储空间时,则向存储管理器传递释放操作以及记录的类别、分配的空闲块序列,存储管理器则将记录的类别和空闲块序列组合成变量名称,到document.customdocumentproperties中删除此变量和释放其空间,然后将空闲块序号放到此类别的空闲块列表的尾部,则释放完成。
有益效果
与现有技术相比,在word中开发插件中,使用内容控件唯一可以操作的属性placeholdertext可以存储有限数据(256字符),本发明将扩展开发了word文档内部的存储管理器,它能突破256字符的限制,极大扩展了内容控件的存储限制,以实现空间的分配和回收、大块数据的支持等功能。
附图说明
图1为本发明的实施例的原理图。
具体实施方式
本发明的实施例:word中存储管理器,包括如下步骤:
1)使用微软vsto技术开发word插件;
2)存储管理器的工作:
a)当外部申请分配时,申请类别名称和要存储内容及内容长度,存储管理器则计算需要多少个空闲块,然后查询此类别是否有可用的空闲块以及是否足够,若有足够的空闲块,则顺序提取空闲块的序号,返回给外部申请者;
b)若没有足够的空闲块,则存储管理器分配固定数量的空闲块,空闲块的序号从未使用的最大值开始赋值,然后从空闲块列表头部顺序分配出所需的空闲块序号序列;
c)存储管理器将要存储的数据进行分块,然后按分配的空闲块序列组成“类别”+空闲块序号的变量名称,在document.customdocumentproperties中建立此变量,并且存入分块的数据;分配与存储完成;
d)外部申请者记录分配的类别和空闲块序列;当外部使用者不需要存储空间时,则向存储管理器传递释放操作以及记录的类别、分配的空闲块序列,存储管理器则将记录的类别和空闲块序列组合成变量名称,到document.customdocumentproperties中删除此变量和释放其空间,然后将空闲块序号放到此类别的空闲块列表的尾部,则释放完成。
上述说明示出并描述了发明的若干优选实施例,但如前所述,应当理解发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离发明的精神和范围,则都应在发明所附权利要求的保护范围内。
1.一种word中存储管理器,其特征在于,包括如下步骤:
1)使用微软vsto技术开发word插件;
2)存储管理器的工作:
a)当外部申请分配时,申请类别名称和要存储内容及内容长度,存储管理器则计算需要多少个空闲块,然后查询此类别是否有可用的空闲块以及是否足够,若有足够的空闲块,则顺序提取空闲块的序号,返回给外部申请者;
b)若没有足够的空闲块,则存储管理器分配固定数量的空闲块,空闲块的序号从未使用的最大值开始赋值,然后从空闲块列表头部顺序分配出所需的空闲块序号序列;
c)存储管理器将要存储的数据进行分块,然后按分配的空闲块序列组成“类别”+空闲块序号的变量名称,在document.customdocumentproperties中建立此变量,并且存入分块的数据;分配与存储完成;
d)外部申请者记录分配的类别和空闲块序列;当外部使用者不需要存储空间时,则向存储管理器传递释放操作以及记录的类别、分配的空闲块序列,存储管理器则将记录的类别和空闲块序列组合成变量名称,到document.customdocumentproperties中删除此变量和释放其空间,然后将空闲块序号放到此类别的空闲块列表的尾部,则释放完成。