当前位置:编程学习 > Delphi >>

delphi里的function应该怎么放啊?

第一个

procedure TForm1.ScrollBar1Change(Sender: TObject);
var
a,b,c:integer;
begin
a:=strtoint(edit1.text);
b:=scrollbar1.Position ;
c:=fac(a,b);
label2.Caption :=format('%d的%d次方为%d',[a,b,c]);
end;

第二个

function fac(m,n:integer):integer;
begin
for n:=n downto 1 do
begin
m:=m*m;
end;
function放到前面,显示错误

[Error] Unit1.pas(36): Statement expected but 'PROCEDURE' found

function放到后面前面的用不到,第一次用function,帮帮忙

追问:
function fac(m,n:integer):integer;
begin
for n:=n downto 1 do
fac:=fac*m;
end;


问下这句怎么不行啊。。
仿的课本上这句就行
functon fac(n:integer):real;
begin
 if n=o then
 fac:=1;
 else fac:=n*fac(n-1);
答案:

注意begin和end的一一对应。

你第二个自定义函数显然多了一个begin 去掉就OK了。

function fac(m,n:integer):integer;
begin
  for n:=n downto 1 do
    m:=m*m;
end;

 

自定义函数不牵扯什么放到前后的问题,如果没有声明 那就在放在调用代码之前

如果声明过,那就无所谓放到哪里了。

把function fac(m,n:integer):integer; 放到TForm1的private里,比他前面的过程函数就能调用了

 

 

else 前面多了";" 吧

上一个:delphi 怎么更改 button 和 label 的字体?
下一个:delphi 如果网页打开失败则程序暂停

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,