请问你看完这个有何感想?关于Delphi中的类型转换???

请问你看完这个有何感想?关于Delphi中的类型转换?? Delphi / Windows SDK/API

http://www.delphi2007.net/DelphiBase/html/delphi_20061215172228146.html

IntToStr(abs(StrToInt(BoolToStr(iADOQuery.FieldValues['ifaccept']))))

因为ifaccept字段是bit类型的,数据库里面的值如果是1的话,现在我要使用转换的方法取得一个1,而不是用if来进行判断,最后竟然写成上面的一堆代码!!

请问有更简单的办法吗?? 总体感觉Delphi的类型转换审查太严,不想C++ Builder中的用着爽!!

更奇怪的是BoolToStr函数如果里面的是1的话,返回的是-1,我真搞不明白,borland的工程师为什么要这样,直接给个1不更好吗?

各位有何看法,讲讲。

iADOQuery.FieldValues('ifaccept').AsString

or

IntToStr(Ord(iADOQuery.FieldValues('ifaccept').AsBoolean))

只能说你的代码很有想像力!

SetLength(TrueBoolStrs, 1);

SetLength(FalseBoolStrs, 1);

TrueBoolStrs[0] := '1';

FalseBoolStrs[0] := '0';

BoolToStr(iADOQuery.FieldValues('ifaccept').AsBoolean, True);