VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3897|回复: 11

VFP里怎样调用帮助文件

[复制链接]

1

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2021-3-8 18:00:01 | 显示全部楼层 |阅读模式
VFP里怎样调用帮助文件   我用工具写了一个名为HELP.chm的帮助文件,想在采单栏里调用他,请问怎样才能调用出来。
回复

使用道具 举报

0

主题

32

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2021-3-8 20:00:02 | 显示全部楼层
SET HELP TO 路径+'HELP.chm'
SET HELP ON

然后按F1即可调用
回复

使用道具 举报

1

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2021-3-8 20:30:01 | 显示全部楼层
这样按F1是可以调出来,可我帮单击菜单栏就调不出来。。怎样可以解决呢170385215
回复

使用道具 举报

1

主题

19

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2021-3-8 23:00:01 | 显示全部楼层
看看菜单调用时路径是不是有问题
回复

使用道具 举报

1

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2021-3-9 10:45:02 | 显示全部楼层
路径没有问题啊。。就是调不出来,只能按F1调出
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2021-3-9 11:00:01 | 显示全部楼层
帮助文件我用的是这个:
run "help.chm"
run exit
也行的哈,单击直接出来。
回复

使用道具 举报

1

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2021-3-9 11:15:01 | 显示全部楼层
Set Help To SYS(5)+SYS(2003)+"\"+'HELLP.CHM' 或Set Help To 'HELLP.CHM'
Set Help On
这样单击调不出来,按F1可以调出


Run "HELLP.CHM" &&这样单击可以调出但单击的同时那个CMD。EXE 也调出来了
Run Exit

以上寻求解决办法。。希望大虾们赐教!

谢谢!!

还有一个问题就是,我看了很多人的程序,可他们的目录里都分别把表放在一个文件夹里,表单又放在另一个文件夹里,这样分别做的好处在那里啊?项目打包里不是要把表格和其他无关的文件删除吗?如果分别把每个类型分别放在不同的文件夹里在,调用的时候还要加上他的文件夹的路径,这样不是更容易出错吗?
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2021-3-9 11:30:01 | 显示全部楼层
用API函数吧,SHELLEXECUTE
回复

使用道具 举报

1

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2021-3-9 11:45:01 | 显示全部楼层
API函数 SHELLEXECUTE  这个怎样用啊。。。。
回复

使用道具 举报

0

主题

32

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2021-3-9 12:00:01 | 显示全部楼层
请参考:

在VFP中如何调用其它程序
-------------------------------------------------------------
     
在VFP中我们可以用run来调用由VFP自身生成的.exe文件。命令格式:
run c:\..\*.exe

    当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。
一般来说,用VFP运行非VFP自身生成的可执行文件时,会有一个黑色的窗口显示一下。可以通过加上/n来隐藏这个窗口。例如运行Windows下的扫雷游戏,命令格式如下:
RUN/n C:\Windows\Winmine.exe
下面运行一个更复杂一点的程序。用word打开c:\下的一个名为mlx.doc的word文件,命令格式如下:
run /n3 C:\Program Files\Microsoft Office\Office\Winword.exe  C:\mlx.doc
   参数:n 在运行时隐藏VFP的黑色窗口。
         3 表示以最大化的方式运行程序。1正常方式、2最小化方式、3最大化方式

    在这种情况下,虽然可以通过加上参数使程序程序能够流畅运行,但还是要指定绝对路径,而在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其绝对路径。比如,在上例中,我们无法确定用户的word到底安装在什么地方,如果用户把word安装到了别的地方,上述命令便会出错。再如,一个.gif文件,有的用户喜欢用ACD See来打开,有的用户喜欢用IE来打开,有的用户喜欢用豪杰来打开,……
    为了解这种情况我们可以调用Windows的文件关连来打开文件。即所有的文件都用系统默认的程序来打开。这就要调用Windows的Win32 API函数。调用方式如下:

DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING lpszOP,STRING lpszFile,STRING lpszParams,STRING lpszDir,INTEGER fsshowcmd
DECLARE INTEGER GetDesktopWindow IN win32api
HWND = GetDesktopWindow()
lpszOP = "open"
* 指定要打开的文件名
lpszFile ="c:\mlx.doc"
lpszParams = ""
lpszDir = "c:\temp"
fsshowcmd = 1
* 执行ShellExecute命令
LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd)

可以用任意的文件名来替换上文中的 c:\mlx.doc 。如果指定的文件名Windows无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。

-------------------------------------------------------------
API函数ShellExecute的使用

ShellExecute
说明 Shellexecute 函数用于对文件执行一个动词(verb). 它通常用于启动一个与特定文件类相关联的应用程序. 例如, 要启动 Word 来读一个 .doc 文件, 或启动 记事本 来编辑一个 .txt 文件. 用于第二个参数中的最常用的动词是 "Open", 但其它可用的动词是 "edit","print","explore" 和 "properties". 有趣的是, 使用 "mailto:" 或 "http://" 前缀, ShellExecute 函数也可用于以一个给定的邮件地址启动默认的邮件阅读器或给定的 URL 启动默认的浏览器.


缩主文件 Shell32.dll

在 VFP 中的定义
DECLARE INTEGER ShellExecute IN "Shell32.dll" INTEGER hwnd,STRING lpVerb,STRING lpFile,STRING lpParameters,STRING lpDirectory,LONG nShowCmd

Visual FoxPro 应用示例
* 打开 Word 来编辑文件 "c:\mywordfile.doc"
=Shellexecute(0,"Open","c:\mywordfile.doc","","",1)

* 打开默认的浏览器并定位到天堂论坛
=Shellexecute(0,"Open","http://www.dbwin.net/bbs/index.asp?boardID=1&page=1","","",1)

* 打开默认的邮件阅读器来发一封信给天堂版主
=Shellexecute(0,"Open","mailto:njjane@21cn.com","","",1)

* 打印文本文件 "c:\mytextfile.txt"
=Shellexecute(0,"Print","c:\mytextfile.txt","","",1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表