delphi中的ifelse改成case

if(F_Database.Qdescribe.FieldByName('HairC').AsString='干燥干净')thenMUD2:=1elseif(F_Data... if (F_Database.Qdescribe.FieldByName('HairC').AsString= '干燥干净') then
MUD2:=1
else
if (F_Database.Qdescribe.FieldByName('HairC').AsString= '有些泥土') then
MUD2:=0.8
else
if (F_Database.Qdescribe.FieldByName('HairC').AsString= '湿的') then
MUD2:=0.5
else
if (F_Database.Qdescribe.FieldByName('HairC').AsString='身上覆盖雪或是泥土') then
MUD2:=0.2;
该成case语句如何改
展开
 我来答
jokerdickens
2009-06-22 · TA获得超过137个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:115万
展开全部
case后面只能对应数字,也就是integer类型的,你这样的话有点难搞啊。建议数据库里面把这些状态都设置成标志位,然后用strtoint转换成integer类型,再做case就可以了
i:integer
...
i:=strtoint(F_Database.Qdescribe.FieldByName('HairC').AsString);
case i of
1:MUD2:=1;
2:MUD2:=0.8;
3:MUD2:=0.5;
4:MUD2:=0.2;
end;
龙宇防盗监控
2009-06-22 · TA获得超过330个赞
知道小有建树答主
回答量:1026
采纳率:0%
帮助的人:756万
展开全部
楼上说的很对呀
不用改,直接IFELSE可能效率不会降低的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式