太阳城集团

  • / 11
  • 下载费用:30 金币  

一种本地缓存方法.pdf

摘要
申请专利号:

太阳城集团CN201510503426.3

申请日:

2015.08.17

公开号:

CN105045728A

公开日:

2015.11.11

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20150817|||公开
IPC分类号: G06F12/08 主分类号: G06F12/08
申请人: 浪潮通用软件有限公司
发明人: 舒鹏飞
地址: 250101山东省济南市高新区浪潮路1036号
优先权:
专利代理机构: 济南信达专利事务所有限公司37100 代理人: 孟峣
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201510503426.3

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2018.05.01|||2015.12.23|||2015.11.11

法律状态类型:

太阳城集团授权|||实质审查的生效|||公开

摘要

本发明公开了一种本地缓存方法,包括如下步骤:首先对外提供功能界面格式的本地缓存和恢复接口;然后对外提供功能界面数据的本地缓存和恢复接口;最后根据本地缓存的功能调用相应的格式或数据的本地缓存和恢复接口。本发明的一种本地缓存方法与现有技术相比,通过格式缓存接口记录和恢复某个功能的界面格式,通过数据缓存接口记录和恢复用户输入某个功能界面的数据太阳城集团;从而满足各种缓存需求,满足各种使用人员的操作习惯,灵活性高,实用性强,易于推广。

权利要求书

1.一种本地缓存方法,其特征在于,包括如下步骤:首先对外提供功能界面格式的本地缓存和恢复接口;然后对外提供功能界面数据的本地缓存和恢复接口;最后根据本地缓存的功能调用相应的格式或数据的本地缓存和恢复接口。2.根据权利要求1所述的一种本地缓存方法,其特征在于,所述功能界面格式的本地缓存和恢复接口中,格式缓存接口用于区分数据库实例、操作员创建本地的格式缓存文件;格式恢复接口用于区分数据库实例、操作员找到相应的格式缓存文件并重置界面。3.根据权利要求2所述的一种本地缓存方法,其特征在于,所述功能界面格式的本地缓存接口提供过程为:1)对外提供一个接口,接口有两个参数:要缓存格式的界面控件、唯一标识该界面控件的标识;2)实现界面格式的本地缓存接口:创建一级格式缓存文件夹;在一级格式缓存文件夹下继续按数据库实例和操作员的组合创建二级格式缓存文件夹;在二级格式缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;将通过参数传入的界面控件的语法保存到上一步创建的格式缓存文件中。4.根据权利要求2所述的一种本地缓存方法,其特征在于,所述功能界面格式的本地缓存接口提供过程为:1)对外提供一个接口,接口有两个参数:要恢复本地缓存格式的界面控件、唯一标识该界面控件的标识;2)实现界面格式的本地缓存恢复接口:按照格式缓存文件的创建规则获取格式缓存文件名,该获取的格式缓存文件名中包含完整路径;读取格式缓存文件的内容并重置相关界面控件。5.根据权利要求1所述的一种本地缓存方法,其特征在于,所述功能界面数据的本地缓存和恢复接口中,数据缓存接口用于区分数据库实例、操作员创建本地的数据缓存文件;数据恢复接口用于区分数据库实例、操作员找到相应的数据缓存文件并将文件的内容逐个赋值到相应的界面控件上,赋值后触发原有界面的值改变事件,完成重新恢复的数据是否合法的校验。6.根据权利要求5所述的一种本地缓存方法,其特征在于,所述功能界面数据的本地缓存接口提供过程为:1)对外提供一个接口,接口有两个参数:要缓存数据的界面控件、唯一标识该界面控件的标识;2)实现功能界面数据的本地缓存接口:在程序目录下创建一级数据缓存文件夹;在一级数据缓存文件夹下继续按数据库实例和操作员的组合创建二级数据缓存文件夹;在二级数据缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;将通过参数传入的界面控件中的数据导出到上一步创建的数据缓存文件中。7.根据权利要求5所述的一种本地缓存方法,其特征在于,所述功能界面数据的本地缓存恢复接口提供过程为:1)对外提供一个接口,接口有两个参数:要恢复本地缓存数据的界面控件、唯一标识该界面控件的标识;2)实现功能界面数据的本地缓存恢复接口:按照数据缓存文件的创建规则获取数据缓存文件名,该文件名包含其获取完整路径;读取数据缓存文件的内容并逐个单元格赋值到界面控件,赋值后并触发界面控件本身的数据校验事件,判断缓存数据是否仍然合法。

