代码如下,不知道出了什么问题~~~unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
end;var
  Form1: TForm1;
implementation{$R *.dfm}
var
s,avg:real;
n:integer;
procedure TForm1.Init;
begin
edit1.enabled:=true;
edit2.enabled:=true;
edit1.text:='';
edit2.text:='';
edit3.text:=floattostr(s);
edit4.text:=floattostr(avg);
edit1.setfocus;
bitbtn1.enabled:=false;
bitbtn2.enabled:=true;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.enabled:=false;
edit2.enabled:=false;
edit3.enabled:=false;
edit4.enabled:=false;
bitbtn2.enabled:=false;
bitbtn1.enabled:=true;
end;procedure TForm1.BitBtn1Click(Sender: TObject);
begin
form1.Init;
end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8]) then
begin
showmessage('只能输入数字!');
key:=#0;
edit2.text:='';
edit2.SetFocus;
end;
end;procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if edit1.text='' then
begin
showmessage('课程名称不能为空!');
edit1.SetFocus;
end
else
if edit2.text.text='' then
begin
showmessage('成绩不能为空!')
edit2.SetFocus;
end
else
begin
n:=n+1;
s:=s+strtofloat(edit2.text);
edit3.text:=floattostr(s);
avg:=s/n;
edit4.Text:=floattostr(avg);
edit1.Enabled:=false;
edit2.Enabled:=false;
bitbtn1.enabled:=true;
bitbtn2.enabled:=false;
end;
end;procedure TForm1.BitBtn3Click(Sender: TObject);
begin
close;
end;end.执行的时候,procedure TForm1.Init;这里有问题~~

解决方案 »

  1.   

    type 
      TForm1 = class(TForm) 
        Label1: TLabel; 
        Label2: TLabel; 
        Label3: TLabel; 
        Label4: TLabel; 
        Edit1: TEdit; 
        Edit2: TEdit; 
        Edit3: TEdit; 
        Edit4: TEdit; 
        BitBtn1: TBitBtn; 
        BitBtn2: TBitBtn; 
        BitBtn3: TBitBtn; 
        procedure FormCreate(Sender: TObject); 
        procedure BitBtn1Click(Sender: TObject); 
        procedure Edit2KeyPress(Sender: TObject; var Key: Char); 
        procedure BitBtn2Click(Sender: TObject); 
        procedure BitBtn3Click(Sender: TObject); 
      private 
        { Private declarations } 
        procedure Init;//这里这样写
      public 
        { Public declarations }
        //procedure Init; 或者写这儿
    end; 或者
      

  2.   

    也可这样写
    procedure Init; 
    begin 
    edit1.enabled:=true; 
    edit2.enabled:=true; 
    edit1.text:=''; 
    edit2.text:=''; 
    edit3.text:=floattostr(s); 
    edit4.text:=floattostr(avg); 
    edit1.setfocus; 
    bitbtn1.enabled:=false; 
    bitbtn2.enabled:=true; 
    end; 
      

  3.   

    OK了!!!谢谢你~~顺便问下,procedure TForm1.Init;和procedure Init;有什么不同吗?
      

  4.   

    一個是在類TForm1聲明,一個是在實做部分實現
      

  5.   

    procedure TForm1.Init是类的成员函数
    procedure Init是单独的函数