在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
bool是LongBool类型。
Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型。 这四种类型的布尔值占用内存的数量如下: Boolean 1 Byte ByteBool 1 Byte WordBool 2 Bytes(1 Word) LongBool 4 Bytes(2 Words) 对于ByteBool,WordBool和LongBool三种类型True常量的值为非零,False为零,可以用Ord函数验证; 而对于Boolean类型,True常量的值为1,False为零。在期望Boolean值的上下文中,编译器会将ByteBool,WordBool和LongBool三种类型的非零值转换为True。 然而,在Delphi中布尔表达式和Integer/Real是不兼容的。下面的表格对比了Boolean与ByteBool/WordBool/LongBool在异同:
Boolean
False < True Ord(False) = 0 Ord(True) = 1 Succ(False) = True Pred(True) = False BoolToStr(True) = -1 //这个函数很变态 BoolToStr(False) = 0
ByteBool, WordBool, LongBool False <> True Ord(False) = 0 Ord(True) <> 0 Succ(False) = True Pred(False) = True
BoolToStr这个函数最莫名其妙了,明明说True的值是1,而它却告诉我们True是-1。函数的原形是: function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; 下面这个表是函数的转换规则: B UseBoolStrs Value of returned string True False '-1' True True TrueBoolStrs数组的第一个值(default, 'TRUE') False False '0' False True FalseBoolStrs数组的第一个值(default, 'FALSE')
http://blog.csdn.net/zisongjia/article/details/72963204
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论