Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Boolean и bool?   Найти похожие ветки 

 
Ezorcist   (2006-04-14 13:41) [0]

В чем ращзница?


 
Desdechado ©   (2006-04-14 13:44) [1]

boolean - паскалевский перечислимый тип
bool - виндовый целочисленный тип


 
begin...end ©   (2006-04-14 14:07) [2]

BOOL -- это то же, что и LongBool.

А разница между Boolean и LongBool такая:

1) Boolean занимает 1 байт, а LongBool -- 4;

2) Тип Boolean упорядочен, и для Boolean True -- это 1, а False -- это 0. Других значений переменная типа Boolean содержать не должна. А для LongBool любое ненулевое значение считается равным True. Вот пример:

var
 LB: LongBool;
 B: Boolean;
begin
 Integer(LB) := 2;
 Byte(B) := 2;
 if LB = True then
   ShowMessage("LongBool");
 if B = True then
   ShowMessage("Boolean")
end
.

Кстати, этот пример показывает возможную опасность использования таких конструкций (if Variable = True then). Тот же пример, но с проверками вида if Variable then, даст другой результат.

P.S. И всё это, кстати, описано в справке (см. boolean types).



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.059 c
2-1144910064
fast2
2006-04-13 10:34
2006.04.30
Как записать на паскале (в Делфи) выражение:


2-1145024356
Khim
2006-04-14 18:19
2006.04.30
Как зная хендл окна редактирования получить из него текст?


15-1144410907
kas
2006-04-07 15:55
2006.04.30
США или Россия?


2-1144998437
nastyok::
2006-04-14 11:07
2006.04.30
Table1.FindKey


1-1143001881
Старик
2006-03-22 07:31
2006.04.30
DLL. Ошибка при использовании типа string в ее функциях