请教:Form1和Form2之间的切换。 本人菜鸟,请指教!
本人要写一个简单的ORACLE查询前台工具。需要Form2来输入有效的用户名口令登陆,而查询界面是Form1。请问,需要分别在
USERES("Project5.res");
USEFORM("Main.cpp", Form1);
USEFORM("Login.cpp", Form2);
中如何写。另外用户名和密码怎样验证才妥当?谢谢!
//-----------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm2), &Form2);
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
问题点数:10、回复次数:6Top
1 楼zzjzln()回复于 2003-12-01 19:49:14 得分 3
1、把Form2改为可用窗体。通过new / delete 动态生成,如果口令正确,则显示主界面。如下
2、工程文件中添加头文件包含命令 #include "Form2.h"
3、
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
TForm2* pfrm = new TForm2(Application);
if(pfrm->ShowModal() != mrOK){
Application->Terminate();
return 1;
}
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
Top
2 楼beyondsky00(凌云飞)回复于 2003-12-01 19:57:27 得分 1
点project里的option
然后在form里点掉form1只留登陆窗口form2
在form2里的源文件里按ALT+F11 加form1的头文件
然后在你的登陆窗口通过验证时通过动态创建窗口form1
如加入以下的代码:Tform1* mainform =new Tform1(this);
mainform->Show();
这样应该可以在你登陆正确时就显示form1了
另外你可以动态把form2的可视属性设为隐藏或把form1设为关闭
至于密码验证我记得在精华里的C++builder收藏里有关于用BDE
通过SQL数据库实现的Top
3 楼BluePrincess(忧郁公主)回复于 2003-12-01 20:19:22 得分 0
if(pfrm->ShowModal() != mrOK这个什么意思?
另外在登陆界面中应该怎么写?
本人菜鸟,望详细指点,谢谢!Top
4 楼beyondsky00(凌云飞)回复于 2003-12-01 20:31:57 得分 1
http://search.csdn.net/expert/topic/55/5504/2003/5/9/1763109.htmTop
5 楼pzoon(杀死日本人)回复于 2003-12-01 20:41:27 得分 1
if(pfrm->ShowModal() != mrOK
直接受出Top
6 楼huoniao1976(火鸟1976)回复于 2003-12-02 08:48:59 得分 4
在主窗体的show中加载
mima=new Tmima(this);
mima->ShowModal();
void __fastcall Tmima::Edit2Enter(TObject *Sender)
{ TLocateOptions SeratchOptions;
if(Edit1->Text=="")
{ Application->MessageBoxA("请输入用户名称","提示",MB_OK);
Edit1->SetFocus();
return;
}
if(Table1->Locate("c_username",Edit1->Text,SeratchOptions))
{ Edit2->SetFocus();
Edit1->Hint=Edit1->Text;
}
else
{ Application->MessageBoxA("非法用户名称","提示",MB_OK);
Edit1->SetFocus();
return;
}
}
void __fastcall Tmima::Edit2KeyPress(TObject *Sender, char &Key)
{ if (Key==13)
{ if(Edit2->Text!=Table1->FieldByName("c_userpassword")->AsString)
{ Application->MessageBoxA("用户口令不正确","提示",MB_OK);
Edit2->SetFocus();
return;
}
else
{ cg=true;
mmname=Edit1->Text;
mima->Close();
}
}
}Top




