我收到一个错误,给变量一个计数值(不知道是否有意义)。
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
的东西)
如何解决这个问题的任何建议将不胜感激!
答案 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.