全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1141
推到 Plurk!
推到 Facebook!

关于登录次数的限制

尚未結案
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-05 15:19:55 IP:218.20.xxx.xxx 未訂閱
现在有一个table1:其中有3个fields psw1 psw2 times admin user 3 希望从这个table中分别提取password,如果在界面输入password,错误次数超过3次,则退出系统,请问怎么实现?谢谢!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-05 15:52:44 IP:202.62.xxx.xxx 未訂閱
您好﹗    以下截自小弟專案中的登入部分﹐但只使用到兩個欄位﹐即使用者名稱(Username)和密碼(Password)﹐賦說明﹕
var
  Form1: TForm1;
  I : Integer; //宣告記錄登入次數的孌數    implementation    uses DataModule, Main;    {$R *.dfm}    procedure TForm1.FormCreate(Sender: TObject);
begin
  I := 1; //賦初始值0給變數I
end;    procedure TForm1.FormActivate(Sender: TObject);
begin
  Edit1.SetFocus; //Form1取得焦點時﹐Edit1取得輸入焦點
end;    procedure TForm1.BitBtn1Click(Sender: TObject); //點擊确定按鈕時触發
begin
  if (Edit1.Text = '') or (Edit2.Text = '') then
  //Edit1為使用者名稱﹐Edit2為密碼
    begin
      ShowMessage('使用者名稱和密碼不允許空白!');
      Edit1.Clear;
      Edit2.Clear;
      Edit1.SetFocus;
    end
  else
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('Select * From Login Where ');
      ADOQuery1.SQL.Add('Username='''+Edit1.Text+''' and ');
      ADOQuery1.SQL.Add('Password='''+Edit2.Text+'''');
      ADOQuery1.Open;
        if Not ADOQuery1.IsEmpty then
          begin
            ShowMessage('使用者名稱和密碼正确!');
            I := 1;
            Form2.Show; //進入下一層工作窗口
            Form1.Hide; //隱藏登入窗口
          end
        else
          begin
            if I < 3 then //如果記錄登入次數的變數I的值小于3
              begin
                Showmessage('使用者名稱或密碼錯誤!');
                I := I + 1; //將記錄登入次數的變數+1
                Edit1.Clear;
                Edit2.Clear;
                Edit1.SetFocus;
              end
            else
              begin //如果記錄登入次數的變數I的值不小于3
                Showmessage('登入錯誤超過三次﹐系統將被關閉!');
                Application.Terminate; //關閉(結束)專案
              end;
        end;
    end;
end;    procedure TForm1.BitBtn2Click(Sender: TObject); //清空按鈕触發
begin
  Edit1.Clear;
  Edit2.Clear;
  Edit1.SetFocus;
end;    end.
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-05 15:56:45 IP:203.73.xxx.xxx 未訂閱
先宣告全域變數 iTimes : Integer; 在登入的Button或Function內加入 //進來先加1 Inc(iTimes); //判斷帳號密碼 if 帳號密碼沒問題 then begin //做要做的事 end else begin if iTimes = 3 then begin //秀訊息、中斷程式 showmessage('已經超過3次,中斷程式'); Application.Terminate; end; end; ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
系統時間:2024-06-26 23:25:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!