Z zhmj Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-30 #2 Delphi(Pascal语言)没有提供宏替换(也不可能提供),但Pascal功能强大,处理这类问题 不在话下
T txytlc Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-30 #3 请再谈详细一点, 到底怎么“不在话下”(即如何实现)?
T txytlc Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-30 #5 比如说在FoxBase中 App:=12 OddStr:='App' &OddStr的值就应该是12。 也就是说可以用OddStr去访问App变量的值。这在Delphi中如何实现?
T txytlc Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-30 #7 Hi, wjiachun: 我说的不是这个意见,只了举了个例子,是想通过宏来访问变量。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-30 #8 我也是对具体例子的回答而已,因为Delphi本身不能像FoxBase、Foxpro之类的支持宏! 只能具体问题具体分析,当然,一般都有好的解决办法。
龙 龙丹 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-04 #9 Delphi是编译型语言,没有宏替换功能。 不过,我自己做了一个单元来实现这个功能。原理是用一个StringList作为宏表,以 <宏名>=<宏值>来保存宏的设置,同时编写宏扩展函数用来展开字符串中的宏(搜索宏表)。 在应用字符串的值之前,调用宏扩展函数。这在SQL语句一类的应用中,很有效。 但要真正实现象FoxBase一样的宏功能还是不可能的,比如,不能通过宏来调用不同的 函数。
Delphi是编译型语言,没有宏替换功能。 不过,我自己做了一个单元来实现这个功能。原理是用一个StringList作为宏表,以 <宏名>=<宏值>来保存宏的设置,同时编写宏扩展函数用来展开字符串中的宏(搜索宏表)。 在应用字符串的值之前,调用宏扩展函数。这在SQL语句一类的应用中,很有效。 但要真正实现象FoxBase一样的宏功能还是不可能的,比如,不能通过宏来调用不同的 函数。
A aerobull Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-04 #10 合用吗? 表Table1有记录a0.b0,c0,字段名为xyz, 而a0,b0,c0又刚好为表Table2的字段,那么: var a: String; begin a:=Table1.FieldByName('xyz').AsString; b:=Table2.FieldByname(a).AsString; end;
合用吗? 表Table1有记录a0.b0,c0,字段名为xyz, 而a0,b0,c0又刚好为表Table2的字段,那么: var a: String; begin a:=Table1.FieldByName('xyz').AsString; b:=Table2.FieldByname(a).AsString; end;
龙 龙丹 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-09 #13 不知道为什么。最近又收不到大富翁的邮件了。 txytlc: 我把LDMacro.pas发给你了,但我为了在宏中可以引用表达式,此单元使用了LDExp 等其它单元,所以,你恐怕只能看一看罢了。
B BaKuBaKu Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-10 #14 放弃吧,不可能的。 不知道为什么总有那么多的朋友还丢不开老的解释型语言的思想。
D Dogruo Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-01 #15 龙丹: 对于delphi中的宏替换,我也有相同的问题,也想拜读大作。能否给我原码?
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-16 #16 txytlc:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
张 张卫锋 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-17 #17 你可以使用无类型变量。 ... var i,j,s:variant; ... i := 9; h := '45'; j := i + j // j = 54 ...
张 张卫锋 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-17 #18 更正 ... var i,j,s:variant; ... i := 9; s := '45'; j := i + s // j = 54 ...
Z zhang w. Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-15 #20 同意Derlin的意见,宏代换虽然方便但不是必须得用它。对此可看“编译原理”。