字符串变量如何转运算符?(10分)

  • 主题发起人 主题发起人 悠闲一族
  • 开始时间 开始时间

悠闲一族

Unregistered / Unconfirmed
GUEST, unregistred user!
[red][:)]a:=Edit1.text;
//a=2
b:=Edit2.text;
//b=3
c;=Edit3.text;
//c为任意输入的+ - * /等运算符
如何计算出a与b相运算的值
Edit4.text:=a?b
[/red]
 
好像要自己判断
 
呵呵,写成SQL证据到数据库里查询一下就知道了
 
你想玩编译啊,可以找本编译原理的书看看,要不还有别的方法,就是用其它工具的编译程序
来做,比如你可以把它写到SQL语句中,然后发给SQL Server 或odbc 去做,、哈哈,不过
那也太BT了,还是自已写个自动机吧。
如果不想那么正式,就可以省点事,
var sign:string[1];
begin
sign:=Copy(Edit3.Text,1,1);
Case Sign[1] of
'+': result:=a+b;
'-': result:=a-b;
.....
else
showmessage('不支持这种运算');
end;
edit4.Text:=IntToStr(result);
end;

 
[:)][blue][/blue]如果只输入“+”,如何将a?b中的?用变量c来代替
 
提这个问题的人有毛病,大家别理它。
 
我赞成使用shabi的做法,我也遇到过。
 
你无论写什么,在DELPHI看来都是字符串,而不会是命令或运算符,你明白吗!!!!!!
在DELPHI中没有 象fox那样的@运算符,或 UNix下的 exec 那样的命令。
 
接受答案了.
 
后退
顶部