如何在Delphi中实现FOXPRO中的宏代换功能
编号:QA002027
建立日期: 1999年11月13日 最后修改日期:2002年3月25日
所属类别:
陈京伟:
操作系统: Windos 95/98
编程工具: Delphi
问题: 请问如何在Delphi中实现FOXPRO中的宏代换功能?谢谢!
回答:
FoxPro是解释执行的,可以提供宏替换,而Delphi是编译型的,不提供这样的功能。
FoxPro使用宏替换,大多是出于以下三种情况:
1、计算表达式。有时由用户输入表达式,如'2 * 3 - 4',要计算这样的表达式,你可以下载Expression Evaluator控件(http://www.bitsoft.com),这个控件可以进行表达式计算,支持函数和变量,并提供全部源程序。
2、在查询条件中使用不同的条件或参数。TQuery控件的查询SQL语句是可以动态修改的,不需要使用宏替换。
3、根据条件调用不同的函数或过程。你可以使用If..Else语句或Case语句来完成,这样更容易阅读。
lyh来信说:
在 FOXPRO 中,我经常用宏替换代表不同的变量,这样可以编写出许多通用数据的处理程序,在DELPHI 中是否可以作到?谢谢!!
回答:使用宏来做这样的工作不是好习惯。如果用宏替换代表的变量比较少,在Delphi中你可以定义一个函数,把变量以参数的形式传入。如果变量比较多,也定义一个类,将变量以属性的方式传递给类。
金晗问:
操作系统: windows
编程工具: delphi 5
问题: 各位大侠:您们好!Visual FoxPro里面有宏代换涵数&,因此有许多问题的解决变得十分简单,但在Delphi 5里面好象没有宏代换函数 &,请问Delphi 5里面有没有类似的函数。例:用 Delphi 5编写一数据库软件,允许使用者自由添加字段,如果用SQL语言查询添加字段的内容,就必须使用变量
如:select 班号,人数 from grade.db;
因软件使用者添加的字段不可预知,就要用变量 select 变量
from grade.db;
如此编写Delphi Visual FoxPro都会出错,如用宏代换涵数 &,Visual FoxPro可实现以上功能,不知Delphi 如何实现?谢谢。
水平: 中级
问:你的问题属于上面提到的第2种情况,根本就用不着宏变量。如:
Query1.SQL.Add('Select ' + Edit1.Text + ' From grade.db');
此问题由李海回答。
| |
|
|
| |
|
|