读书人

关于IF语句,该怎么处理

发布时间: 2012-03-16 16:34:56 作者: rapoo

关于IF语句
var
s:double;
begin
s:=(DataModule2.Twoli.Fields[5].Value)/(DataModule2.Twoli.Fields[6].Value)*100;
if (DataModule2.Twoli.Fields[2].Value:= '男 ') then
begin
if(s> =75) then
begin
DataModule2.Twoli.Fields[7].Value:=20;
end;
if((s> =70)and(s <=74) )then
begin
DataModule2.Twoli.Fields[7].Value:=17;
end;
if((s> =63)and(s <=69) ) then
begin
DataModule2.Twoli.Fields[7].Value:=16;
end;
if((s> =56)and(s <=62) ) then
begin
DataModule2.Twoli.Fields[7].Value:=15;
end;
if((s> =51)and(s <=55) ) then
begin
DataModule2.Twoli.Fields[7].Value:=13;
end;
if((s> =41)and(s <=50) )then
begin
DataModule2.Twoli.Fields[7].Value:=12;
end;
if(s <=40) then
begin
DataModule2.Twoli.Fields[7].Value:=10;
end;
end;

运行总是提示type of expression must be BOOLEAN
为什么啊?

[解决办法]
if (DataModule2.Twoli.Fields[2].Value:= '男 ') then

改为:

if (DataModule2.Twoli.Fields[2].Value= '男 ') then
[解决办法]
同意楼上,不过我觉得这段代码老别扭,总觉得用两个变量把条件判断里面的数据库字段值记录下来,然后用变量进行逻辑运算比较舒服一些
[解决办法]
另外,条件处理似乎没有交集,如果可以,每执行完一个条件直接调用Exit退出函数也许更好一点
[解决办法]
同意二楼的。用CASE语句好些。

读书人网 >.NET

热点推荐