说明书

一种本地缓存方法

技术领域

太阳城集团本发明涉及计算机技术领域,具体地说是一种本地缓存方法。

背景技术

通用ERP软件产品一般应用比较复杂,单据太阳城集团项多且难以满足所有使用人员的操作习惯,实际使用中普遍存在这样的需求:表格窗口要能够记住我上次设置的列顺序及宽度、索引窗口要能够记住我上次输入的条件太阳城集团、单据太阳城集团在没有完整录入(不符合单据保存条件)的情况下能够缓存在本地,下次登录后继续完成录入等等,基于此,本发明提供提供一种可满足上述需求的本地缓存方法。

发明内容

本发明的技术任务是针对以上不足之处,提供一种本地缓存方法。

太阳城集团本发明解决其技术问题所采用的技术方案是:

太阳城集团一种本地缓存方法,包括如下步骤:

首先对外提供功能界面格式的本地缓存和恢复接口;

太阳城集团然后对外提供功能界面数据的本地缓存和恢复接口;

太阳城集团最后根据本地缓存的功能调用相应的格式或数据的本地缓存和恢复接口。

所述功能界面格式的本地缓存和恢复接口中,格式缓存接口用于区分数据库实例、操作员创建本地的格式缓存文件;格式恢复接口用于区分数据库实例、操作员找到相应的格式缓存文件并重置界面。

所述功能界面格式的本地缓存接口提供过程为:

1)对外提供一个接口,接口有两个参数:要缓存格式的界面控件、唯一标识该界面控件的标识;

2)实现界面格式的本地缓存接口:

创建一级格式缓存文件夹;

在一级格式缓存文件夹下继续按数据库实例和操作员的组合创建二级格式缓存文件夹;

太阳城集团在二级格式缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;

将通过参数传入的界面控件的语法保存到上一步创建的格式缓存文件中。

所述功能界面格式的本地缓存接口提供过程为:

太阳城集团1)对外提供一个接口,接口有两个参数:要恢复本地缓存格式的界面控件、唯一标识该界面控件的标识;

太阳城集团2)实现界面格式的本地缓存恢复接口:

太阳城集团按照格式缓存文件的创建规则获取格式缓存文件名,该获取的格式缓存文件名中包含完整路径;

太阳城集团读取格式缓存文件的内容并重置相关界面控件。

所述功能界面数据的本地缓存和恢复接口中,数据缓存接口用于区分数据库实例、操作员创建本地的数据缓存文件;数据恢复接口用于区分数据库实例、操作员找到相应的数据缓存文件并将文件的内容逐个赋值到相应的界面控件上,赋值后触发原有界面的值改变事件,完成重新恢复的数据是否合法的校验。

所述功能界面数据的本地缓存接口提供过程为:

1)对外提供一个接口,接口有两个参数:要缓存数据的界面控件、唯一标识该界面控件的标识;

2)实现功能界面数据的本地缓存接口:

太阳城集团在程序目录下创建一级数据缓存文件夹;

太阳城集团在一级数据缓存文件夹下继续按数据库实例和操作员的组合创建二级数据缓存文件夹;

在二级数据缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;

将通过参数传入的界面控件中的数据导出到上一步创建的数据缓存文件中。

太阳城集团所述功能界面数据的本地缓存恢复接口提供过程为:

1)对外提供一个接口,接口有两个参数:要恢复本地缓存数据的界面控件、唯一标识该界面控件的标识;

太阳城集团2)实现功能界面数据的本地缓存恢复接口:

按照数据缓存文件的创建规则获取数据缓存文件名,该文件名包含其获取完整路径;

太阳城集团读取数据缓存文件的内容并逐个单元格赋值到界面控件,赋值后并触发界面控件本身的数据校验事件,判断缓存数据是否仍然合法。

太阳城集团本发明的一种本地缓存方法和现有技术相比,具有以下有益效果:

本发明的一种本地缓存方法,对原有的软件开发方式没有任何影响,可以以扩展的模式在原有代码的基础上调用相关组件,完成格式或数据的本地缓存和恢复,在数据缓存方面该技术能够充分利用原有软件的业务逻辑处理保证重新恢复的数据合法有效。本发明的本地缓存技术具有简单、实用、通用的特点;本方法通过格式缓存接口记录和恢复某个功能的界面格式,通过数据缓存接口记录和恢复用户输入某个功能界面的数据太阳城集团;从而满足各种缓存需求,满足各种使用人员的操作习惯,灵活性高,实用性强,易于推广。

