国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

Delphi中的布爾類型

2019-11-18 18:03:43
字體:
來源:轉載
供稿:網友
 

Delphi中定義了四種布爾類型:BooleanByteBoolWordBoolLongBool。后面三種布爾類型是為了與其他語言兼容而引入的,一般情況下建議使用Boolean類型。

這四種類型的布爾值占用內存的數量如下:

Boolean    1 Byte

ByteBool   1 Byte

WordBool  2 Bytes1 Word

LongBool   4 Bytes2 Words

對于ByteBoolWordBoolLongBool三種類型True常量的值為非零,False為零,可以用Ord函數驗證;

而對于Boolean類型,True常量的值為1False為零。在期望Boolean值的上下文中,編譯器會將ByteBoolWordBoolLongBool三種類型的非零值轉換為True

然而,在Delphi中布爾表達式和Integer/Real是不兼容的。下面的表格對比了BooleanByteBool/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')


上一篇:Winsock完成端口模型-Delphi代碼

下一篇:delphi的調用約定

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 淮南市| 砚山县| 万州区| 郎溪县| 颍上县| 连山| 乌审旗| 耒阳市| 黄浦区| 顺平县| 新乡县| 崇义县| 大新县| 江北区| 台州市| 浑源县| 瑞昌市| 嘉兴市| 辽中县| 巩留县| 阿拉善盟| 彭山县| 博爱县| 襄樊市| 大化| 余姚市| 蛟河市| 额济纳旗| 来安县| 宜州市| 军事| 富平县| 德江县| 龙门县| 渝中区| 建瓯市| 桑植县| 河池市| 兴山县| 东台市| 新邵县|