1)一个启动画面(这里暂表示为FORM1)
2)如果是第一次启动一般在启动画面显示结束后进行环境设置,比如设置连接数据库的数据库名,用户名和口令等,这里应该包括测试是否连接数据库服务器成功.(FORM2)
3)用户名和口令校验,如果成功,进行第四步(FORM3)
4)进行主窗体.(MDIMAIN)
只有第4步才是多文档.其它几步要求:
每一个窗体完成任务后就要释放自己,在显示一个窗体时不要有其它窗体显示出来.(各个窗体加载最好采用动态加载).
谁能够完成这几个步骤?
2)如果是第一次启动一般在启动画面显示结束后进行环境设置,比如设置连接数据库的数据库名,用户名和口令等,这里应该包括测试是否连接数据库服务器成功.(FORM2)
3)用户名和口令校验,如果成功,进行第四步(FORM3)
4)进行主窗体.(MDIMAIN)
只有第4步才是多文档.其它几步要求:
每一个窗体完成任务后就要释放自己,在显示一个窗体时不要有其它窗体显示出来.(各个窗体加载最好采用动态加载).
谁能够完成这几个步骤?
FormSplash := TFormSplash.Create(Application);
FormSplash.Show;
FormSplash.Update;
Application.Title := '理系统';
//dm create Application.CreateForm(TFormDMEquip, FormDMEquip);
Application.CreateForm(TFormDMUser, FormDMUser);
Application.CreateForm(TFormDMWork, FormDMWork);
// login show
FormLogin := TFormLogin.Create(Application);
FormLogin.ShowModal;
FormLogin.Hide;
FormLogin.Update; FormSPlash.Update; //check user
if FormLogin.gIsInvalidUser then
begin
Application.CreateForm(TFormMain, FormMain);
end; FormLogin.free; FormSplash.Hide;
FormSplash.Free;
Application.Run;
登录和登录不成功显示的数据库配置窗体我用的都LoadLibrary(当然要FreeLibrary).
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
Form1:=TForm1.Create(Application);
try
Form1.ShowModal;//密码窗体
finally
Form1.Free;
end;
if exit=false then
begin
Application.CreateForm(TForm2, Form2);//主窗体
Application.Run;
end;
end.procedure TForm1.FormShow(Sender: TObject);
begin
exit:=true;
end;Exit是在主窗体中设的全局变量。
通过变量来一层层控制就行了。
1: Frmflash:=Tfrmflash.Create(application);
frmflash.Show;
frmflash.Update;
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
frmflash.Hide;
frmflash.Free;
Application.CreateForm(Tfrmlogin, frmlogin);
frmlogin.showmodal;
frmlogin.Update;
Application.Run;
2:begin
t1 := TTable.create(self);
with t1 do begin
databasename:=edit2.text;
tablename:= 'student';
tabletype := ttparadox; //确定数据表名称
with fielddefs do begin
add('id',ftstring,6,true);
add('name',ftstring,20,true);
add('sex',ftstring,1,true);
add('class',ftstring,4,false);
add('department',ftsmallint,0,false);
add('birthday',ftdate,0,false);
add('native_place',ftstring,50,false);
end;
with IndexDefs do begin
Clear;
with AddIndexDef do begin
Name := '';
Fields := 'id';
Options := [ixPrimary,ixunique];
end;
end;
createtable;
end;
t1.Free;
3:效验就不多说了!
4:创建--
inherited;
if not assigned(frmclass) then
frmclass:=Tfrmclass.Create(self);
with frmclass do
begin
formstyle:=fsMDIchild;
Show;
end;
最后在FREE就可以了
对了,如果采用ADO连接sqlserver数据库和ACCESS数据,怎么让程序来获得连接成功或是失败了?
也可以将我的论坛回答这个问题.
http://www.51mcd.com/sanjianxia/dispbbs.asp?boardID=3&ID=285
分同样会加上的.谢谢.