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

Вниз

приводить к типу DWORD   Найти похожие ветки 

 
Scott Storch ©   (2012-03-06 15:06) [0]

В каких случая значения констант нужно приводить к типу DWORD?

Вот, например, из windows.pas:


 MINLONG = DWORD($80000000);
 {$EXTERNALSYM MINLONG}
 MAXLONG = $7FFFFFFF;
 {$EXTERNALSYM MAXLONG}

STATUS_PENDING                  = $00000103;
 {$EXTERNALSYM STATUS_PENDING}
 STATUS_SEGMENT_NOTIFICATION     = $40000005;
 {$EXTERNALSYM STATUS_SEGMENT_NOTIFICATION}
 STATUS_GUARD_PAGE_VIOLATION     = DWORD($80000001);
 {$EXTERNALSYM STATUS_GUARD_PAGE_VIOLATION}
 STATUS_DATATYPE_MISALIGNMENT    = DWORD($80000002);
 {$EXTERNALSYM STATUS_DATATYPE_MISALIGNMENT}
 STATUS_BREAKPOINT               = DWORD($80000003);
 {$EXTERNALSYM STATUS_BREAKPOINT}


 
RWolf ©   (2012-03-06 15:13) [1]

если не указать тип константы, выбирается ближайший целый знаковый тип, в котором может уместиться это число.
если написать a = $80000001, компилятор посчитает, что a имеет тип Int64.
вот поэтому и приводят.


 
icWasya ©   (2012-03-06 15:14) [2]

Вот когда единичка в 31-ом разряде($80000001), тогда и нужно.


 
RWolf ©   (2012-03-06 15:15) [3]

хотя вру, к беззнаковому типу тоже может привести.
короче: см. хелп, топик "true constants".


 
Scott Storch ©   (2012-03-06 15:15) [4]

все ясно, спасибо.


 
Ega23 ©   (2012-03-06 15:16) [5]

const
 cMyConst = 1;
 cMyDWordConst = DWORD(1);
begin
 ShowMessage(VarTypeAsText(VarType(cMyConst)));
 ShowMessage(VarTypeAsText(VarType(cMyDWordConst)));
end;


Например.


 
Anatoly Podgoretsky ©   (2012-03-06 15:39) [6]

Не обязательно ни в каких случаях, на dWord свет клином не сошелся, но удобно, особенно если нужен фундаментальный тип



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1340259923
vasa777
2012-06-21 10:25
2013.03.22
компилятор


2-1328430400
FIL-23
2012-02-05 12:26
2013.03.22
переменная типа memo


15-1332534602
Юрий
2012-03-24 00:30
2013.03.22
С днем рождения ! 24 марта 2012 суббота


15-1351516785
Scott Storch
2012-10-29 17:19
2013.03.22
кодировки для не неюникодных программ


3-1278794858
jziiiiiii
2010-07-11 00:47
2013.03.22
access adotable