不兼容的类型:'整数'和'过程,无类型指针或无类型参数'

时间:2014-02-15 19:32:01

标签: delphi delphi-7

我收到一个错误,给变量一个计数值(不知道是否有意义)。

iCount := inc(iCount,1);

这是我的代码:

var
  iCount : Integer;
procedure TForm1.FormActivate(Sender: TObject);
begin
  edtOutput.SelAttributes.size := 10;
  edtOutput.SelAttributes.name := 'Courier';
  edtOutput.Lines.Add(('Name') + #9 + #9 + ('Age') + #9 + #9 + ('Child or adult'));
end;

procedure TForm1.btnOKClick(Sender: TObject);
var
  sName     :String;
  iAge      :Integer;
begin
  iCount := inc(iCount,1);   // <--- HERES THE ERROR
  sName := edtName.text;
  iAge := edtAge.value;

当我给iCount它的值时,我收到此错误:

Incompatible types: 'Integer' and 'procedure, untyped pointer or untyped parameter'

哦,edtOutput是RichEdit。 我已经完全复制了我的教科书我必须写的内容(不是整个程序,只是iCount的东西)

如何解决这个问题的任何建议将不胜感激!

3 个答案:

答案 0 :(得分:6)

inc中描述了procedure Inc(var X: Ordinal; [ N: Integer]); overload; procedure Inc(var X: Ordinal; [ N: Integer]); overload; 的签名:

var

换句话说,它是一个接收要作为inc(iCount); 参数递增的变量的过程。它不是一个函数,也不返回值。

您的代码应为:

{{1}}

答案 1 :(得分:4)

Inc(ICount, 1);就是你所需要的。

替代:

ICount := ICount + 1;

答案 2 :(得分:1)

Inc(iCount); // This increases by one, by default.
Inc(iCount, x); // This increases by x, where x is an integer.