|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
谈谈Visual Foxpro中的OLE (MS Graph为重点) |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 5935 回帖数 0 |
我爱偷情 等级 ☆ 楼主 发表于 2012/4/28 10:57:13 编 辑 |
||
来自Joe, E-mailJoes@ynmail.com 关键字Foxpro,VFP,OLE 2.0,MS Graph 目录 一.关于OLE 二.在Foxpro中编程操作MS Graph 一.关于OLE 1) OLE服务器的概念:它应能使由他创建的对象成为OLE用户程序的可用对象。 2) 在Visual Foxpro中,对于Excel及Word之OLE对象可支持连接与嵌入,而 对Microsoft Graph则只支持嵌入。 设现有一个OLETable表,希望在其字段中存入Word文档,则有: SELECT OLETable nFile=ADIR(aWordFile,"*.Doc") &&aWordFile是一个二维数组 FOR I=1 to nFile APPEND BLANK REPLACE OLETable.name WITH aWordFile(I,1) &&从aWrodFile(I,1)中获得当前Word文档名,这一句不重要 REPLACE OLETable.OLEtype WITH "MSWORD" &&置OLE对象类型 APPEND GENERAL WordDoc FROM aWordFile(I,1) &&数据:文件->库 &&如果文件扩展名不是默认值,还需在APPEND GENERAL 后加子 &&句 CLASS "Word.Docment.6" END FOR 3) Microsoft 常见软件可提供如下自动化对象: ━━━━━━━━━━━━┯━━━━━━━━━━━━━ Microsoft Word 6.0 │ Word.Basic (VBA) ────────────┼───────────── Miscosoft Excel │ Excel.Application │ Excel.Sheet │ Excel.Chart ────────────┼───────────── Miscosoft Project │ Project.Applition │ Project.Project ────────────┼───────────── MicroSoft Graph │ Graph.Chart ━━━━━━━━━━━━┷━━━━━━━━━━━━━ 你可以像这样编程 OLEApp = Creat Object("Word.Basic") &&创建Object OLEApp.FileNewDefault &&创建新文件 OLEApp.Insert("我最亲爱的...") &&向新文件中写串 OLEApp.FileSaveAs("一封情书.Doc") &&存盘 OLEApp.AppClose &&退出 && 以上四句调用了Word.Basic的方法来对Word文档进行操作 二.在Foxpro中编程操作MS Graph 要在程序中操作 MS Graph,实际是向Graph对象传递一个格式复杂的控制 串。如要显示如下的图,则其控制串如右: ↑ DataString= │ 40 ""+TAB+"微机"+TAB+"打印机"+; │ 35┌┐ "电源"+CRLF+; │ 33 30 ┌┤│ "一季度"+TAb+"11"+TAB+"22"+; │ 22┌┐ ┌┐ 20│││ TAB+"33"+CRLF+; │11┌┤│ 15││ ┌┤││ "二季度"+TAb+"10"+TAB+"15"+; │┌┤││ 10┌┤│ ││││ TAB+"30"+CRLF+; │││││ ┌┤││ ││││ "三季度"+TAb+"20"+TAB+"35"+; │││││ ││││ ││││ TAB+"40"+CRLF └┴┴┴┴─┴┴┴┴─┴┴┴┴─→ && TAB=CHR(9) 微机 打印机 电源 && CRLF=chr(13)+chr(10) 诸君可分析其规律,这里不再展开[注]。 实际使用中,可在表单(Form)中创建一个OLE绑定型控件(OLEBoundControl), 在程序中执行: "THISForm.OLEBoundControl1.ControlSourse='Gen' &&字段名", 或在设计期填入属性表中,该控件初始化后,OLEBoundControl1就具有了MS Graph 的各项属性,此时可对如下属性编程: OLEBoundControl1.HasLegend=.T.|.F. &&有无图例 OLEBoundControl1.AutoFormat(GraphType,1) && GraphType=-4099 --横向条形图 && GraphType=-4100 --纵向条形图 && GraphType=-4102 --饼图 OLEBoundControl1.HasTitle =.T.|.F. &&有无标题 OLEBoundControl1.ChartTitle.Caption=Astring &&标题内容 若需得到更多的可控属性及其它请: 1)找到一张内容完整的 Office 97中文专业版CD; 2)进入valuePack\Morehelp目录 3)打开Vbagrp8.hlp,大部分的VBA方法及属性在OLEBoundControl中可 同名同意调用。 由于VFP3.0中使用的是Graph5,你也可以找到对应的帮助文件作参考。 ----- [注]欢迎同我联系! E-mailjoes@ynmail.com ------- |
1 |
论坛帮助 会员认证删帖申请 联系我们 |