为什么
procedure TForm1.Button1Click(Sender:TObject);{这儿有个分号}
begin
Label.Caption := 'Hello,world!';{delphi中的字符串的引用用单引号?}
        end;
而构造函数
Constructor Create ( a:Integer; b:String; c:1..10;){这儿却没有分号}
begin                       {参数声明时有分号}  
a := a;
b := b;
c := c;
        end;
能给我归纳一下delphi中参数的用法吗,谢谢。

解决方案 »

  1.   

    Constructor Create ( a:Integer; b:String; c:1..10);
    按照你那样写,编译都通不过。;号在Delphi中表示一个语法结构的结尾:
    函数申明的结尾、函数的结尾、语句的结尾、参数表的结尾、类声明的结尾...
      

  2.   

    在delphi中,';'表示语句的结尾,一句语句写完都必须以';'结束,只有在if then else 条件判断的else语句前的子句不能有';';begin ...end的end前一句的';'可有可无,其他情况都必须以';'结束一条语句。
      case ...of
      else
      end; 的else前的语句也必须以';'结束,各个分支必须以分号分离,如:
      case i of
        1,2,3:
         ;
        4,5,6:
          ;
        9..20:
          ;
       else
          ;
       end;
     函数中的参数说明一种类别算一个语句,同类型的说明可以用,分隔
     如:
       function (t1,t2,t3:smallint;s1,12:string):string;抛转引玉,请高手指教
       
      

  3.   

    Delphi和Pascal一样,任何过程的首部都以分号结束。
    所以第一个过程当然罗,第二个过程你写错了,如楼上所改。
      

  4.   

    参见delphi5程序员开发指南第2章
      

  5.   

    象下面的地方可以不用分号的
    if a>b then
    begin
      processa;
      processb//这里可以不用,也可以用 
    end
    else
    begin
      processc;
      processd//这里可以不用,也可以用
    end;