Как использовать процедуры Delphi Inc () и Dec () в C ++ Builder

Я начинающий программист. Мне нужно использовать процедуры Delphi Inc() и Dec() в C ++ Builder XE следующим образом:

Inc(Filler);

Dec(GridClientWidth);

Кто-нибудь может мне помочь, как это сделать?


person Andromeda    schedule 11.02.2013    source источник
comment
Некоторые мелкие придирки: Inc и Dec не методы и не операторы, а процедуры.   -  person Andreas Rejbrand    schedule 11.02.2013
comment
@AndreasRejbrand, мелкие придирки - как вы выяснили, Inc и Dec на самом деле являются функциями :-). "System.Dec".   -  person LU RD    schedule 11.02.2013
comment
@LURD Похоже, это ошибка документации.   -  person David Heffernan    schedule 11.02.2013
comment
@LU RD: По крайней мере, не в Delphi 2009, хотя CodeInsight лжет по этому поводу ...   -  person Andreas Rejbrand    schedule 11.02.2013
comment
Название языка может дать вам ключ к разгадке ...?   -  person Roddy    schedule 11.02.2013
comment
@DavidHeffernan, документально подтвердил то же самое в XE2 и XE3. Я не могу проверить их прямо сейчас, но TP7 и до Delphi 2007 имеют их как процедуры.   -  person LU RD    schedule 11.02.2013
comment
@LURD Документация просто неверна.   -  person David Heffernan    schedule 11.02.2013
comment
QC 112600 "System.Dec() wrongly declared as a function"   -  person LU RD    schedule 11.02.2013


Ответы (1)


Вам нужны операторы ++ и -- :

Filler++;
GridClientWidth--;

В C ++ эти операторы встроены в язык. В Delphi Inc и Dec реализованы как внутренние процедуры.

person David Heffernan    schedule 11.02.2013
comment
@David: Я только что заметил, что _1 _ / _ 2_ - это процедуры, которые имеют возвращаемые значения (по крайней мере, в Delphi 2009). Смешной. - person Andreas Rejbrand; 11.02.2013
comment
@AndreasRejbrand Вы уверены? У них нет возвращаемого значения в D6 или D2010, двух закрытых версиях, которые я могу найти для D2009. - person David Heffernan; 11.02.2013
comment
@David: см. privat.rejbrand.se/DelphiDec.png. Однако в XE3 они кажутся функциями. - person Andreas Rejbrand; 11.02.2013
comment
@AndreasRejbrand Истина всегда решается компилятором. И компилятор говорит нет, когда вы пытаетесь прочитать возвращаемое значение inc или dec - person David Heffernan; 11.02.2013
comment
@David: Я просто устал, и на самом деле вы не можете использовать значение, «возвращенное» Dec в Delphi 2009. Так что, возможно, CodeInsight немного не работает. Но изменилось ли это в XE3? - person Andreas Rejbrand; 11.02.2013
comment
Синтаксически Inc и Dec являются процедурами, и вы сами сказали в одном из комментариев, что компилятор не позволяет вам читать их возвращаемые значения. Почему же тогда вы называете их функциями в своем ответе? - person Andriy M; 11.02.2013
comment
@AndreasRejbrand - это просто процедуры в Delphi 2009. Игнорируйте документацию и CodeInsight как ошибки. - person kludg; 11.02.2013
comment
@AndriyM Потому что терминология несколько перегружена. В C ++ функции относятся к тому, что в Delphi мы назвали бы функциями, процедурами и методами. Я изменю ответ, чтобы он соответствовал терминологии, используемой в теме, на которую я ссылаюсь. - person David Heffernan; 11.02.2013