具体实施方式

太阳城集团下面结合具体实施例对本发明作进一步说明。

本发明的一种本地缓存方法,包括如下步骤:

首先对外提供功能界面格式的本地缓存和恢复接口;

太阳城集团然后对外提供功能界面数据的本地缓存和恢复接口;

最后根据本地缓存的功能调用相应的格式或数据的本地缓存和恢复接口。

所述功能界面格式的本地缓存和恢复接口中,格式缓存接口用于区分数据库实例、操作员创建本地的格式缓存文件;格式恢复接口用于区分数据库实例、操作员找到相应的格式缓存文件并重置界面。

所述功能界面格式的本地缓存接口提供过程为:

1)对外提供一个接口,接口有两个参数:

datawindowp_dw:要缓存格式的界面控件;

太阳城集团stringp_ljbs:唯一标识该界面控件的标识;

太阳城集团2)实现界面格式的本地缓存接口:

创建一级格式缓存文件夹;

在一级格式缓存文件夹下继续按数据库实例和操作员的组合创建二级格式缓存文件夹;

太阳城集团在二级格式缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;

太阳城集团将通过参数传入的界面控件的语法保存到上一步创建的格式缓存文件中。

太阳城集团所述功能界面格式的本地缓存接口提供过程为:

1)对外提供一个接口,接口有两个参数:

datawindowp_dw:要恢复本地缓存格式的界面控件;

stringp_ljbs:唯一标识该界面控件的标识;

太阳城集团2)实现界面格式的本地缓存恢复接口:

太阳城集团按照格式缓存文件的创建规则获取格式缓存文件名,该获取的格式缓存文件名中包含完整路径;

太阳城集团读取格式缓存文件的内容并重置相关界面控件。

所述功能界面数据的本地缓存和恢复接口中,数据缓存接口用于区分数据库实例、操作员创建本地的数据缓存文件;数据恢复接口用于区分数据库实例、操作员找到相应的数据缓存文件并将文件的内容逐个赋值到相应的界面控件上,赋值后触发原有界面的值改变事件,完成重新恢复的数据是否合法的校验。

太阳城集团所述功能界面数据的本地缓存接口提供过程为:

1)对外提供一个接口,接口有两个参数:

datawindowp_dw:要缓存数据的界面控件;

stringp_ljbs:唯一标识该界面控件的标识;

2)实现功能界面数据的本地缓存接口:

在程序目录下创建一级数据缓存文件夹;

太阳城集团在一级数据缓存文件夹下继续按数据库实例和操作员的组合创建二级数据缓存文件夹;

太阳城集团在二级数据缓存文件夹下以传入的唯一标识参数命名并创建缓存文件;

太阳城集团将通过参数传入的界面控件中的数据导出到上一步创建的数据缓存文件中。

太阳城集团所述功能界面数据的本地缓存恢复接口提供过程为:

1)对外提供一个接口,接口有两个参数:

datawindowp_dw:要恢复本地缓存数据的界面控件;

太阳城集团stringp_ljbs:唯一标识该界面控件的标识;

2)实现功能界面数据的本地缓存恢复接口:

太阳城集团按照数据缓存文件的创建规则获取数据缓存文件名,该文件名包含其获取完整路径;

读取数据缓存文件的内容并逐个单元格赋值到界面控件,赋值后并触发界面控件本身的数据校验事件,判断缓存数据是否仍然合法。

实施例:

一、首先提供开发界面格式的本地缓存接口,提供过程具体为:

太阳城集团functionintegerf_sc_dwsyntax_save(datawindowp_dw,stringp_ljbs)//保存数据窗口语法

ls_dir=trim(gscurdir)//软件的安装目录

太阳城集团ls_dir1=ls_dir+"$LocalSyntax$"//格式文件本地缓存目录

太阳城集团ls_server=sqlca.servername//数据库实例名

//格式文件的绝对路径-软件安装目录\格式临时目录\数据库实例名+数据库类型+帐套编号+操作员编号\数据窗口唯一别名

ls_dir2=ls_dir+"$LocalSyntax$\"+ls_server+GSkind+GsZtbh+"-"+GsZgbh

ls_file=ls_dir2+"\"+p_ljbs+".srd"

//获取格式内容

