Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > использование функции inc в IF


Автор: MMM 11.9.2012, 05:35
Есть код 
Код

var
C: byte;
...
    if inc(C)>0 then
      label1.Caption:='да'
      else
      label1.Caption:='нет';
...

ошибка 
    if inc(С)>0 then
[Pascal Error] Unit1.pas(34): E2008 Incompatible types
как исправить

Автор: MMM 11.9.2012, 06:30
понятно что можно увеличить сперва с на 1
С:=С+1;
 if C>0 then

мне интересен сам факт , почему ошибка и

перевожу программу с javascript в delphi

там примерно следующее  if ++C>0 {}

так вот в резульате измениться ли значение С ?

Автор: БелАмор 11.9.2012, 07:49
1. inc - это процедура, а не функция, соответственно, не может использоваться в операции сравнения.
2. byte - беззнаковый тип, соответственно, любое значение после инкрементирования будет больше нуля, если, конечено, не произошло переполнения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)