在DELPHI中能够向VFP一样使用宏替换么?(100分)

  • 主题发起人 主题发起人 s123
  • 开始时间 开始时间
S

s123

Unregistered / Unconfirmed
GUEST, unregistred user!
在CLIPPER中,有一个函数较EVALUATE可以知心变量所代表的函数.在DELPHI中有这样的功能么?
 
编译型语言基本上不行!
 
没有,肯定没有
 
你可以用全局变量
 
自己去编译解释
 
自己动手吧^-^
 
我是老搞FoxPro和Delphi的老手了,很遗憾第告诉你,没有宏代换。
有时用自符串有点特殊,告诉你吧!

比如变量 InNams='Rose';现在作一个查询,名字是输入的人,显示他的情况
SqlText:='Select * From Jobs Where Name='+''''+InName+'''';
SQL.Add(SqlText);
才能得到正确的SQL语句:
Select * From Jobs Where Name='Rose'

继续努力吧!祝你好运!!!

 
如何用函数名字符串来调用函数?


比如我有一些函数(过程),我需要掉用他们,能不能通过函数名字符串来调用?有点儿象宏替换的意思!
type
{$M+}
TMyObj = class
published
function CommandOne: Integer;
function CommandTwo: Integer

function CommandThree: Integer

function CommandFour: Integer

end;
{$M-}
function DoCommand1(const Command: string): Integer;
var
CommandProc: function: Integer of object;
begin
TMethod(CommandProc).Code := TMyObj.MethodAddress(Command);
if Assigned(TMethod(CommandProc).Code) then Result := CommandProc;
end;
-- WBR, LVT.PS: A second method by V.Titov :
uses TypInfo;
type
TCommand = (CommandOne, CommandTwo, CommandThree, CommandFour);
function DoCommand2(const Command: string): Integer;
begin
Result := 0

case TCommand(GetEnumValue(TypeInfo(TCommand), Command)) of
CommandOne: ..

CommandTwo: ..

CommandThree: ..

CommandFour: ..

end;
end;

 
后退
顶部