ls_SynTax=p_dw.Object.DataWindow.Syntax

//创建格式文件并更新最新格式内容

ifnotDirectoryExists(ls_dir2)then

CreateDirectory(ls_dir1)

CreateDirectory(ls_dir2)

endif

ll_FileNum=fileopen(ls_file,StreamMode!,Write!,Shared!,Replace!)//

太阳城集团Forll_i=1Toll_Writes

ls_data=Mid(ls_SynTax,ll_CurrentPos,32765)

ll_CurrentPos+=32765

IfFileWrite(ll_FileNum,ls_data)=-1Then

FileClose(ll_FileNum)

Return-1

Endif

Next

FileClose(ll_FileNum)。

二、提供开发界面格式的本地恢复接口,具体提供过程为:

太阳城集团globalfunctionintegerf_sc_dwsyntax_read(datawindowp_dw,stringp_ljbs)//读取数据窗口语法

太阳城集团ls_dir=trim(gscurdir)//软件的安装目录

太阳城集团ls_server=sqlca.servername//数据库实例名

太阳城集团//格式文件的绝对路径-软件安装目录\格式临时目录\数据库实例名+数据库类型+帐套编号+操作员编号\数据窗口唯一别名

太阳城集团ls_file=ls_dir+"$LocalSyntax$\"+ls_server+GSkind+GsZtbh+"-"+GsZgbh+"\"+p_ljbs+".srd"

//备份原有格式

ls_SynTax_old=p_dw.Object.DataWindow.Syntax

太阳城集团//备份原有SQL语法

太阳城集团ls_sqlselect_old=p_dw.Describe("datawindow.table.select")//Upper(gsSqlTrans(p_dw.Describe("datawindow.table.select")))

//缓存格式文件不存在则返回-1

IFNOTFileExists(ls_file)THENRETURN-1

//打开格式文件

ll_FileNum=FileOpen(ls_file,StreamMode!,Read!,SHARED!,Replace!)//

//获取缓存的格式内容

太阳城集团FORi=1TOloops

太阳城集团bytes_read=FileRead(ll_FileNum,ls_data)

太阳城集团ls_SynTax=ls_SynTax+ls_data

NEXT

太阳城集团FileClose(ll_FileNum)//关闭格式文件

太阳城集团//数据窗口按缓存格式重置

p_dw.Create(ls_SynTax,ls_err)

太阳城集团//恢复原有SQL语法

p_dw.Modify("datawindow.table.select=~""+ls_sqlselect_old+"~"")。

三、提供开发界面数据的本地缓存接口,具体提供过程为:

globalfunctionintegerf_sc_dwsave(datawindowp_dw,stringp_ljbs)//1success0null-1error

ls_dir=trim(gscurdir)//软件的安装目录

太阳城集团ls_dir1=ls_dir+"$LocalData$"//数据文件本地缓存目录

ls_server=sqlca.servername//数据库实例名

太阳城集团//数据文件的绝对路径-软件安装目录\数据临时目录\数据库实例名+数据库类型+帐套编号+操作员编号\数据窗口唯一别名

ls_dir2=ls_dir+"$LocalSyntax$\"+ls_server+GSkind+GsZtbh+"-"+GsZgbh

太阳城集团ls_file=ls_dir2+"\"+p_ljbs+".XLS"

//创建目录

太阳城集团ifnotDirectoryExists(ls_dir2)then

CreateDirectory(ls_dir1)

太阳城集团CreateDirectory(ls_dir2)

endif

ifp_dw.SaveAsAscII(ls_file,'','')=1then

messagebox('提示太阳城集团','导出数据成功!')

return1

else

太阳城集团messagebox('提示太阳城集团','导出数据失败!')

return-1

endif

return1。

四、提供开发界面数据的本地恢复接口,具体提供过程为:

太阳城集团globalfunctionintegerf_sc_dwread(datawindowp_dw,stringp_ljbs)

ls_dir=trim(gscurdir)//软件的安装目录

ls_server=sqlca.servername//数据库实例名

//缓存文件的绝对路径-软件安装目录\数据临时目录\数据库实例名+数据库类型+帐套编号+操作员编号\数据窗口唯一别名

ls_file=ls_dir+"$LocalData$\"+ls_server+GSkind+GsZtbh+"-"+GsZgbh+"\"+p_ljbs+".XLS"

OLEObjectlole_xls

Integerli_return

太阳城集团//产生oleobject的实例

