窗体FORM1里有EDIT1,EDIT2,BUTTON1,在EDIT1里面输入字符串#字符串#.....格式。点击button1,弹出计算公式生成FORM2,EDIT1里有几个字符串段在FORM2里就自动生成以这几个字符串为名的按钮,旁边还有+ - */()按钮,点击这些按钮和运算按钮,在FORM2的EDIT3里显示生成的公式,点击确定后所生成的公式自动添加到FORM1里的EDIT2里。
各位大哥大姐帮我做下吧

解决方案 »

  1.   

    小妹刚接触Delphi,希望各位前辈哥哥姐姐多照顾照顾我啊~
      

  2.   

    顶!可惜 这里没安装 delphi~~ -_-#
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Edit2: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;  s:array of string;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      str,tempstr:String;
      ipos:integer;
      Num:integer;
    begin
      str:=trim(edit1.Text);
      if str= '' then exit;
      ipos:=1;
      Num:=1;
      setlength(s,num);
      while ipos>0 do
      begin
        ipos:=pos('#',str);
        tempStr:=copy(str,0,ipos-1);
        if (tempStr='') and (str <>'') then
          tempstr:=str;
        if ipos<>1 then
        begin
          s[num-1]:=tempstr;
          setlength(s,num+1);
          num:=num+1;
        end;
        str:=copy(str,ipos+1,length(str)-ipos);
      end;  form2.show;
    end;end.
    =============================================
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TForm2 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        Panel1: TPanel;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        Button6: TButton;
        Button7: TButton;
        procedure FormShow(Sender: TObject);
        procedure btn_Click(Sender:Tobject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;
      btn:array of Tbutton;
    implementation
    uses unit1;
    {$R *.dfm}procedure TForm2.btn_Click(Sender: Tobject);
    begin
      with sender as Tbutton do
      begin
        edit1.Text:=edit1.Text+Tbutton(Sender).Caption;
      end;
    end;procedure TForm2.FormShow(Sender: TObject);
    var
      i:integer;
      count:integer;
      top:integer;
    begin
       top:=0;
       count := 1;
       for i :=0 to high(s) do
       begin
          if s[i]<>'' then
          begin
            setlength(btn,Count);        btn[Count-1]:=TButton.Create(self);
            btn[count-1].parent:=self;
            btn[Count-1].Caption :=s[i];
            btn[count-1].Visible :=true;
            btn[count-1].Width :=25;
            btn[count-1].Height :=25;
            btn[count-1].OnClick  :=btn_click;
            if count mod 2 = 1 then
            begin
              top:=top+26;
              btn[count-1].Left := 30;
              btn[count-1].Top :=top ;
            end
            else
            begin
              btn[count-1].Left := 60;
              btn[count-1].Top :=top ;
            end;
            Count:=Count+1;
          end;
       end;
    end;procedure TForm2.Button1Click(Sender: TObject);
    begin
      form1.Edit2.Text := edit1.Text;
      close;
    end;end.