德尔菲程序正在编译。但表单没有任何反应

时间:2018-09-21 09:39:25

标签: forms delphi delphi-7

编译正在运行,一切正常。但是表单什么也没发生。
将启动该窗体,但不会自动向其添加任何数据。如果您手动输入数据,那么当您按下按钮时,

有必要显示函数Y(x)的值表及其在系列S(x)中的扩展,其中x从x0到xk随x的变化为h =(x0-xk)/ 10。 S(x)和Y(x)的值在x值的整个范围内的接近度表示计算S(x)和Y(x)的正确性。

unit Unit1;

interface

uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls ;

type
TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure Form1Create(Sender:TObject);
    procedure Button1Click(Sender:TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.Form1Create(Sender: TObject);
begin
  Edit1.Text := '0';
  Edit2.Text := '2';
  Edit3.Text := '5';
  Edit4.Text := '0.25';
  Memo1.Clear;
  Memo1.Lines.Add('Lab3, Kosyakova Dasha, 10702217');
  Button1Click(Sender);
end;

procedure TForm1.Button1Click(Sender:TObject);
var
  x1, x2, x, h, a, s  : extended;
  N, k, c             : integer;
begin
   x1 := StrToFloat(Edit1.Text);
   Memo1.Lines.Add('x1 = ' + Edit1.Text);
   x2 := StrToFloat(Edit2.Text);
   Memo1.Lines.Add('x2 = ' + Edit2.Text);
   N := StrToInt(Edit3.Text);
   Memo1.Lines.Add('N = ' + Edit3.Text);
   h :=StrToFloat(Edit4.Text);
   Memo1.Lines.Add('h = ' + Edit4.Text);
   C :=-1;
   X := x1;
   Repeat
     A := 1;
     S := 1;
     for k :=1 to N do
     begin
        a := c*a*x/k;
        s := s + a;
     end;
     Memo1.Lines.Add(
       'npи x = ' + FloatToStrF(x, ffFixed, 6, 2) + ' сумма = ' +
       FloatToStrF(s, ffFixed, 6,2));
     x := x+h;
   until x>x2;
end;

end.

1 个答案:

答案 0 :(得分:9)

对报告内容的唯一解释是,您未能将事件连接到事件处理程序。

  • 单击表单设计图面。
  • 切换到对象检查器
  • 选择事件页面。
  • 找到OnCreate事件,并将其值设置为Form1Create

您可能需要对按钮执行相同操作,以将其OnClick事件连接到处理程序。