我的软件就要开发完成,但是没有登陆界面和登陆密码验证,如何实现首先显示启动窗口大概5秒后再显示登陆窗口,等我输入用户名和密码后就进入住窗口!!
 急啊!!!

解决方案 »

  1.   

    两个窗口都放在application.run前面
    ....
    splashform.show;
    loginform.show;
    application.run;
      

  2.   

    ???
    application.run在哪里?
      

  3.   

    Application.Initialize;
      Application.Title := '宿舍管理系统';
      Application.CreateForm(TDMd, DMd);
      Application.CreateForm(Tmain_form, main_form);
      Application.CreateForm(Tlogin_Form, login_Form);
      Application.CreateForm(Tabout_Form, about_Form);
     Application.Run;
    这样啊?
    不行的呢?
      

  4.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    sleep(3000);
    end;
      

  5.   

    主窗口:FORM1    登录窗口:FORM2    启动窗口:FORM3注意: FORM2 和 FORM3   FORMSTYLE := fsNormal ; VISIBLE = FALSE
    程序首先启动“主窗口”FORM1
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.Run;在“主窗口”FORM1的ONCREATE事件里使用SHOWMODAL打开“启动窗口”FORM3
    form3 := Tform3.Create(application);
    form3.ShowModal;
    form3.Free;“启动窗口”FORM3中放入一个TIMER控件,设置变量i,如果i=5(说明已有5秒)则打开“登录窗口”FORM2
    procedure TForm3.FormCreate(Sender: TObject);
    begin
      i := 0;
      timer1.Interval := 1000;
      timer1.Enabled := true;
    end;procedure TForm3.Timer1Timer(Sender: TObject);
    begin
      i := i + 1;
      if i = 5 then
      begin
        timer1.Enabled := false;
        form2 := Tform2.Create(application);
        self.Hide;
        form2.ShowModal;
        form2.Free;
        self.Close;
      end;
    end;登录窗口基本不需要写什么CODE
      

  6.   

    我已在WIN2000,DELPHI6下测试通过,记得给分哦!
      

  7.   

    我已在WIN2000,DELPHI6下测试通过,记得给分哦!
      

  8.   

    Application.Initialize;
      Application.Title := '宿舍管理系统';
      Application.CreateForm(TDMd, DMd);
      Application.CreateForm(Tmain_form, main_form);
      Application.CreateForm(Tlogin_Form, login_Form);
      Application.CreateForm(Tabout_Form, about_Form);
      about_form.showmodal;//------------------------------
      login_form.showmodal;//------------------------------你不加这两行怎么行啊
     Application.Run;
      

  9.   

    login_Form.ShowModal;
        login_Form.Free;
    就是到这里了就出错。
      

  10.   

    我是测试过再发上来的。
    你是不是确定你的两个窗口属性是 FORMSTYLE := fsNormal ; VISIBLE = FALSE
    并且程序开始只要运行你的主窗口。
    其实showmodal只能用于不可见窗口
      

  11.   

    问题是我在form2也就是登录窗口上有“登陆”和“取消”两按钮,取消的单击事件用close, 关不了系统的。
    而且“登陆”验证完后怎么进入住窗口啊?
      

  12.   

    showmodal只能用于不可见窗口这个经典谢谢
      

  13.   

    看看俺做的
    var
      SendData: tagCOPYDATASTRUCT;
      password,USER_ID:STRING;
      Provider,DATA_SOURCE,SECURITY_INFO:STRING;
      MyInifile:Tinifile;
    {$R *.res}begin
      //-----------------------判断程序是否第一次运行--------------------
      if FindWindow('TMainForm', nil) > 0 then
      begin
        with SendData do
        begin
          dwData := 0; // may use a value do identify content of message
          cbData := SizeOf(PChar(ParamStr(1))) + 1; //Need to transfer terminating #0 as well
          lpData := PChar(ParamStr(1))
        end;
        SendMessage(FindWindow('TMainForm', nil), WM_CopyData, 0, integer(@SendData));
        application.MessageBox('程序已经运行!','系统提示',16);
      //-----------------------------------------------------------------
      end else
      begin
      FlashForm:=TFlashForm.Create(application);//创建闪现窗体
      FlashForm.Show;
      FlashForm.Update;
      Application.Initialize;
      Application.Title := '初始化辅助工具';
      Application.CreateForm(TMainForm, MainForm);
      Application.CreateForm(TDataM, DataM);
      //------------------- 数据库参数初始化-----------------------------
       path:=ExtractFilePath(Application.ExeName);
       MyInifile:= TIniFile.Create(path+'INITTOOLs.ini');
       PROVIDER:='PROVIDER='+MyInifile.ReadString('DATABASE','PROVIDER','')+';';
       password:='Password=manager'+';';
       USER_ID:='User ID=SYSTEM;';
       DATA_SOURCE:='DATA SOURCE='+MyInifile.ReadString('DATABASE','DATA_SOURCE','')+';';
       SECURITY_INFO:='Persist Security Info=True';
       DataM.ADOConnection1.Connected;
       DataM.ADOConnection1.Close ;
       DataM.ADOConnection1.ConnectionString:=PROVIDER+Password+USER_ID+DATA_SOURCE+SECURITY_INFO;
      //-----------------------------------------------------------------
      TRY
        if DataM.ADOConnection1.Connected<>TRUE then
        DataM.ADOConnection1.Connected:=true;
      EXCEPT
        APPLICATION.MessageBox('不能连接上ORALCE!可能原因:'+#13+'    1.检查网络是否连接正确'+#13+'    2.检查ORACLE客户端配置'+#13+'请联络系统管理员!','系统提示',16);
        application.Terminate;
      end;
      FlashForm.hide;
      FlashForm.Free;
      Application.Run;
      end;
    end.
    这些代码写在主工程文件里面。登录窗体的LoginForm:=TLoginForm.create(self)
                                       LoginForm.ShowModual;
    写在MainForm 里的FormOnShow事件里。