?? delphi登陸窗體的制作.txt
字號:
delphi登陸窗體的制作,就我知道的,可以有兩種方法,一種是在工程文件中實現登陸窗體的動態調用,另一種就是在主窗體的OnCreate事件中動態創建登陸窗體,兩種方法都需要將主窗體設置為Auto-create form,將登陸窗體設置為 Availabel form.
登陸窗體: Form1; 主窗體: Mainfrm;
一.在工程文件中實現動態創建登陸窗體(網上資料提供):
可以在Form1中Public部分添加一個變量,可以是integer類型,或者boolean型,用來判斷是什么時候可以讓主窗體顯示,類似:
public
frm_show : integer;
登陸窗體中,"登陸"按鈕的實現:(關于密碼和用戶名的判斷部分只做簡單設置)
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from login where username=:username and password=:password');
parambyname('username').AsString := trim(edit1.Text);
parambyname('password').AsString := trim(edit2.Text);
open;
if isempty then
begin
showmessage('請核對您的用戶名和密碼信息!');
frm_show := 0;
end
else
begin
frm_show:= 1;//當成功時,frm_show設置為1,之后form1也將關閉.
form1.Close;
end;
end;
end;
再看看工程文件:(project -> view soruce)
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
mainfrm in 'mainfrm2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
form1 := tform1.Create(application);
form1.ShowModal;
if form1.frm_show = 1 then//frm_show設置為public,可在此調用
Application.CreateForm(Tmainfrm2, mainfrm2);
Application.Run;
end.
上述方法不牽涉主窗體代碼部分.
二.在主窗體的OnCreate事件部分添加對登陸窗體的動態創建:
主窗體:
procedure Tmainfrm.FormCreate(Sender: TObject);
begin
form1 := tform1.Create(application);
form1.ShowModal;
end;
登陸窗體:
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from login where username=:username and password=:password');
parambyname('username').AsString := trim(edit1.Text);
parambyname('password').AsString := trim(edit2.Text);
open;
if isempty then
showmessage('請核對您的用戶名和密碼信息!')
else
form1.Close;
end;
end;
上述的兩種方法是借一位網友的問題才想起來做的.一開始我使用的第二種方法,可是運行的時候總提示內存不夠等問題.換了第一種方法運行ok后再換用第二種方法后竟然也運行ok~這破電腦是該換了...
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -