我的软件就要开发完成,但是没有登陆界面和登陆密码验证,如何实现首先显示启动窗口大概5秒后再显示登陆窗口,等我输入用户名和密码后就进入住窗口!!
急啊!!!
急啊!!!
解决方案 »
- 添加数据后如何刷新from1的listView数据 问题,在线等....
- 一个关于delphi2007的创建工程问题
- 急救啊,我想把DateTimePicker1.Date写入数据库表的一个为datetime类型的字段中去应怎么写?
- 关于摄像头的一些问题
- 怎么知道当前运行的程序中间打开的数据库控件有那些?
- DCOM拒绝访问的问题?
- 如何获得最终的下载地址~着急,在线等待
- treeview控件
- Delphi6调用VB编写的dll
- 动态SQL
- 200分,用一个程序关闭一个运行中的程序
- 兄弟们在delphi7下我怎么就找不到clientsocket控件呀(它到底藏在什么地方还是让别的控件代替了!!)在线等待
....
splashform.show;
loginform.show;
application.run;
application.run在哪里?
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;
这样啊?
不行的呢?
begin
sleep(3000);
end;
程序首先启动“主窗口”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
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;
login_Form.Free;
就是到这里了就出错。
你是不是确定你的两个窗口属性是 FORMSTYLE := fsNormal ; VISIBLE = FALSE
并且程序开始只要运行你的主窗口。
其实showmodal只能用于不可见窗口
而且“登陆”验证完后怎么进入住窗口啊?
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事件里。