在登陆界面上进入后出现欢迎界面,5秒后自动进入主界面。
我在欢迎界面上放了一个timer控件,在timer事件中代码
procedure Thy_Form.Timer1Timer(Sender: TObject);
  var i:integer;
begin
   i:=timer1.Interval;
   if i=5000 then     zjm_form.Show;   //主界面
     hy_form.Hide;   //欢迎界面
end;

解决方案 »

  1.   

    错了!!!
    对于timer控件,不需要判断interval的值,只要在timer控件的事件中加入当计时到后触发的时间就可以了。
    procedure Thy_Form.Timer1Timer(Sender: TObject);
    begin
         zjm_form.Show;   //主界面
         hy_form.Hide;   //欢迎界面
    end;
    在程序设计是,将interval设置成5000,然后开始计时时,将timer控件的
    enable属性设置为true就可以了。
      

  2.   

    Application.Initialize;
    Application.Title:='ShopFloor Information System';                               
    WelcomeInfo_Frm:=TWelcomeInfo_Frm.Create(Application);
    WelcomeInfo_Frm.Show;
    WelcomeInfo_Frm.Update;
    LoginInfo_Frm:=TLoginInfo_Frm.Create(Application);
    Sleep(1200);
    WelcomeInfo_Frm.Free;
    WelcomeInfo_Frm:=nil;
    LoginInfo_Frm.Free;
    LoginInfo_Frm:=nil;
    Application.CreateForm(TMainInfo_Frm,MainInfo_Frm);
    Application.Run;
      

  3.   

    能不能把登陆的代码让我看一下呢?我用的是adotable控件,有些代码不懂!请赐教!
      

  4.   

    jy_hanqiang() ,下面是全部代码。
    Jethill(生儿子之前,老婆说她喜欢女儿!) 我按你的要求设置了属性,还是有错误,在登录界面上刚输入用户名就直接进入主界面。
    zhao_yong(Learn) 的代码看不懂哇。
    登录界面代码var maxtimes,logintimes:integer;
    procedure Tdl_Form.cmdokClick(Sender: TObject); //确定按钮
     var aname,apass,sqlstr:string;
    begin
       inc(logintimes);
      if logintimes>maxtimes then
      begin
        showmessage('你已经超出允许验证次数,将退出登录系统!');
        application.Terminate;
      end
      else
      begin
        if(length(trim(user_edit.Text))>0)or(length(trim(pass_edit.Text))>0) then
        begin
          aname:=trim(user_edit.Text);
          apass:=trim(pass_edit.Text);
          sqlstr:='select*from username where(username='''+aname+''')and(password='''+apass+''')';
          ADOQuery1.Close;
          ADOQuery1.SQL.Clear;
          ADOQuery1.SQL.Add(sqlstr);
          ADOQuery1.Open;
          if ADOQuery1.RecordCount>0 then
          begin
           hy_form.show;
            dl_form.hide;
          end
          else
          begin
            showmessage('请确认登录的用户名和密码是否正确!');
            user_edit.SetFocus;
            user_edit.SelectAll;
          end;
        end
      else
      begin
        showmessage('请输入登录用户名和密码!');
        user_edit.SelectAll;
      end
      end
    end;procedure Tdl_Form.FormCreate(Sender: TObject);
    begin
      maxtimes:=3;
      logintimes:=0;
    end;procedure Tdl_Form.cmdcloseClick(Sender: TObject);
    begin    close;
    end;procedure Tdl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if messagedlg('你选择了系统退出,退出将不能启动管理系统,是否真的退出?',mtconfirmation,[mbYes,mbNo],0)=mrYes then
       ACTION:=caFree
      else
       ACTION:=caNone;
    end;procedure Tdl_Form.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
      begin
        key:=#0;
        perform(wm_nextdlgctl,0,0);
      end;
    end;
    欢迎界面代码procedure Thy_Form.Timer1Timer(Sender: TObject);
    begin
         zjm_form.Show;
         hy_form.Hide;
    end;主界面代码
    procedure Tzjm_Form.N5Click(Sender: TObject);
    begin
     close;
    end;procedure Tzjm_Form.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
       if messagedlg('你选择了系统退出,退出将不能启动管理系统,是否真的退出?',mtconfirmation,[mbYes,mbNo],0)=mrYes then
       ACTION:=caFree
      else
       ACTION:=caNone;
    end;
      

  5.   

    在属性里设置Enabled为flase将interval设置成5000
    然后欢迎界面代码为
    procedure Thy_Form.Timer1Timer(Sender: TObject);
    begin
         timer1.Enabled:=true;
         zjm_form.Show;
         hy_form.Hide;
          timer1.Enabled :=false;
    end;
    这样只能到达欢迎界面,不能在5秒后进入主界面
      

  6.   

    欢迎界面代码如下:{$R *.dfm}
    var i:integer;
    procedure Thy_Form.Timer1Timer(Sender: TObject);
    begin
       i:=i+1;
       if i=3
       then
         begin
          zjm_form.Show;
         hy_form.Hide;
        end
    end;procedure Thy_Form.FormActivate(Sender: TObject);
    begin
     timer1.Enabled:=true;
       i:=0;
    end;
      

  7.   

    还有最后别忘了在登陆成功后加个timer1.enabled:=false;否则将一直进行,浪费资源
      

  8.   


      Application.Initialize;
      if Application.Terminated then
        Exit;  startfrm := Tstartfrm.Create(Application);
      startfrm.Show;
      startfrm.Update;
      Application.CreateForm(TMain, Main);
      Login:=TLogin.Create(Application);
      Login.FSQLConnection:=DM_Mid.SQLConnection1;
      startfrm.Hide;
      startfrm.Free;  if login.ShowModal = mrOK then
      begin
        Application.CreateForm(TSalCKRoomShow, SalCKRoomShow);
        Application.Run;  end
      

  9.   

    何必那么麻烦,直接一个sleep(5000)然后显示主界面就可以了
    然后在再欢迎界面上的timer事件中写个close关闭就可以了 把时间控制到5秒
      

  10.   

    其实最好的办法还是在Application 中写代码
      

  11.   

    同意mdejtod(稻草人) ( ) 信誉:98的