不好意思,打扰了,我想询问一下,就是,第一个问题,
我在主FORM1上有一个EDIT1,一个BUTTON1,我想点击这个BUTTON,出现一个NEW FORM2,在FORM2上有一个EDIT2,一个BUTTON2,一个DBGRID,想在EDIT2里输入姓名,在DBGRID里显示过滤后姓名等于EDIT2.TEXT的纪录,再DBGRID双击该纪录,关闭此FORM,回到主FORM,主FORM的EDIT1中显示选定纪录的某个字段的值。
第二个问题,是我的时间表示在库里是用20040401这样文本表示,那么,若我想计算明后两天的日期,要怎么计算才不容易出错。
因为我对DELPHI手生,所以需要一点代码。
请求大家帮忙解答,需要加分的,我会再加,

解决方案 »

  1.   

    第一:定义全局变量
    第二:s:=copy(s,1,4)+'-'+copy(s,5,2)+'-'+copy(s,7,2);
    aDate:=strtodate(s);
    TmDate:=aDate+1;
    AtmDate:=adate+2;
      

  2.   

    1 可以采用两个窗体调用一个ado控件的方法。
    2 aDate :=strtodate('20040401')
      strDate := formatdatetime('YYYYMMDD',(aDate+2))
      

  3.   

    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 FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        S:String;
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    uses Unit2;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not  Assigned(Form2) then
      begin
        Form2:=TForm2.Create(Application);
        Form2.ShowModal;
        S:=Edit1.text;
      end;
    end;unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm2 = class(TForm)
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure FormDestroy(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action:=caFree;
      
    end;procedure TForm2.FormDestroy(Sender: TObject);
    begin
      Form2:=nil;
    end;
      

  4.   

    procedure TForm.Button1OnClick(Sender: TObject);
    var
       Form :TForm2 ;
    begin
        Form := nil;
      try
       Form := TForm2.Create(self);
       Form.ShowModal;
      finally
        Form.Free;
      end;
    end;
      

  5.   


    在窗口form2的如下事件里写procedure TForm.formShow(Sender:TObject);
    begin
      ADOQuery.Close;
      ADOQuery.SQL.Clear;
      ADOQuery.SQL.Add('Select * from table where name='''+Form1.S+''');
      ADOQuery.open;
    end;以上是最简单的写法 具体实现的时候还要看你的具体情况!