Delphi下用戶登錄+識別驗證碼-源碼_第1頁
Delphi下用戶登錄+識別驗證碼-源碼_第2頁
Delphi下用戶登錄+識別驗證碼-源碼_第3頁
Delphi下用戶登錄+識別驗證碼-源碼_第4頁
Delphi下用戶登錄+識別驗證碼-源碼_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

unituntLogin;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,FlatUtils,FlatBtns,FlatCtrls,DB,ADODB,ExtCtrls,SkinCaption,WinSkinData;typeTlogin=class(TForm)btn1:TFlatButton;btn2:TFlatButton;lbl1:TLabel;lbl2:TLabel;con1:TADOConnection;qry1:TADOQuery;edt1:TEdit;edt2:TEdit;img1:TImage;edt3:TEdit;skndt1:TSkinData;skncptn1:TSkinCaption;procedurebtn1Click(Sender:TObject);procedureFormCreate(Sender:TObject);procedureimg1Click(Sender:TObject);procedureedt1KeyPress(Sender:TObject;varKey:Char);procedureedt2KeyPress(Sender:TObject;varKey:Char);procedureedt3KeyPress(Sender:TObject;varKey:Char);procedurebtn2Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}procedureInterData;//加載數(shù)據(jù)集procedurePwdImg(img:Timage);end;varlogin:Tlogin;username:string;pwdimgstr:string;implementation{$R*.dfm}procedureTlogin.btn1Click(Sender:TObject);beginifEdt1.Text=''then//如果Edit1的文本內(nèi)容為空,那么beginEdt1.Color:=clWindow;//使edit1的顏色變?yōu)榧t色clRedendelse//否則beginEdt1.Color:=clWindow;//edit1的的顏色為當前組件的表面背景色end;ifEdt2.Text=''thenbeginedt2.Color:=clWindow;//clRedendelsebeginEdt2.Color:=clWindow;end;login.qry1.Active:=false;//關(guān)閉數(shù)據(jù)集login.qry1.SQL.Clear;//清空SQL語句,執(zhí)行動態(tài)SQL查詢login.qry1.SQL.Add('select*fromlogin');//從表gzy(公司職員表)中查詢所有用戶login.qry1.SQL.Add('whereg_name='+quotedstr(trim(edt1.Text)));//條件是用戶名等于edit1的文本內(nèi)容login.qry1.SQL.Add('andg_pwd='+quotedstr(trim(edt2.Text)));//并且密碼等于edit2的文本內(nèi)容login.qry1.Active:=true;//打開數(shù)據(jù)庫ifnotlogin.qry1.Eofthen//.Eof的作用為確定當前的指針是否在數(shù)據(jù)集的末尾beginiftrim(edt3.Text)<>trim(pwdimgstr)thenbeginshowmessage('驗證碼不正確');edt3.Clear;PwdImg(img1);endelseifnotlogin.qry1.Fields[3].valuethen//判斷Adoquery1字段3的值,值為假則繼續(xù)執(zhí)行beginiflogin.qry1.Fields[2].value='超級管理員'then//如果Adoquery1第二個字段的值為'超級管理員'beginShowMessage('登錄成功,您是超級管理員!');edt2.Text:='';edt3.Text:='';PwdImg(img1);end;iflogin.qry1.Fields[2].Value='管理員'then//否則如果Adoquery1第二個字段的值為'管理員'beginShowMessage('登錄成功,您是管理員!');edt2.Text:='';edt3.Text:='';PwdImg(img1);end;iflogin.qry1.Fields[2].Value='普通用戶'then//否則如果Adoquery1第二個字段的值為'普通用戶'beginShowMessage('登錄成功,您是普通用戶!');edt2.Text:='';edt3.Text:='';PwdImg(img1);end;username:=Edt1.Text;//把edit1的值賦給usernameendelsebeginshowmessage('用戶已禁用?。?);//顯示信息end;endelsebeginshowmessage('用戶名、密碼或驗證碼錯誤?。?);Edt1.SetFocus;edt1.Clear;edt2.Clear;edt3.Clear;end;end;procedureTlogin.InterData;///初始化目錄樹////varDataName:string;beginDataName:=ExtractFilePath(Application.ExeName)+'\data.mdb';ifFileExists(DataName)thenbegincon1.Connected:=False;con1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+'DataSource='+DataName+';PersistSecurityInfo=False';con1.LoginPrompt:=false;con1.KeepConnection:=True;con1.Connected:=True;endelsebeginMessageBox(Application.Handle,'數(shù)據(jù)庫文件不存在!','錯誤',MB_OK);exit;end;qry1.Close;qry1.SQL.Clear;qry1.SQL.Add('select*fromlogin');qry1.Open;end;procedureTlogin.FormCreate(Sender:TObject);beginInterData;PwdImg(img1);end;procedureTlogin.PwdImg(img:Timage);varI,j,k:Integer;vPoint:TPoint;vLeft:Integer;arrStr:array[1..36]ofstring;beginpwdimgstr:='';arrStr[1]:='0';arrStr[2]:='1';arrStr[3]:='2';arrStr[4]:='3';arrStr[5]:='4';arrStr[6]:='5';arrStr[7]:='6';arrStr[8]:='7';arrStr[9]:='8';arrStr[10]:='9';arrStr[11]:='A';arrStr[12]:='B';arrStr[13]:='C';arrStr[14]:='D';arrStr[15]:='E';arrStr[16]:='F';arrStr[17]:='G';arrStr[18]:='H';arrStr[19]:='I';arrStr[20]:='J';arrStr[21]:='K';arrStr[22]:='L';arrStr[23]:='M';arrStr[24]:='N';arrStr[25]:='O';arrStr[26]:='P';arrStr[27]:='Q';arrStr[28]:='R';arrStr[29]:='S';arrStr[30]:='T';arrStr[31]:='U';arrStr[32]:='V';arrStr[33]:='W';arrStr[34]:='X';arrStr[35]:='Y';arrStr[36]:='Z';forj:=1to4dobeginRandomize;k:=strtoint(Format('%.1d',[Random(36)]));pwdimgstr:=pwdimgstr+trim(arrStr[k])end;vLeft:=10;img.picture:=nil;forI:=1toLength(pwdimgstr)dobeginwithImgdobeginCanvas.Font.Size:=Random(10)+9;Canvas.Font.Color:=RGB(Random(256)and$C0,Random(256)and$C0,Random(256)and$C0);ifRandom(2)=1thenCanvas.Font.Style:=[fsBold]elseCanvas.Font.Style:=[];beginCanvas.Font.Name:=Screen.Fonts[10];vPoint.X:=Random(4)+vLeft;vPoint.Y:=Random(5);Canvas.TextOut(vPoint.X,vPoint.Y,pwdimgstr[I]);vLeft:=vPoint.X+Canvas.TextWidth(pwdimgstr[I]);end;end;end;end;procedureTlogin.img1Click(Sender:TObject);beginPwdImg(img1);end;procedureTlogin.edt1KeyPress(Sender:TObject;varKey:Char);beginifkey=#13then//#13為回車鍵beginedt2.SetFocus;//焦點跳至Button1end;end;procedureTlogin.edt2KeyPress(Sender:TObject;varKey:Char);beginifkey=#13then//#13為回車鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論