unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation
procedure area(a,b,c:real;var s:real);
var
   l:real;
begin
   l:=(a+b+c)/2;
   s:=sqrt(l*(l-a)*(l-b)*(l-c));
end;
procedure TForm1.Button1Click(Sender: TObject);
var sa:real;
begin
area(3,3,3,sa);
edit1.text:=floattostr(sa);
end;end.

解决方案 »

  1.   

    function Tform1.func();
    begin
    ...
    end;
      

  2.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure area(a,b,c:real;var s:real);  private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    procedure Tform1.area(a,b,c:real;var s:real);
    var
       l:real;
    begin
       l:=(a+b+c)/2;
       s:=sqrt(l*(l-a)*(l-b)*(l-c));
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var sa:real;
    begin
    area(3,3,3,sa);
    edit1.text:=floattostr(sa);
    end;end. 
     
      

  3.   

    procedure area(a,b,c:real;var s:real);==========>procedure Tform1.area(a,b,c:real;var s:real);
      

  4.   

    你注意错误信息的这些字符:
    Resource Tform1 not found'
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Resource!!!!!!!!!!!!!!!!!!!!!!!
    /////////////////////////////////
    =========观察区1
    var
      Form1: TForm1;
    =========观察区2
    implementation
    =========观察区3
    /////////////////////////////////你新建一窗体,看看它的代码中观察区有什么不同!!!!!!!!!
    你应该是少了一条{$R *.RES} //我记不太清了,所以要你自己查查看,呵呵 :-)[注]:对于作出的回复不作正确性保证
    Copyright(C) 2002 CoolSlob :-)
      

  5.   

    to :fyje(冬原) 
    还是同样错误
      

  6.   

    你的过程名前加 Tform1.
      procedure area(a,b,c:real;var s:real);
    改为:procedure Tform1.area(a,b,c:real;var s:real);
    如果你的 procedure 改为 function ,返回S的值最好了。
      

  7.   

    一个异常!
    不是代码错误,看看是否 .dfm文件丢了?!
      

  8.   

    你在单元中少了{$R*.DFM}指示字这样就不会将窗体信息链接到程序中
      

  9.   

    implementation
    procedure area(a,b,c:real;var s:real);
    这两行改为
    implementation
    {$R *.dfm}
    procedure area(a,b,c:real;var s:real);
    既中间插入一行,如上。
      

  10.   

    老兄不要乱改delphi自动生成的代码
      

  11.   

    在implementation后少了
    {$R *.DFM}
      

  12.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure area(a,b,c:real;var s:real);
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure Tform1.area(a,b,c:real;var s:real);
    var
       l:real;
    begin
       l:=(a+b+c)/2;
       s:=sqrt(l*(l-a)*(l-b)*(l-c));
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    var sa:real;
    begin
    area(3,3,3,sa);
    edit1.text:=floattostr(sa);
    end;end.
      

  13.   

    以上代码本人执行成功。但是在关闭时出错。估计是REAL数据太长而EDIT.TEXT有长度限制。请把REAL用整数替换,应该发现代码并不存在问题。