读书人

请问 delphi字符串带(非与或符合 amp;amp;||

发布时间: 2012-02-05 12:07:15 作者: rapoo

请教 delphi字符串带(非与或符合 &&,||,!),想把他解释成if (...) then 语句,请教怎么做呢?
现在设定一句表达式(表达式不是唯一的,不过都是由非与或表示):
(ORA-||EXP-)&&(!(ORA-04068||EXP-00008))&&(Export terminated successfully with warnings)

我想达到的目的是 把这表达式转换成delphi源代码下 if ((ORA-)OR(EXP-)) AND (NOT((ORA_04068 OR EXP-00008))) AND (Export terminated successfully with warnings) THEN
BEGIN
//...
END;

就是动态构造if结构,表达式 条件组成和之间的逻辑关系是变化的,不是唯一, 有可能(aaaa)or (vvvv) and (lll)等等的组合

请问一下怎样把这样的非与或字符串转换 解析成if结构呢? 谢谢

[解决办法]
这个你最好自己做一下,可以练一下手,我前几天刚做了一个动态解析数学表达式的东西,感觉挺麻烦的,不过真正做下来,感觉收获也不小
你这个东西没有数学表达式麻烦,要考虑的问题主要是括号的嵌套问题,还有就是从左优先原则,其实就这些,呵呵
[解决办法]
原来的表达式是字符串吗?
如果是的话:
'|'替换成' or '
'&&'替换成' and '
'!'替换成' not '
只要原来的表达式是逻辑正确的,替换后也没有问题。

如果原来的表达式不是字符串,只是逻辑判断,那么用代码生成也很容易。

读书人网 >.NET

热点推荐