
公告 |
四川理工学院信息管理与信息系统专业学生,男,83年5月生。
职业:自由开发者
为人座右铭:做人要厚道
QQ:61951565
VFP群:4001858(已满员),17966472
E-mail:lugreen@163.com
QQ空间:Greeeeeeeeeeeeeen
本博客文章未经作者同意不得转载 |
Blog信息 |
blog名称:Green1Vfp 原创空间 日志总数:35 评论数量:101 留言数量:3 访问次数:443154 建立时间:2004年12月7日 |

| |
[高级技巧]VFP9中的美化工具指示(个人翻译) 原创空间, 软件技术
Green1 发表于 2005/5/11 6:58:25 VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入 |
VFP9中的美化工具指示
介绍
详细信息
适用于
介绍
VFP中包含一个称作“beautify”的工具。这个工具通过提供调整代码缩进和格式的选项使你的代码更易读。你可以在“Beautify Options”对话框中对这些选项进行全局设置。这些选项每次在你在一个代码块中运行美化工具时被应用。但有时你可能希望这些选项设置对某些代码不起作用。这时你可以使用“美化指示”。
美化指示(Beautify directives)是放在代码中的特殊格式的注释。你可以在代码块中使用美化工具美化你的代码,当美化工具遇到“美化指示”时它将执行特定的动作。
详细信息
美化工具可以调整关键字的格式。关键字是VFP编程语言中所有保留的单词或短语。例如,MODIFY就是一个关键字。你可以通过调整代码块中关键字的格式使代码块更易读,使代码块中的元素更容易区分。但是,这种调节有时会产生意外的效果。虽然VFP是一个大小写不敏感语言,但你在VFP中使用的某些工具可能是大小敏感的。例如,Windows API中的函数在VFP中必须使用大小写敏感的方式声明和调用。因此,当你在VFP中使用了与VFP关键字相同Windows API函数名时就会发生由于美化引起的问题。
一个VFP关键字与Windows API 函数名相同的例子是VFP中的ShowWindow属性。当美化工具遇到VFP关键字时,它会按照“Beautify Option”对话框中的设置来调整关键字的格式。为了成功调用Windows API函数ShowWinow,VFP代码必须明确使用pascal格式。VFP的ShowWindow属性可以使用任何你想使用的格式,因为VFP大小定不敏感的。如果关键字ShowWindow出现在代码块中时,VFP美化工具并不能知道这个关键是VFP中的ShowWindow属性还是Windows API函数名。如果ShowWindow 是一个Windows API函数名,美化工具调整了代码格式,这时会导致VFP代码运行发生错误。
在VFP9以前的版本中没有简单的方法防止美化工具的这种错误调整。 VFP9引进了美化指示来解决这种问题。
*#beautify keyword_nochange
*#beautify
当VFP中的一个关键字被包装到一个美化指示时,美化工具将不改变这个关键字。
说明 这些“指示”采用注释的方式。以“*”号开头,“*”是vfp中整行注释的默认符号。这种注释格式对于“指示”的工作必须的。这种注释格式虽然只有VFP9和更高版本的美化工具可以识别,但含有这种注释的代码也能在比VFP9更低的版本中编译。
下列示例如何在VFP9和更高版本中使用美化指示。
启动VFP9.0
在Tools菜单中,点击Beautify.这时会打开Beautify Options 对话框。500)this.width=500'>说明 如果Tools菜单中的Beautify不可用,按CTRL+F2组合键打开命令窗口,并使命令窗口得到焦点。然后,再次点击Tools菜单中的Beautify。
在Capitalization区,点击Keywords 列表中UPPERCASE。500)this.width=500'>
点击Run,关闭Beautify Options对话框。
在命令窗口中执行下列语句打开新的编辑窗口。
MODIFY COMMAND BeautifyTest
拷贝下列代码行,然后粘贴到那个新的编辑窗口。
*------- <BLOCK 1>**#beautify keyword_nochange#DEFINE SW_MINIMIZE 6DECLARE INTEGER ShowWindow IN WIN32API ;INTEGER nHWND, ;INTEGER nCmdShowShowWindow(_VFP.HWND, SW_MINIMIZE)*#beautify**------- </BLOCK 1>*------- <BLOCK 2>*#DEFINE SW_MINIMIZE 6DECLARE INTEGER ShowWindow IN WIN32API ;INTEGER nHWND, ;INTEGER nCmdShowShowWindow(_VFP.HWND, SW_MINIMIZE)**------- </BLOCK 2
运行美化工具。点击Tools 菜单上的Beautify选项,然后点击Run。
这个示例代码分成独立的两块。两个代码块的不同在于第一个代码块中有美化指示。第一个代码块中的ShowWindow 关键字不改变。在美化工具运行过程中,当它遇到*#beautify keyword_nochange指示时它会跳过而不改变ShowWindow关键字。
第二块没有包含美化指示,因些Block2中的ShowWindow关键会被改变成大写。这种改变会使这个代码块无效。为了检验一下,请保存并运行那些代码,在Block2代码块中的DECLARE行将会发生错误:
Error 1754: Cannot find entry point sHOWWINDOW in the DLL.
说明 美化指示没有包含在VFP9的文档中。
适用于
Microsoft Visual FoxPro 9.0 Professional Edition |
|
|