太阳城集团lole_xls=CREATEOLEObject

//连接ole对象

太阳城集团li_return=lole_xls.ConnectToNewObject("excel.application")

IFli_return<0THEN

MessageBox("连接失败!","连接到EXCEL失败,请确认您的系统是否已经安装EXCEL!~r~n错误代码:"+String(li_return))

RETURN-1

ENDIF

太阳城集团//打开EXCEL文件

太阳城集团lole_xls.Application.Workbooks.Open(ls_file)

太阳城集团longll_xls_Rcount,ll_xls_Ccount

ll_xls_Rcount=lole_xls.ActiveSheet.UsedRange.Rows.Count

ll_xls_Ccount=lole_xls.ActiveSheet.UsedRange.Columns.Count

太阳城集团ifll_xls_Rcount<2orisnull(ll_xls_Rcount)thengotoerr

//列名匹配

太阳城集团Stringls_Col[],ls_ColType[]

Longll_Cell[]

太阳城集团Stringls_colname,ls_temp,ls_coltext

Longll_count,n,nn,i=0

ll_count=Long(pdw.Describe("datawindow.column.count"))

太阳城集团IFIsNull(ll_count)ORll_count<1THENGOTOerr

FORn=1TOll_count

ls_colname=pdw.Describe("#"+String(n)+".Name")

ls_temp=pdw.Describe(ls_colname+".visible")

太阳城集团IFls_temp="0"THENCONTINUE//

ls_coltext=Trim(pdw.Describe(ls_colname+"_t.text"))

太阳城集团IFIsNull(ls_coltext)ORTrim(ls_coltext)=''THENCONTINUE

FORnn=1TOll_xls_Ccount

太阳城集团ls_temp=Trim(String(lole_xls.ActiveSheet.Cells(1,nn).value))//第一行要求是列名

太阳城集团IFls_temp=ls_coltextTHENEXIT//通过判断标题

NEXT

IFnn>ll_xls_CcountORnn<1THENCONTINUE

i++

ls_Col[i]=ls_colname//列名

太阳城集团ls_ColType[i]=pdw.Describe("#"+String(n)+".ColType")//类型

太阳城集团ll_Cell[i]=nn//EXCEL列序

NEXT

ll_count=UpperBound(ls_Col[])

IFll_count<1THENGOTOerr

//数据窗口赋值

Longll_row_xls=2,ll_row_dw

太阳城集团Stringls_data

Doubleld_data

太阳城集团DOWHILEll_row_xls<=ll_xls_Rcount

太阳城集团IFll_row_xls=2THENpdw.SelectRow(0,FALSE)

太阳城集团ll_row_dw=pdw.InsertRow(0)

pdw.SelectRow(ll_row_dw,TRUE)

FORi=1TOll_count

太阳城集团ls_data=Trim(String(lole_xls.ActiveSheet.Cells(ll_row_xls,ll_Cell[i]).Value))

CHOOSECASELeft(Upper(ls_ColType[i]),3)

太阳城集团CASE"DEC","NUM","REA","LON","INT","ULO"

ld_data=Double(ls_data)

pdw.SetItem(ll_row_dw,ls_Col[i],ld_data)

CASEELSE

太阳城集团pdw.SetItem(ll_row_dw,ls_Col[i],ls_data)

ENDCHOOSE

NEXT

太阳城集团ll_row_xls++

LOOP//

lole_xls.Application.quit()

lole_xls.DisconnectObject()

DESTROYlole_xls

RETURN1//success

err:

lole_xls.Application.quit()

lole_xls.DisconnectObject()

DESTROYlole_xls

太阳城集团RETURN-1//。

太阳城集团五、最后,将需要本地缓存的功能调用相应的格式或数据的本地缓存和恢复接口。其具体实现过程为:

f_sc_dwsyntax_save(datawindowp_dw,stringp_ljbs)//保存本地格式

太阳城集团f_sc_dwsyntax_read(datawindowp_dw,stringp_ljbs)//读取并恢复本地格式

f_sc_dwsave(datawindowp_dw,stringp_ljbs)//界面数据缓存本地

f_sc_dwread(datawindowp_dw,stringp_ljbs)//恢复本地缓存数据。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

太阳城集团除说明书所述的技术特征外,均为本专业技术人员的已知技术。

关 键 词:
一种 本地 缓存 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种本地缓存方法.pdf
链接地址:http://zh228.com/p-6401528.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');