ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用DDE技术实现ORACLE FORMS 6i 中打开文件(如:EXCEL、WORD、图片、网页)的功能

利用DDE技术实现ORACLE FORMS 6i 中打开文件(如:EXCEL、WORD、图片、网页)的功能

原创 Linux操作系统 作者:xilangxiangwa 时间:2008-01-24 18:41:14 0 删除 编辑

一、产生前因:

      在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;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10595277/viewspace-160019/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-01-18

  • 博文量
    71
  • 访问量
    357592