一、产生前因:

在ITPUB论坛中有人提出:如何在FORMS 中实现超链接,如何在FORMS中直接打开文本文档及图片等类似问题。

二、参考资料:

1、从FORM中导出数据到EXCEL例子(ExportTest.fmb);

2、有关FORM中超链接功能实现的例子(DDE.fmb);

三、功能描述:

过程 p_open_file(v_application VARCHAR2 , v_file_path VARCHAR2)   利用DDE内置程序包与程序库文件D2KWUTIL,实现了在ORACLE FORMS中直接打开文件    (如:EXCEL、WORD、图片)以及链接到指定网页的功能的。

四、过程代码:(具体FORM程序见下载中的文件:FORM中实现直接打开文件程序)

/*过程参数说明:

v_application ——打开文件的应用程序

v_file_path   ——带详细路径的文件名

*/

PROCEDURE p_open_file(v_application VARCHAR2 , v_file_path VARCHAR2) IS

v_app_id             PLS_INTEGER;

v_application_path      VARCHAR2(200); --应用程序路径

v_end_char              VARCHAR2(1);

BEGIN

--读注册表获取应用程序路径

v_application_path := Win_Api_Environment.Read_Registry('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'||v_application,'Path');

--为做到打开文件的统一性,对应用程序路径做相应处理

v_end_char :=SUBSTR(v_application_path , LENGTH(v_application_path));

IF  v_end_char = ';' OR v_end_char = '\' THEN

v_application_path := SUBSTR(v_application_path , 1 ,LENGTH(v_application_path)-1);

END IF;

--打开文件

--注意:dde.app_begin()函数的第一个参数格式为:应用程序路径 + 空格 + 文件名(含路径)

--      由此为使文件名中含空格或桌面上的文件也能被打开,我们需给文件名加上双引号

v_app_id :=dde.app_begin(v_application_path||'\'||v_application||' '||'"'||v_file_path||'"' ,dde.app_mode_maximized);

--将光标定位到打开的文件中

dde.app_focus(v_app_id);

EXCEPTION  WHEN OTHERS THEN

MESSAGE('打开文件失败。');

END;

oracle form 6i菜单模块,利用DDE技术实现ORACLE FORMS 6i 中打开文件(如:EXCEL、WORD、图片、网页)的功能...相关推荐

  1. 相对于oracle数据库的作用 类似于,郑州大学软件技术学院Oracle试卷

    郑州大学软件技术学院Oracle 2009-2010期末试题 (适用专业:08信管.Java..NET专业 考试时间:120分钟) 单选:1 Oracle 10g中的g表示( A ). A 网络 B ...

  2. Python中的堆实现:heapq 模块——利用堆结构实现快速访问数据流中的中位数

    堆结构 堆结构是一种优先队列,可以以任意顺序添加对象,并随时查找或删除最小(大)的元素,或者查找和删除前 K 个最小(大)元素.相比于列表方法min() / max(),这样做的效率要高得多. 堆结构 ...

  3. jdbc如何使用oracle数据库连接池,使用JDBC连接池技术连接Oracle数据库

    在使用JDBC连接数据库要用到两个jar包 1.编写配置文件 #驱动地址 driverClassName=oracle.jdbc.OracleDriver #连接地址 url=jdbc:oracle: ...

  4. linux防止文件被复制,技术|如何在 Linux 系统中防止文件和目录被意外的删除或修改...

    有时,我会不小心的按下 SHIFT+DELETE来删除我的文件数据.是的,我是个笨蛋,没有再次确认下我实际准备要删除的东西.而且我太笨或者说太懒,没有备份我的文件数据.结果呢?数据丢失了!在一瞬间就丢 ...

  5. 利用VBA代码合并多个表格中指定范围的Excel数据

    步骤1:自定义功能区中勾选"开发工具" 步骤2:插入命令按钮控件 步骤3:复制以下代码. 修改文件格式xls或xlsx( yuan_name = Dir(path & &q ...

  6. 基于dde的vb和matlab,基于DDE技术的组态王和VB的通信

    电子质量(2013 第 02 期) 基于DDE技术的组态王和VB 的通信 基于 DDE 技术的组态王和 VB 的通信 Communication between KingViewand VB Base ...

  7. 基于dde的vb和matlab,基于VB和DDE技术的组态王通信协议转换

    组态王是一种通用的工业监控上位机软件,它界面友好.易学易用.即便是不懂编程的工程人员也能在短时时间内开发出界面精美,符合行业标准且高效的上位机监控程序,因此深受工程师们的喜爱,然而组态王软件的上下位机 ...

  8. 利用DDE通信将PLC数据传输到EXCEL

    前言:微软的Office办公软件功能非常强大,特别是Excel对数据的分析更是臻于完美.在一些特殊的场景,需要将PLC的实时数据传输到Excel中,利用其强大的数据处理功能进行分析,以便进行监视和决策 ...

  9. 广东生态所孙蔚旻团队EST发表利用稳定同位素示踪-宏基因组分箱联用技术揭示砷污染土壤中的厌氧砷氧化微生物及其代谢途径...

    广东省生态环境技术研究所孙蔚旻团队ES&T发表:利用稳定同位素示踪-宏基因组分箱联用技术揭示砷污染土壤中的厌氧砷氧化微生物及其代谢途径 第一作者:张苗苗 通讯作者:孙蔚旻 通讯单位:广东省生态 ...

最新文章

  1. canvas初体验之加载图片
  2. UVA10696 f91【数学函数+打表】
  3. 1命名规则 sentinel_Sentinel 实战-限流篇
  4. simpledateformat格式_为什么日期格式化时必须有使用y表示年,而不能用Y?
  5. python爬虫+谷歌翻译json字符串
  6. 以四小龙为首的CV企业占比七成,安防AI化已成产业趋势
  7. Android 设置客户端支持的TLS支持的版本号
  8. RC时间常数 积分微分 耦合
  9. [转]阮杰:从散户到身价过亿的私募掌门人
  10. 基于lio-sam框架,教你如何进行回环检测及位姿计算
  11. 企业工程项目管理系统平台(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
  12. cppunit在vs2019上的配置和使用【Win10】【详细】
  13. Web前端-JavaScript
  14. 钙钛矿型复合氧化物高熵陶瓷/过渡金属碳氮化物高熵陶瓷/固体氧化物燃料电池(SOFC)材料
  15. numpy之数组的赋值
  16. Scrum 项目 3.0
  17. ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理
  18. n1 linux 进不了桌面,[N1盒子]n1盒子无法启动n1刷入ubuntu系统,写入emmc以后无法引导,必须依赖u盘启动...
  19. 代码操作redis集群报错:(error) MOVED 解决方法
  20. python制作u盘病毒_10行Python代码写1个USB病毒

热门文章

  1. 2021年高考安庆10中成绩查询,2021年安庆高中学校排名及录取分数线排名
  2. iPhone X如何截图
  3. GNS3安装过程(详细)
  4. TM4C123G学习记录(6)--UART
  5. 如何用Xinstall来做一款App运营推广?
  6. 台式计算机摄像头怎么打开,电脑外接摄像头怎么打开怎么用
  7. 软考证书的含金量有多高?
  8. 数据结构----严蔚敏
  9. Call call=(Call)service.createCall()报错
  10. uniapp 小于1000 按原数字显示 超过1000 数字换算成10w+ 1.3k+ 显示