宏替换&是什么意思呀?看过了说明,可还是搞不懂是舍意思。

dywfada 2002-11-06 05:25:14
说明

宏替换把内存变量和数组元素中的内容当作原义字符串。当连字符 (&) 位于字符型内存变量或数组元素前面时,内存变量和数组元素的内容将替代宏引用。宏替代可用在任何接受原义字符串的命令和函数中。

提示
请尽可能使用名称表达式来取代宏替换。名称表达式与宏替换作用相似,但是,名称表达式限于传递作为名称的字符串。当命令或函数接受名称(文件名、窗口名、菜单名等)时,使用名称表达式的处理速度要明显快得多。有关名称表达式的详细内容,请参阅《开发指南》的第二章“语言概述”。


...全文
891 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
EHONGON 2002-11-15
  • 打赏
  • 举报
回复
执行宏替换。
语法& VarName[.cExpression]
参数描述& VarName指定宏替换中引用的变量名或数组元素名。
请不要加上用于区分变量与字段的前缀“M.”,否则将产生语法错误。
宏的长度不要超过 Visual FoxPro 中允许的最大语句长度。在宏替换中,变量不能递归引用自身。
例如,下列语句将产生错误信息:STORE '&gcX' TO gcX? &gcX出现在 DO WHILE、FOR 和 SCAN 中的宏替换语句只在循环开始时计算值,在后续的循环中则不再计算值。因此在循环内改变变量和数组元素的值对宏替换都无效。
.cExpression句点分隔符 (.) 和 cExpression 选项可用来在宏后面追加额外的字符。
使用 .cExpression 附加在宏后面的 cExpression 也可以是一个宏。说明宏替换把变量和数组元素中的内容当作原义字符串。
当连字符 (&) 位于字符型变量或数组元素前面时,变量和数组元素的内容将替代宏引用。

宏替换可用在任何接受原义字符串的命令和函数中。
STORE 'customer' TO gcTableName
STORE 'company' TO gcTagName
USE &gcTableName ORDER &gcTagName
可以使用名称表达式代替:USE (gcTableName) ORDER (gcTagName)
宏替换对于替换命令中的关键字是很有用的。在下面的示例中,把 TALK 设置保存在
变量中,以便在后面的程序能够恢复它。
TALK 的原始设置使用宏替换恢复。
示例STORE SET('TALK') TO gcSaveTalkSET TALK OFF
*
*  其他程序代码*SET TALK &gcSaveTalk && 恢复原始的TALK设置
lanseerme 2002-11-14
  • 打赏
  • 举报
回复
xyf_tck() 说的好,举的例子更是棒

我也来举一个例子:

b="女人"
a="b"

?b 显示女人
?&a 显示女人
cerwg 2002-11-07
  • 打赏
  • 举报
回复
不会是这么简单吧?
如果用到宏替换实现数据表任意字段的查询,简直是要我自杀。
earwig20002000 2002-11-07
  • 打赏
  • 举报
回复
例如:
A=5
B="*6"
C=A&B
?C
屏幕显示结果:30
xyf_tck 2002-11-07
  • 打赏
  • 举报
回复
不好意思上次写错了应该是
a ='sex='男人''
select from person where &a
boomit 2002-11-07
  • 打赏
  • 举报
回复
举个例子吧。。。。
STORE 'customer' TO gcTableName
STORE 'company' TO gcTagName
USE &gcTableName ORDER &gcTagName
gzl 2002-11-07
  • 打赏
  • 举报
回复
说白了就是去掉双引号
xyf_tck 2002-11-06
  • 打赏
  • 举报
回复
要说清楚不如举个例了
a ='男人'
select from person where sex=&a

2,699

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