OLE技术论文
OLE技术论文(精选8篇)
OLE技术论文 第1篇
关键词:PowerBuilder,OLE,Word,VBA
前言
大多数的管理软件都具有大量的报表打印功能;但只能以程序员设计的规则报表的形式展示数据库中的数据。然而实际应用中所需表格常常是不规则的, 需将数据库某些记录中某些字段的数据放在不规则表格中的任意位置或有不定的数据列选项;表格中还经常包含数据库以外的内容。这时, 常规的报表形式就很难实现, 因此, 实现能够根据数据需要生成相应的不规则报表是很有必要的。
Power Builder (以下简称PB) 是Sybase公司推出的优秀的数据库前端开发工具, 虽然具有强大的数据窗口形式的报表, 但格式比较死板, 用户自身不易修改。而Word作为office系列软件之一, 凭借其强大的文字排版功能和简单实用的操作, 获得了广泛应用。若将排版、打印任务交给Word处理, 容易获得较好的效果。
一、原理
OLE (object linking and embed-ding) 技术通过“对象”方式集成Windows应用程序。使用OLE技术, 一个应用程序可以同其他应用程序合作, 以生成包含有不同种类对象的复合文档, 且文档中所包含的对象易于被当前程序操作。
在PB中, 通过OLE控件可方便地实现OLE对象的链接或嵌入。借助于OLE控件, 可以在应用程序中嵌入或链接OLE服务器程序。这样就可以通过编程方式激活OLE服务器程序, 从而完成OLE服务程序的编辑、修改等相关操作。
本文通过使用OLE对象链接和嵌入技术, 将PB与Word连接起来, 将数据库中的数据写入到Word中, 实两者之间的通信和数据交换。
二、实现方法
将PB中OLE控件的OLE对象与远程对象Word.Application连接, 远程对象Word.Application的属性、方法、事件将会添加到OLE Object对象中。OLE对象就可以调用Documents、Active Document、Selection等子对象的属性和方法, 完成对Word文档的数据写入操作。
具体实现步骤 (关键代码) 如下:
1、声明OLE对象
2、建立ole_word与Word的远程对象连接
3、调用ole_word对象实例的属性和方法
4、将数据库中检索出的数据写入到Word文档中
5、保存新建的Word文档。
6) 文档保存完毕, 断开连接, 释放OLE对象
结束语
采用OLE技术, 将PB开发的应用程序与Word应用程序结合起来, 实现了将数据以用户熟悉的word文档的形式提供给用户, 便于用户操作。在作者所实施的诸多系统中, 都成功地运用了该技术, 取得了不错的效果。
参考文献
[1]张全法:《数据库数据在Word中的不规则表格化打印》, 《河南科技大学学报》, 2007.2。
Ole’:精品超市跟Mall走 第2篇
对照通常Ole’的选址标准,南宁并不十分吻合。Ole’主打进口商品,有海外生活背景或者追求西式生活的顾客是主要的目标客户群。但是集中在南宁周边的500强企业均是工厂。戴红1991年进入华润,从分管采购到做Ole’的总经理。一家店一年能做多少生意、守多少年后可以开始赚钱,她只要看看这个城市的专卖店,了解一下当地的消费习惯,大概就能算出来。
可在南宁,她发现不论是五星级酒店,还是各类专卖店都很少。Ole’之所以能在南宁获得成功,“首先是万象城的成功”。开业后,戴红看到很多餐馆门口到中午一两点钟都在大排长龙,“以前南宁餐饮连锁的东西很少,要么是在酒店吃,要么是在外面餐馆吃,”而“Mall本身体量大,休闲购物一站式,带给南宁人不同的感觉。”类似的情况还出现在郑州、武汉、西安。
最初,华润万家对于新业态的扩张持谨慎态度。
2004年,第一家Ole’开在深圳万象城—这也是华润集团的第一个购物中心项目。四年后的第二家仍是在深圳。“希望首先在主战场做好,等它成为可复制的生意模型时,再往外推,”戴红说。真正的跨区域发展是从2010年开始,上海、杭州、宁波三家店都在这一年开业。目前,它是中国内地店铺数最多的高端超市品牌,总共有26家。
Ole’把城市简单分为两类:四个一线城市,其余都被看做是二线城市。在扩张过程中,他们希望围绕北、上、深、成四个区域总部逐步辐射到周边的省会城市。
但Ole’并没有严格按照先北上广深,而后传统二线城市的顺序—广州被跳过了。对Ole’来说,当时的广州还没有合适的Mall。
在戴红看来,Ole’一定不能开独立店铺。“不同于大卖场可以吸引高、中、低端各个阶层的顾客,Ole’面积小、品类窄,我们只能满足我们想要满足的顾客,所以要看Mall能不能带来这样的客流。”
在选择Mall时,一看业态组合,二看管理方的经营理念。戴红认为这两点决定这个商场是传统的还是现代的。以广州天河商圈的三家Mall为例:1996年开业的天河城是国内最早的Mall之一、2007年开业的正佳广场曾是亚洲面积最大的单体购物中心,但相比之下,2011年开业的太古汇所汇聚的品牌更高端:Hermès的亚洲首家家居店、LV全国最大旗舰店、Chanel华南区首店等。而广州另一处奢侈品品牌的集中地—丽柏广场,除了购物,并不提供吃喝玩乐等其他休闲方式,不是严格意义上的Mall。所以,从Ole’的角度看,太古汇就是他们心目中的现代Mall。
Ole’倾向于和成熟的地产商合作。除了同集团—华润置地下设的万象城,它们主要的合作伙伴包括恒隆地产、嘉里建设和太古地产。在江苏开第一家店时,Ole’既没有选择省会城市南京,也没有开在经济更发达的苏州,而是选择了无锡。这是因为恒隆广场进驻了无锡的市中心商圈,周边有区政府、酒店、银行等,“配套特别好”。不过通常,省会城市仍然是Ole’的第一选择。比如戴红也曾看中南京德基广场,但因为与发展商条件没有谈拢而放弃了。最后是北京华联旗下的精品超市品牌—BHG开在了那里。
Ole’坚持两点:一是保证品牌形象,二要保证利润预期—“如果租约期内不能赚钱,一定不会为了某个城市,或是为了保店铺数量而非要开这家店。”
与地产商形成的这种稳定的合作关系对于双方都有好处。对地产商而言,它们可以利用Ole’去打广告做进一步的招商,“影院+冰场+Ole’”是它们的三大法宝。“在传统一线城市,如果考虑要引入高端超市业态,或许还有其他品牌备选,但要深入二线城市,Ole’往往是唯一选择。”戴红说。
Ole’借助Shopping Mall过去五年在国内的迅速发展,加快了开店的步伐。由中国连锁经营协会与德勤合作的研究显示,从2009年到2013年,全国年均新增购物中心约300家。而且,购物中心投资正持续向传统二三线城市倾斜。有超过半数的开发商倾向于在二三线城市的顶级商圈选址、开店。
在传统一线城市,Ole’要求Mall有五星级酒店、商务公寓、写字楼的配套资源,但在新一线城市,好的地理位置最关键。对戴红而言,这意味着可以做全城市的生意。所以Ole’在Mall的选择上也更加慎重。“在一线城市,任何一个门店都不可能做全城的生意。大城市可以有几个Ole’,但小城市只能容纳一个Ole’,我一定要等那个最合适的Mall。”她以武汉和长沙为例。这两个城市的基础条件差不多,而且长沙离深圳总部更近,只是因为合适的项目没有出现,Ole’才没进入。
“全城的生意”带来的是更高的回报。“二线城市的客单价有时比一线城市高三四成”,Ole’深圳欢乐海岸店的总经理莫壮杰告诉《第一财经周刊》。因为Ole’在新一线城市的货品优势更突出,而传统一线城市顾客往往有更多选择,“有顾客清楚地告诉我这个东西在香港卖多少钱。”
Ole’在货品选择上也尽量保持一致性,相同的货品占80%至90%。“年轻人追求的东西都差不多,说起ZARA、H&M大家都知道。”它们做的仅仅是一些微调—比如在上海烘焙类的原材料已经是主力商品,但在东北需求还没那么大。为了吸引地产商与Ole’合作,Ole’从门店升级入手—比如现在的第四代店新设了吧台、自助结账系统等。“对比短期租金上的回报,地产商更关注Mall长期的发展,要让它们看到Ole’在商品、设计、服务上的进步。”
Ole’的目标是到2016年总共开50家门店。不过,在不增加区域总部的前提之下异地管理的难度更大,而且要为新开店配备有足够工作经验的团队,这些对于戴红来说,都是在经历快速发展期时不得不解决的问题。
戴红眼里的新一线
C = CBNweekly D = 戴红 华润万家助理总裁兼Ole’事业部总经理
C:在进入二三线城市市场时,策略上有什么不同?
D:今年刚好是Ole’十周年。这十年Ole’的发展可以分为几个阶段:从第一间店开在深圳万象城,到四年之后开出第二家深圳益田假日店的第一阶段。2010年进入扩张期,我们到了以上海为中心的东区。并且在这一年同时有了两个业态:Ole’和blt。第三个阶段,也就是2010年之后,开始逐步覆盖传统一线城市以外的全国其他省会城市。选址的时候,我们认为第一得是有能力管理的地方—供应链能不能辐射到,管理半径能不能跟上;第二是有需求的地方。对非省会城市还要看其富裕程度,但GDP只反映一个方面,其他因素包括受海外生活影响的程度、外企数量等都是考量的指标—因为外企能带来更多海外的顾客。另外,我们还要算具体各个店的投入产出比,考虑是否适合进入。
C:在不同的市场,Ole’的定位是否也有所不同?
D:Ole’的定位是引领不一样的生活方式,包括日韩的、西式的、欧美的,要给这个城市带来不同的感觉,这是我们的核心价值。大卖场都有的东西我们没有价格优势,所以不会是我们的重点商品。但在传统一线城市,现在讲得更多的是“满足”。在上海、深圳,消费者比我们更专业,不用引领了,可能今天Ole’有的东西,明天大卖场就有了,这时候我们就要不断去增加,选择更新的东西,同时不断舍弃旧的。
C:Ole’对中长期发展有怎样的规划?
D:现在Ole’和blt两种业态全国一共有41间店,我们的目标是到2016年总共开80间门店,实现50亿元的销售额。商业地产在中国发展太快了,我们跟不上,而且鱼龙混杂。一个城市上百个Shopping Mall,你说要去哪个?在新一线城市我们只会去一两个,所以必须要甄选。
C:从你们的角度看,新一线城市的消费发生了哪些变化?
OLE技术论文 第3篇
1 OLE技术和word对象
OLE(对象链接与嵌套,Object Linking and Embedding)是Microsoft公司同计算机界合作并发展起来的产品规范,目前已发展成为Microsoft公司面向对象策略的基石。许多大的WINDOWS应用程序都是围绕它设计的。从用户的角度讲,OLE是一种能使它们共享不同应用程序信息资源的技术,用户能够构造声、文、图、像、影于一体的复合文档,可以很容易地集成应用程序。从开发的角度看,OLE是一个可解决许多难题的技术。WINDOWS开发者面临的最大的难题之一是让应用程序之间的相互通信,在过去,没有一个工业标准,而OLE所做的正是标准化这些协议。
OLE包含三个概念。即对象、链接和嵌入。对象是应用程序间共享的数据,对象可以是几乎所有的信息类型,如文字、位图、矢量图,甚至于声音注解和录像剪辑等。链接是指在程序设计中把两个或多个分别编写、汇编或编译过的程序集合成单一的实体的处理方法。嵌入是指应用程序所创建的对象包含在另一个应用程序之中。OLE是一组服务功能,它提供了一种用源于不同应用程序的信息创建复合文档的强有力方法。实现OLE交换数据需要一个OLE服务器(Server)和一个包容器(Container,有时也称客户),服务器是指能产生并编辑OLE对象的应用程序,而客户是一个可以将OLE对象链接或嵌入其程序中的应用程序。其工作原理是服务端公开一些对象功能,客户端程序可以通过OLE的机制去驱动服务端程序包含的对象功能,这里的服务端和客户端可以是在同一台计算机上,也可以在同一个网络上的不同计算机上。其结构如图1所示。
Word对象模型是指Word中各种对象之间的相互关系。在Word中,文档、对话框、文本框、图形、图表甚至Word本身都是对象。同时,这些对象都有自己的属性和方法,并且可以通过OLE技术来访问和控制。因此,用户可以通过编程来访问这些已有的对象,操控他们的属性和方法,以完成所期望的功能。
以基于Word对象模型的试题库软件为例,Word是OLE服务器,Word提供的项目是OLE对象,试题库软件是容器。
2 对WORD的控制实现
要实现以Word为OLE服务器的试题库客户程序,需要用一种程序语言来设计完成,这种语言不但要能支持OLE技术,而且要有完善的数据库功能以及能方便地控制Word进行发送指令。Borland公司的Delphi是最佳的选择,它具有丰富而强大的可视组件,对数据库、OLE、Word都能完美地支持。
在本系统中需要调用Ms Word作为试题编辑器和试卷的排版输出工具。通过OLE方式调用Word工作非常方便,程序员可以像调用内部对象一样调用Word对象来完成工作。调用word工作的关键是理解Idispatch接口的工作模式,为了让其他应用程序可以方便调用word提供的功能,word实现了一个Idispatch接口。用户可以通过Windows提供的COM方式获取该接口。用户可以通过Windows API CreateOleObject('word.basic')来获取一个Idispatch接口。控制word的所有命令可以直接在Ms word中得到。
下面就通用题库系统中,在Delphi环境下实现对word的控制程序中的题库管理模块和卷库管理模块部分作一描述。
2.1 题库管理模块
主要任务是试题库的建立和维护。可以完成:在科目的对应章节上新增、修改、删除试题;实现试题的导入导出功能;实现题型编辑的功能;实现查找特定试题的功能以便修改试题。
考虑到试题的形式是多种多样的,系统必须考虑试题中可能有非文本部分。系统应该提供某种机制使用户可以方便的输入这样的试题(含有图片的试题)。基于这个原因,再考虑到试题信息磁盘占用量,把试题和答案分成两种方式(纯文本方式和word文件形式的试题)。同时系统应该提供一种机制使用户可以用较方便的方式输入那些已经存为word文件形式的试题。
如图2为涉及word控制的题库系统中的题库维护模块界面。
其中输入/导入试题部分涉及word控制的代码实现为:
2.2 卷库管理模块
实现的功能之一是自动化出卷。即根据用户对科目考核的具体要求,在试题库中抽取符合要求的题目组成试卷,对试卷及其答案进行自动排版并输出到ms word中供用户进行手工再排版,再根据实际情况调整试题,最后完成试卷的排版输出。
如图3为涉及word控制的题库系统中的卷库维护模块界面。
其中排版打印部分涉及word控制的代码实现为:
3 结束语
在通用题库的试题编辑和试卷生成的浏览、打印等过程中,应用OLE技术对实现WORD的控制实现是目前设计题库管理系统的一种较好的选择。既省却了试题、试卷编辑程序的开发之辛苦,而且利用MS WORD所提供的功能,可以方便、有效地解决文本编辑中的所有问题,故值得选择。
摘要:介绍了在Delphi环境下基于OLE技术和WORD对象模型实现通用题库中试题和试卷编辑、浏览的基本原理,并在此基础上给出了具体的实现过程。
关键词:题库系统,Delphi,OLE,WORD
参考文献
[1]谢俊.通用题库管理系统的设计与实现[J].计算机时代,2008(3).
OLE技术论文 第4篇
爱着弗拉门戈的北方人
来到北京之前, Javi和Yolanda就像爱流浪的吉普赛人一样在世界各国巡演、游历。已经在中国生活了两年多, 还开设有自己的弗拉门戈学校, 但Javi和Yolanda并不会说中文, 上课、演出都是由一个叫安然的中国女孩帮忙翻译。
回溯到爱上弗拉门戈的时光, 那已是多年以前的童年时代。不像很多弗拉门戈舞者那样, 一出生就是吉普赛人, 或者出生在弗拉门戈流行的地区, Javi和Yolanda都在没有任何弗拉门戈基础的城市出生、长大。在不少地方, 南北地区文化差异特别大, 西班牙就是这么一个国家。在西班牙南部地区, 尤其是安达卢西亚, 人们对弗拉门戈爱到骨子里, 她已然是生活的一部分。安达卢西亚的传统节庆从4月春会开始持续到10月份, 大型、小型, 各式各样的弗拉门戈表演每一天都在上演。西班牙的北部地区则完全相反, Javi和Yolanda处于北部的加太福尼亚达区对弗拉门戈没有多大兴趣, 那里的人看上去都很严肃。
虽然生活在北方, 不过Yolanda的老家是在安达卢西亚, 这就是她热爱弗拉门戈的缘由。他们全家人都是“安达卢西亚式”的性格, 热情奔放, 祖母特别喜欢弗拉门戈, Yolanda从小就听着那些充满韵味的安达卢西亚民间音乐和弗拉门戈音乐。Javi有着和Yolanda相似的经历, 是一个和安达卢西亚有着奇妙联系的北方人。Javi有一位住在安达卢西亚的叔叔, 他常坐车去看叔叔, 车上总是放着弗拉门戈音乐, 他为此着迷, 即使到了目的地, Javi还是在车里反复地听弗拉门戈音乐, 听完这一首放下一首。
吉普赛人式的游历
Javi和Yolanda的家庭并不富裕, 学好弗拉门戈却要花费大量的金钱。为了学好弗拉门戈, 年轻他们来到巴塞罗那, 一边打工, 一边学习, 攒够学费了他们就去找老师上课, 看着钱快用完了就赶紧去工作。随着舞技见长, 他们逐渐得到了正式的表演邀约。在西班牙弗拉门戈盛行的地区有专门表演弗拉门戈的酒馆, Javi和Yolanda就在这样的酒馆表演, 经济和生活都渐渐稳定下来。后来, 经过层层筛选, Javi和Yolanda进入到弗拉门戈舞团里, 他们跟着舞团在世界各地巡演, 两人变得稍有名气后, 不同的舞团邀请他们一起巡演。Javi和Yolanda的足迹踏遍了南美洲和欧洲。带着传播弗拉门戈的想法, 他们来到了中国, Javi和Yolanda希望这里像西班牙一样, 既有弗拉门戈舞团, 也有深入人们生活的弗拉门戈酒馆。
Javi说在中国, 人们对弗拉门戈的认识有些误区。说到这个舞蹈, 大家会想到是男人穿着斗牛服装, 女人一定是红裙子, 再叼着一支花。Javi和Yolanda希望能向舞蹈爱好者传递弗拉门戈最原始的味道。
歌者·舞者·吉他手·节拍者
歌者、舞者、吉他手、节拍者 (击掌) , 这是传统弗拉门戈里最基本的4个角色。只不过大概舞蹈看上去更直观, 所以被更多的人了解到。实际上最早的弗拉门戈只有歌唱, Javi说, 在田里干活, 在矿下工作, 在海上工作, 从前唯一能表达人们内心情感的方法就是歌唱。
说到舞团, 国人大概都会想到国内舞团二三十人乃至上百人“气势磅礴”的架势, Javi也曾被“震惊”过, 他说, 在西班牙, 一般的弗拉门戈舞团都是保持“歌者、舞者、吉他手、击掌者”4个基本角色, 如果不止4个表演者, 那么增加的则是各个角色的人数, 10个人的弗拉门戈舞团都已算是大舞团。
尽管弗拉门戈舞者更容易被大众认同, 但事实上在弗拉门戈表演中, 4个角色都有属于自己单独展示的时间。有时候舞者在跳舞, 同时歌者也在唱一句歌词时, 舞者的脚掌是不允许击地声音很大的, 因为这一时刻是属于歌者的, “噼里啪啦”会打断他正在述说的情感。或者吉他手想要秀一段指法时, 舞者也不可以跳得很重。舞团的每一个组成部分都彼此默契地相互尊重。吉他手秀了一段之后会做一个“结”, 相当于一个信号, 告诉舞者我弹完了, 于是舞者就变换出丰富的脚步节奏, 又响又快, 让大家震撼一下, 接着又回到很缓慢的节奏。每个角色都有自己的时刻, 多层次的组合让人久久回味。
近期由Javi和Yolanda在北京主办的弗拉门戈表演《映像》里的吉他手Savla同时也是歌者, 他是西班牙大师级弗拉门戈弹唱艺术家, 与Javi和Yolanda认识多年, 被特地邀请过来合演, Savla的声音和琴声充满了力量和沧桑感, 似乎他的生命里经历了刻骨铭心的重生。节拍击掌者Clair是致力于弗拉门戈推广工作的加拿大舞蹈家, 她有着和Yolanda一样漂亮的披肩和舞姿, 歌声也是醇厚有力。在西班牙和世界各地有许多为弗拉门戈痴迷的艺术家, 他们相识、碰撞, 创造了不一样的视听感受。
应用程序中插入OLE对象的方法 第5篇
Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE是在客户应用程序间传输和共享信息的一组综合标准。OLE基于组件对象模型(COM)并允许开发可在多个应用程序间互操作的可复用即插即用对象。在Visual Basic6.0中,提供了一个OLE容器的功能,允许在用户的应用程序嵌入公式、word、Excel等OLE对象。大大提高了应用程序的功能。类似于windows操作系统自带的写字板,写字板程序有一个重要的功能就是在文档中嵌入各种RTF(丰富格式文本)。如图1所示。
如果想要在自己的应用程序中实现这种功能,就要使用Rich Text Box控件和OLE容器功能。下边首先阐述在Visual Basic6.0中如何实现。
在Visual Basic 6.0中要实现RTF的功能,主要有两种方法,第一种是使用Rich Text Box控件结合OLE容器的功能,此种方法实现起来方便简单,但只能使用在基于windows的窗体应用程序中,在Activex控件等技术中都不能使用,限制了此种方法的应用。
第一种方法的实现:
首先在VB中建立一个标准的windows应用程序,向窗体上添加OLE容器控件和Rich Text Box控件,其中的Rich Text Box控件不是标准的控件,需要通过在控件工具箱点击右键选择【部件】选项,如图2所示。
选中其中的Microsoft Rich Tex Box Control 6.0,这样在控件工具箱中就多了一个Rich Text Box控件。如图所示:,其中第一个是OLE容器控件,第二个就是Rich Text Box控件。
在窗体上加入这两个控件,在加入一个命令按钮,最终的界面如图3所示。
此程序中,我们只是利用OLE容器控件做中介,并不是直接把OLE对象显示在OLE容器中,而是显示在Rich Text Box控件中,所以,需要设置OLE容器对象的Visible属性为False,这样在程序运行起来之后就看不到OLE容器控件了。下边讲解如何实现把OLE对象插入Rich Text Box控件。为命令按钮Command1编写代码:
程序运行时,用户点击按钮,将会打开插入对象对话框,如图4所示。
如果用户选择插入公式,就会自动打开公式编辑器,让用户编辑公式,编辑完成后自动插入到Rich Text Box控件中,如图5所示。
由以上的介绍可以看出,使用第一种方法插入OLE对象的方法是简单快捷的。但这种方法只能用于能使用OLE容器控件的窗体应用程序中。在其他类型的应用程序中无法使用,例如在Active X控件中就不能使用OLE控件容器。
2 使用API函数实现OLE对象的插入
第二种方法的是使用Rich Text Box控件,结合windows API技术,直接在应用程序中调用windows API实现在Rich Text Box控件中插入各种各样的OLE对象,从而实现丰富格式文本的功能。
下边介绍第二种实现向Rich Text Box控件中插入OLE对象的方法,本方法的核心是使用windows API函数的方法。本文将以一个支持RTF功能的Active X控件的实现为例,讲解如何不通过OLE容器控件实现丰富格式文本,如图6所示。
首先,为了在程序中使用OLE技术,首先要引入相应的API函数。
第一个要引入的API是显示插入对象对话框的API,这是此程序中主要的一个API,用来显示插入对象的对话框:
其次,还要引入其它的一些API,要引入的API介绍如下:
此API的功能是根据Class ID得到Com对象的Prog ID,此API需要从VB传递LPOLESTR*参数:
用此API来为OLE方式分配的内存用OLE方式释放:
用此API将一块内存的数据从一个位置复制到另一个位置:
用此API返回UNICODE编码字符串的长度(不包括字符串结束标志):
Private Declare Function lstrlen W Lib"kernel32"(By Val lp String As Long)As Long'Ole UIInsert Object Type中的dw Flags使用的常量。其它功能的核心代码如下:
插入图片的函数代码:
3 总结
本文介绍了两种在应用程序中实现插入OLE对象的方法,其中第一种使用Rich Text Box结合OLE容器控件,第二种方法使用Rich Text Box结合API函数实现插入OLE对象和图片等。在应用程序中使用OLE对象能大大提高应用程序的功能,解决传统应用程序中大部分只能处理字符的缺点。
摘要:该文介绍了在应用程序中使用OLE技术来来插入OLE对象的两种方法,第一种方法是使用微软的OLE容器控件,第二种方法介绍了在不能使用OLE容器控件的时候,如何通过调用API函数插入OLE对象。
OLE技术论文 第6篇
当前比较流行的大型数据库系统包括Oracle, Sybase, Informix和SQL Server等, 小型数据库系统则包括Visual FoxPro和Access等。严格地将, Visual FoxPro是一种集宿主语言和数据库为一体的数据库系统, 它完全可以作为一种编程语言或数据库单独使用。它作为宿主语言和数据库的结合体, 为进行快速数据库应用开发提供了可能。由于各行业的计算机应用层次不一, 水平高低不同, 而且对小微企业来说部署大型数据库系统既不经济, 也不现实。所以小型数据库系统仍有应用空间。这也是低成本信息化中国发展战略的重要组成部分。
Visual FoxPro, 是Microsoft公司从Fox公司的FoxBase数据库软件经过数次改良, 并且移植到Windows之后得来的应用程序开发软件, 主要用于开发数据管理与运算等方面的软件。VFP是Microsoft公司推出的最新可视化数据库管理系统平台, 是功能特别强大的32位数据库管理系统。它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术, 有良好的兼容性、真正的可编译性和较强的安全性, 是目前最快捷、最实用的小型数据库管理系统开发软件之一。
Vis ual FoxPro 6.0/9.0及其中文版, 是可运行于Windows 95/XP和Windows NT/2000平台的32位数据库开发系统, 它不仅可以简化数据库管理, 而且能使应用程序的开发流程更为合理。Visual FoxPro使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。Visual FoxPro6.0/9.0还提供了一个集成化的系统开发环境, 它不仅支持过程式编程技术, 而且在语言方面作了强大的扩充, 支持面向对象可视化编程技术, 并拥有功能强大的可视化程序设计工具, 同时也支持客户/服务器程序设计和XML与Web服务。目前, Visual FoxPro 6.0/9.0是用户收集信息、查询数据、创建集成数据库系统、进行实用系统开发较为理想的工具软件。利用可视化的设计工具和向导, 用户可以快速创建表单、查询和打印报表。
在国内的数据库应用开发中经常会遇到使用复杂报表的情况, 所谓复杂报表也就是通常所说的中国式报表。这种报表一般具有相对复杂的表现形式, 而且报表的格式和内容应工作的需要经常发生变化。如果仅仅使用VFP语言向导或编写代码来实现复杂报表, 将花费大量的人力和时间。针对这点, 笔者尝试利用VFP提供的OLE (Object Linking and Embedding) 对象链接与嵌入技术, 通过VFP调用OLE驱动EXCEL, 将报表内容输出到Excel应用程序中, 再通过Excel打印, 在制作复杂报表方面取得了较好的效果, 充分体现了VFP在作为小型数据库前端开发工具的良好扩展性。
1实现思路
1.1为减轻编程工作量, 可在Excel中, 制作报表模板并保存在应用程序的相关目录中待备用;
1.2在V F P中通过数据操纵语言的相关类集获得报表所需数据, 将数据写入临时文件中;
1.3利用O L E技术, 通过V F P调用OLE, 启动Excel应用程序;
1.4在V F P中, 读取存有报表所用数据的临时文件;
1.5根据读取的数据, 通过V F P和OLE编程动态调用1.1中的报表模板生成相应的报表, 显示在Excel中;
1.6在Excel中预览, 打印报表;
1.7退出Excel, 返回到VFP中;
其中, 第1.2~1.5步是实现过程中的关键步骤。
2实现方法
根据以上思路, 结合实例, 分别在VFP和EXCEL中实现, 最后给出我单位调度日报表的实现效果图。
2.1报表模板制作
首先在Excel中按照报表格式要求制作好一张空白表, 为减少编程工作量, 可以将报表标题、报表头、行列宽度等按照需要的格式制作好, 保存在特定的应用程序目录下待用。由于是Excel的基础知识, 本篇此处不再赘述。
2.2 VFP中实现方法
VFP中主要实现步骤为:从数据库中查询检索出数据, 存入临时文件。
首先要对所使用的变量进行定义, 部分程序代码如下:
[该段代码统计当班调度的机组投运台次、投运机组编号及运行情况、以泵站为单位截至规定统计时间段内的机组累计运行时间等信息]
2.3利用O L E技术, 通过V F P启动Excel应用程序
介绍几个常用OLE及VBA命令:
该报表程序代码还有很多模块, 限于篇幅不再一一列举。
2.4实现效果
由以上步骤可以实现如下图所示的效果报表 (见图1, 部分数据保密涂黑) 。
3结语
OLE技术论文 第7篇
在很多情况下,软件开发人员设计数据库应用系统时,免不了要求系统自动且快速生成大量相关报表,通常采用的技术是使用AutoCad软件,将多个表格批量生成到一个CAD图形文件中(即.DWG文件),再通过打印机输出。其技术优点在于能够批量生成大量报表,但对于少量报表输出的情形,缺乏灵活方便性,而且操作步骤比较繁琐,因此需要寻求一种更加适合少量报表生成并输出情况的可行方法。
1 实现思路
Microsoft Office中的Excel报表生成组件就是专门为处理各类报表的专用工具,使用起来非常灵活方便,并且具有数据运算、汇总和报表格式设计等丰富的功能,因此,若能在高级编程语言中把Excel当作对象来调用其现成的功能,利用Excel中已经调试好的代码来进行运算,那么就省去了其他程序员编写和调试复杂代码的麻烦过程,因此可以把Excel视为对象服务器,在PowerBuilder应用程序中通过调用其各中方法来进行表格的生成、计算和打印等功能[1,2]。则可实现编程工具中操作复杂Excel报表文件的目的。
2 在PowerBuilder编程语言中生成Excel报表
PowerBuider是Sybase公司提供的一种数据库应用系统的前端快速开发工具,使用其数据窗口对象可以很快捷轻松的访问数据库中各种数据。同时,PowerBuilder开发工具还支持与多种数据库进行访问连接,如目前流行的Oracle、Informian、Microsoft SQL Server等企业级数据库都可建立连接,处理各种有关报表管理事务。下面具体说明如何在PowerBuilder开发语言环境中实现Excel报表生成的主要步骤。
1)声明OLE对象,例如:OLEOBJECT OLE_Report_Excel;
2)创建OLE对象,例如:OLE_Report_Excel=Create OLEOBJECT;
3)使用PowerBuilder中的Connect To NewOBJECT()函数来创建一个新的OLE对象,并且连接此对象,例如:OLE_Report_Excel.Connect To NewObject(EXCEL.Application’)。如果该函数的调用返回值为-0,说明连接成功,否则就表示调用失败。
经上述三步即可完成操作报表前的准备工作,下面简要介绍后续操作实现过程。
3 生成报表要素
PowerBuilder打开Excel文件时,可以将其设置成后台打开模式进行操作,即通过配置其Visible属性的逻辑值(True或False)来实现,示例语句如下:
然后对该表格的数据列表中的单元格访问时,必须要通过Application对象的属性对象ActiveCell进行操作,例如对选定单元格赋值时,其操作可分为步骤来实现:
1)选中数据单元格:调用Range对象的Select()方法,Range对象的作用可以选择一个或多个目标数据单元,需要配置起始行数、列数和截至行数、列数,若选择一个单元格,只需配置起始参数。示例代码如下:
2)给选中数据单元赋值:选中之后,对ActiveCell对象的Formula(R1C1)属性赋值即可完成。示例代码如下:
Text//Sle_2为静态文本框控件,将其数值付给
3)调用SUM()方法可以实现对选定数据单元格的求和运算,也即先调用SELECT()方法制定求和单元格的范围,指定结果单元格的位置,将求和结果赋值,示例代码如下:
4)对单元格其他属性其的设置,例如要求把某单元格字体设置为粗体,先选中后设置,示例代码如下:
5)报表打印时,首先必须指定打印的内容,再调用Application对象的PrintOut(),例如,打印输出WorkSheet的Sheet1内容时,示例代码如下:
6)结束时关闭Excel文件,同时释放内存资源,同时向操作者发出弹出提示,可以通过对Application对象的DisplayAlerts属性值进行相应的配置,即可完成。此时参数的设置有2个选择,值为TRUE时表示关闭Excel时提出是否保存选择对话[3];值为FALSE时不弹出对话提示,直接自动保存。
7)全部工作完成以后,需要关闭OLE对象,同时断开与Excel服务的连接。程序示例代码如下:
8)其余属性的设置可以查阅相关资料,在此不另描述。
4 程序代码组合示例
5 结语
采用文中介绍的方法,在实际报表应用开发中,通过与数据库的连接和调用Excel对象的方法,在高级编程语言中灵活方便地实现对复杂报表的生成、报表数据运算的方面功能。
文中实例代码已在Wnidows XP、PowerBuidler 8.0、Mcirosolft SQL Server 2000、Microsoft Office Excel 2000环境下调试并通过,其运行结果符合设计要求,且能够达到预期目的[4]。可以使用这种方法快捷方便地制作复杂的Excel报表,能够极大地提高程序开发和维护的效率。
摘要:Excel是当前较为流行的数据报表制作和管理工具。作者在文中介绍了一种在PoweBuilder中通过OLE制作Excel报表的方法,在PowerBulider中与Excel的OLE连接。并通过VBA语言,向Exce1写入数据,并对产生的Excel文件进行存储、打印等操作的方法。
关键词:PowerBuilder,OLE,Excel报表,自动化技术
参考文献
[1]肖刚王,洪恩,王昌建,等.基于Word文档的数据交换策略及其实现[J].计算机应用与软件,2004(3).
[2]龙腾,杨俊,张勤,等.PowerBuilder8.0实例[M].长沙:国防科技大学出版社,2002.03.
[3]张振坤,李文立,焦虹,等.PowerBuidler精彩编程200例[M].北京:机械工业出版社,2004.02.
OLE技术论文 第8篇
Visual FoxPro(以下简称为VFP)作为一桌面数据系统,在许多领域得到了广泛应用。但是由于功能的局限性,在网络共享方面,在客户/服务器体系结构(Client/Server Architecture)上容易实现,但在浏览器/服务器体系结构(Browse/Server Architecture)上就显得有些不足。因此,VFP在当前的Web应用上没有得到推广。经过研究发现,VFP可以利用浏览器控件实现VFP与远程HTTP服务器间的数据交换,这也许是对VFP功能的一个重要的补充。
2 实现思路
原理示意图如图1所示。
2.1 网络数据库转换到到本地数据库
HTTP网络数据库通过ASP下载到VFP浏览器控件的存储数据对象中,VFP通过命令对浏览器中存储数据的对象的属性,直接用VFP命令将对象中的数据转换到本地数据库中。
2.2 本地数据库转换到网络数据库
VFP本地数据库通过命令生成HTM文件到浏览器控件中的存储数据对象中,HTTP通过ASP执行对浏览器中存储数据的对象中数据对服务器数据库进行更新,从而实现数据转换。
3 关键代码及示例
在本地主目录下有一个表data_client.dbf,字段为考号、分数。在Web主目录下有一个表data_web.dbf,字段为考号、班级、班编号、姓名、性别、语文、数学、英语。分别实现本地表data_client.dbf的数据上更新到网络上表data_web.dbf,网络上表data_web.dbf的数据转换到本地临时表Rs_。
在VFP8.0中设计一个表单,如图2所示。
(1)本地表data_client.dbf的数据上更新到网络上表data_web.dbf的方法:
1)在表单的init事件代码:
2)在按纽1(本地数据web远程)的click事件代码:
3)Web服务器端Upload.asp代码:
(2)网络上表data_web.dbf的数据转换到本地临时表Rs_的方法:
1)在按纽2(web远程本地数据)的click事件代码:
2)Web服务器端rec_fiel_dbf.asp代码:
4 结语
利用浏览器控件实现VFP与远程HTTP服务器间的数据交换,是一项实现对VFP网络共享功能的一个重要扩充。可以充分利用VFP客户端的功能与当今流行的B/S技术相结合,为VFP用户带来方便。
摘要:介绍在VFP中利用浏览器控件实现VFP与远程HTTP服务器间数据交换的基本思路与方法,并提供了用VFP8.0实现的演示程序。
关键词:控件,动态服务器页面,ActiveX数据对象,记录集
参考文献
[1]Rick Strahl,Using the Windows Shell API and Internet Ex-plorer Controls in Visual FoxPro Desktop applications,http://www.west-wind.com/,2004-9-27.
[2]Rick Strahl,Passing objects between FoxPro and.NET COM Componentss,http://www.west-wind.com/,2008-11-14.
OLE技术论文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


