視窗問題 |
尚未結案
|
iven0811
一般會員 發表:4 回覆:5 積分:1 註冊:2004-07-06 發送簡訊給我 |
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
|
iven0811
一般會員 發表:4 回覆:5 積分:1 註冊:2004-07-06 發送簡訊給我 |
我的FORM4是這樣的 unit Unit4; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB; type
TForm4 = class(TForm)
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ADOQuery1: TADOQuery;
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form4: TForm4; implementation
uses unit2 ,unit3,unit5,unit6, Unit1; {$R *.dfm} procedure TForm4.SpeedButton8Click(Sender: TObject);
begin
if messagedlg('要離開系統嗎?',mtConfirmation,[mbyes,mbno],0)=mrYes then
begin
form4.Close;
end;
end; procedure TForm4.SpeedButton9Click(Sender: TObject);
begin
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('Select * From manager Where ');
adoQuery1.SQL.Add('帳戶=''' Edit1.Text ''' and ');
adoQuery1.SQL.Add('密碼=''' Edit2.Text '''');
adoQuery1.Open;
if Not adoQuery1.IsEmpty then
begin
ShowMessage('完成登入!');
Form1.Show;
Form4.Hide;
end
else
begin
ShowMessage('登入密碼錯誤');
Edit1.Clear;
Edit2.Clear;
Edit1.SetFocus;
end;
end;
end. 謝謝...
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
iven0811
一般會員 發表:4 回覆:5 積分:1 註冊:2004-07-06 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
iven0811 你好:
我建議不要用另一個form來做這種確認的機制
你可以使用內定的一些box
如:
procedure TForm1.FormCreate(Sender: TObject);
var id,pass:string;
begin
id:=InPutBox('帳號','請輸入您所屬的帳號 ','');
pass:=InPutBox('密碼','請輸入您所屬的密碼 ','');
if Trim(id)='' then
begin
ShowMessage('帳號不對');
end;
if Trim(pass)='' then
begin
ShowMessage('密碼不對');
end;
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('Select * From manager Where ');
adoQuery1.SQL.Add('帳戶=''' Trim(id) '' and ');
adoQuery1.SQL.Add('密碼=''' Trim(pass) '''');
adoQuery1.Open;
....
...
..
end;
當然我寫的只做一次確認,你可以先在form1的[首頁]寫一個 [登入] 的按鍵
按下登入就接...下面這段 id:=InPutBox('帳號','請輸入您所屬的帳號 ','');
pass:=InPutBox('密碼','請輸入您所屬的密碼 ','');
if Trim(id)='' then
begin
ShowMessage('帳號不對');
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: ha0009 和terrychen 大大你好..... 我已經有照ha0009大大的方式去做ㄌ,是可以。 可是程式卻關不起來.......iven0811:可是程式卻關不起來.......是指Form1還是form4 重新描述一下主畫面(FORM1)->Form1Create事件開啟登入畫面(FORM4), 登入畫面去資料庫行驗證完畢Close,回Form1若驗證OK繼續,失敗Form1 也要Close! Form1Create要Close;請使用: Application->Terminate(); 或 PostQuitMessage(WM_QUIT); 若Form4->BorderIcons是全部被你關閉的話!Button裡的事件 Perform(WM_CLOSE,0,0); // 關閉Form4; 請參考! Andy Chang
------
Andy Chang |
iven0811
一般會員 發表:4 回覆:5 積分:1 註冊:2004-07-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |