DataSetDetail.FieldByName('BADPUTON').AsBoolean := (DataSetDetail.FieldByName('PUTAWAY_FLG').AsInteger and Floor(Power(2, 1)) > 0);
其中:DataSetDetail.FieldByName('PUTAWAY_FLG').AsInteger =1
那为什么返回的结果为FALSE?
其中:DataSetDetail.FieldByName('PUTAWAY_FLG').AsInteger =1
那为什么返回的结果为FALSE?
解决方案 »
- DBGridEh 替换显示数据
- 怎么样把字符串写入EXE文件啊
- 搞到车票了,散分
- delphi 执行删除操作后,表中的元组并未被删除,请问为什么?
- D6如何调用C#的DLL?
- 关于DELPHI的IDE...DELPHI好象要改名字了
- 如何把EXCEL听的数据导入到ORACLE数据库中,分可不少,在线求助!!,高手赐教!!!
- ExpressQuantumGrid Suite 3.2那全套控件稳定吗??尤其是对数据库的!
- 请问谁用过WPRichText?帮个忙!
- 有人搞过条形码识别程序吗??????????
- Help!!关于图形图象控件的刷新问题
- 连接串使用udl文件是不是不安全,程序发布打包时udl一般放在什么地方比较安全?
你上面的表达式相当于这样:
if (1 and 2>0)then
showmessage('ok');
按这样执行,是不会显示'OK'的.因为这样的表达式书写格式与想要的目的根本不同,逻辑运算级别要高于关系运算.因此.上面的表达式执行是这样的.
1-->0001
2-->0010
求这两个操作数的"与"结果:0000;也就是得到了:0;
0>0?,所以,在DELPHI中得到"FALSE";改成这样:
if (1>0) and (2>0) then
showmessage('ok');