小型指紋考勤系統(tǒng)_第1頁
小型指紋考勤系統(tǒng)_第2頁
小型指紋考勤系統(tǒng)_第3頁
小型指紋考勤系統(tǒng)_第4頁
小型指紋考勤系統(tǒng)_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

58/68摘要安全可靠的身份識不技術(shù)是許多考勤系統(tǒng)首先要考慮的問題。傳統(tǒng)的身份識不手段如口令和IC卡技術(shù)已不能滿足人們的需求,因此,生物特征識不技術(shù)因生物特征的唯一性和終生不變性而成為目前最為方便與安全的識不技術(shù)。指紋識不技術(shù)是最可靠、最有效的生物識不技術(shù)之一。本系統(tǒng)采納SM630指紋識不模塊讀取被考勤人員的指紋特征數(shù)據(jù),比對后將獵取的職員代碼數(shù)據(jù)傳輸?shù)缴衔粰C(jī),由上位機(jī)完成考勤處理。本文要緊研究小型指紋考勤系統(tǒng)上位機(jī)軟件部分的實(shí)現(xiàn)。數(shù)據(jù)庫系統(tǒng)采納SQLServer數(shù)據(jù)庫治理系統(tǒng),治理職員差不多信息及指紋記錄。利用了VisualBasic6.0設(shè)計(jì)面對用戶界面及操縱串口通信。因此這套系統(tǒng)具有比傳統(tǒng)的刷卡考勤治理系統(tǒng)更高的安全性和更好的有用性。關(guān)鍵詞:指紋識不;考勤系統(tǒng);指紋數(shù)據(jù)庫Small-scaleFingerprintAttendanceSystemDENGYuanAbstractSecureandstableidentityidentificationtechnologyisthekeyproblemofmanyattendancesystemsconcerned.TraditionalsecuritysystemsbasedontokenorICcardbecomefragileandcannotmeetthedemandofmodernsecuritysystem.Biometrictechnologiesarethemostconvenientandsecureidentityidentificationtechnologybecauseofuniquenessandpermanenceofbiometriccharacter.Fingerprintidentificationisoneofthemostefficientbiometrictechnologies.ThissystemadoptedSM630fingerprintidentificationmodulesretrievalthedataofemployee’sfingerprintcharacteristic,transformthecorrespondenceemployee’scode-datatopositionmachineaftercontrastthefingerprintinformation,thenthepositionmachinewillfinishtheattendance.Thisthesismainlyconcernaboutsoftwarepartofsmall-scalefingerprintattendancesystem.TheSQLServerdatabaseisusedtoregisterandmanagetheinformationabouttheworkattendance.AndtheVisualBasicisusedtodesigntheconsumerinterfaceandcontrolserialcommunication.Thesystemcanenhancetheefficiencyofthemanagementofcheckingonworkattendanceandbemoresecureandpracticablethanothermethod.Keywords:FingerprintIdentification;AttendanceSystem;FingerprintDatabase\目錄1.設(shè)計(jì)背景………………11.1生物識不的概念…………………11.2指紋考勤的前景…………………12.指紋考勤系統(tǒng)的工作原理……………22.1指紋識不原理……………………22.2考勤系統(tǒng)要求……………………22.3軟件設(shè)計(jì)原理……………………32.3.1ADO的原理…………………32.3.2串口通信原理………………53.方案論證………………63.1設(shè)計(jì)軟件的選擇…………………63.1.1數(shù)據(jù)庫的選擇………………63.1.2開發(fā)軟件的選擇……………73.2總體方案…………………………84.系統(tǒng)設(shè)計(jì)………………94.1數(shù)據(jù)庫的設(shè)計(jì)……………………94.2VB界面的設(shè)計(jì)…………………10結(jié)論及尚存問題………………………15參考文獻(xiàn)………………16致謝……………………17附錄1軟件設(shè)計(jì)總程序…………………18附錄2系統(tǒng)總電路圖……………………26附錄3元件清單…………………………27小型指紋考勤系統(tǒng)1.設(shè)計(jì)背景1.1生物識不的概念基于生物特征的身份認(rèn)證方式可克服傳統(tǒng)身份認(rèn)證方式的許多缺點(diǎn)。每個(gè)人都具有多種生物特征。生物特征包括生理特征和行為特征,生理特征是指與生俱來的特征,如指紋、虹膜、DNA等。行為特征是指后天適應(yīng)形成的特征,如步態(tài)、筆跡等。每個(gè)人都擁有許多種生物特征,生物特征可不能被不記得和丟失。關(guān)于每一種生物特征的性質(zhì),能夠用一些參數(shù)來描述,包括(l)普遍性,是否每個(gè)人都具有這種特征;(2)唯一性,是否任何兩個(gè)人的這種特征都不同;(3)恒久性,是否終生不變;(4)可采集性,是否容易采集;(5)性能,識不的正確性如何;(6)同意程度,用戶是否情愿同意這種身份認(rèn)證方式;(7)防欺騙性,防止環(huán)境欺騙的能力。表1.1列出了常用生物特征的參數(shù)比較,每個(gè)參數(shù)分High、Medium和Low三個(gè)等級,其中High最好,Low最差。假如依照性能等級給每個(gè)參數(shù)打分:High為3分,Medium為2分,Low為1分。各生物特征總的得分分不為:人臉14分、指紋18分、手形15分、虹膜18分、視網(wǎng)膜16分、簽名11分、聲音11分。指紋和虹膜的得分最高,而虹膜的用戶同意程度為Low,指紋中沒有等級為Low的參數(shù)??梢?,眾多生物特征中指紋是較為理想的一種用于身份認(rèn)證的生物特征。據(jù)調(diào)查,在各種基于生物特征的身份認(rèn)證方法中,指紋識不所占有的市場份額最大。同時(shí),基于生物特征的身份認(rèn)證方法的市場收入額在逐年上升,可見社會越來越需要基于生物特征的身份認(rèn)證,尤其是基于指紋的身份認(rèn)證方式。表1-1常用生物特征的比較生物特征普遍性獨(dú)特性穩(wěn)定性可采集性性能同意程度防欺騙性人臉HighLowMediumHighLowHighLow指紋MediumHighHighMediumHighMediumHigh手形MediumMediumMediumHighMediumMediumMedium虹膜HighHighHighMediumHighLowHigh視網(wǎng)膜HighHighMediumLowHighLowHigh簽名LowLowLowHighLowHighLow聲音MediumLowLowMediumLowHighLow1.2指紋考勤的前景考勤治理是企事業(yè)單位日常治理工作中一個(gè)十分重要而煩瑣的組成部分,與企事業(yè)單位的人事工資、勞動生產(chǎn)率有著緊密的聯(lián)系,與職員的收入直接掛鉤。隨著計(jì)算機(jī)技術(shù)的飛速進(jìn)展,各種智能考勤機(jī)不斷出現(xiàn),職員上、下班只需要在考勤機(jī)上刷卡(條碼卡、磁卡、IC卡或射頻卡等),其它工作交由計(jì)算機(jī)完成,即可實(shí)現(xiàn)考勤,使人們從煩瑣的事務(wù)性工作中解放出來,考勤治理進(jìn)入一個(gè)新時(shí)代。然而,使用刷卡考勤,卡代表了人的身份,由于各種緣故,難免出現(xiàn)誤刷卡、代刷卡的情況,使考勤結(jié)果的公正性和準(zhǔn)確性受到阻礙。此外,卡也有易丟失、磨損、折斷等缺點(diǎn)。本文介紹的指紋考勤治理系統(tǒng),使用指紋錄入代替刷卡,通過指紋特征鑒定職員身份,即具有卡式考勤系統(tǒng)方便、快捷的優(yōu)勢,又能克服其缺點(diǎn),是一種較為理想的考勤方式。指紋考勤系統(tǒng)的工作原理2.1指紋識不原理指紋是手指皮膚表面隆起的脊和凹下的谷構(gòu)成的特定紋路,其紋理在嬰兒胚胎時(shí)期就己經(jīng)確定。相關(guān)于人體其他的生物特征而言,指紋在唯一性、穩(wěn)定性方面有著明顯得優(yōu)勢:科學(xué)研究發(fā)覺,兩枚指紋完全相同的概率微小,能夠認(rèn)為世界上沒有兩個(gè)人會有完全相同的指紋;而且每人的指紋會保持終生不變,指紋由皮膚表面死亡的角質(zhì)細(xì)胞堆積而成,即使磨損,只要不傷及真皮,也能重新長出。另外,指紋的應(yīng)用是特不方便、可靠的,同時(shí)可不能對人體構(gòu)成侵犯,用戶同意程度也比較高?;谝陨咸攸c(diǎn),指紋識不技術(shù)在社會安全、信息安全、金融安全、個(gè)人安全以及防偽領(lǐng)域得到了廣泛的應(yīng)用,幾乎成為生物特征識不的代名詞。兩枚指紋經(jīng)常會具有相同的總體特征,但它們的局部特征(即特征點(diǎn)),卻不可能完全相同,因此,指紋識不技術(shù)通常使用指紋的全局特征如紋型等來進(jìn)行分類,再用局部特征如端點(diǎn)、分叉點(diǎn)等來進(jìn)行識不用戶身份。通常,首先從獵取的指紋圖像上找到“特征點(diǎn)”(minutiae),然后依照特征點(diǎn)的特性建立用戶活體指紋的數(shù)字表示指紋特征數(shù)據(jù)(一種單向的轉(zhuǎn)換:能夠從指紋圖像轉(zhuǎn)換成特征數(shù)據(jù),但不能從特征數(shù)據(jù)轉(zhuǎn)換成為指紋圖像)。由于兩枚不同的指紋可不能產(chǎn)生相同的特征數(shù)據(jù),因此通過對所采集到的指紋圖像的特征數(shù)據(jù)和存放在數(shù)據(jù)庫中的指紋特征數(shù)據(jù)進(jìn)行模式匹配,計(jì)算出它們的相似程度,最終得到兩個(gè)指紋的匹配結(jié)果,依照匹配結(jié)果來鑒不用戶身份。2.2考勤系統(tǒng)要求考勤治理系統(tǒng)最差不多的工作確實(shí)是如實(shí)地記錄職員上班與下班的時(shí)刻,然后再分時(shí)期進(jìn)行數(shù)據(jù)處理,以形成職員的考勤記錄。在職員人數(shù)較多的大中型企業(yè)。還會對考勤治理系統(tǒng)提出了更高的要求:1)職員分散在不同辦公區(qū)域,需要各區(qū)域設(shè)置多臺考勤機(jī),因此要求考勤機(jī)集中治理配置,考勤機(jī)時(shí)刻自動同步,考勤機(jī)異常后自動報(bào)警,各個(gè)考勤機(jī)的考勤數(shù)據(jù)自動上傳,免除人工逐個(gè)考勤機(jī)定期收集數(shù)據(jù)。新職員到廠,或老職職員作場所變動后應(yīng)幸免在不同考勤機(jī)上重復(fù)建立指紋檔案,因此需要集中建立指紋檔案,依照職員的工作場所,自動下裝到相應(yīng)的考勤機(jī)上。2)班制情況復(fù)雜。同時(shí)存在多種班制,有的班制在不同季節(jié)的班次時(shí)刻不同,要求系統(tǒng)通用靈活,適應(yīng)性強(qiáng),調(diào)整方便。3)希望如實(shí)反映每個(gè)人的考勤情況,杜絕舞弊。要求請假加班申請治理流程與考勤集成,職員上下班僅需要直觀地按指紋,考勤記錄最大可能按考勤規(guī)則自動生成,異常數(shù)據(jù)需要人工干預(yù)時(shí),保留人工干預(yù)痕跡。4)及時(shí)反饋職員在崗狀態(tài)和考勤結(jié)果,方便各級治理人員了解職員出勤情況。能與其他治理系統(tǒng)集成,如薪資計(jì)算,會議通知,任務(wù)安排,因?yàn)檫@些系統(tǒng)都需要實(shí)時(shí)了解職員在崗情況。同時(shí),隨著信息化的進(jìn)展,以及自動操縱帶來的便利和公司規(guī)模增大,考勤系統(tǒng)利用數(shù)據(jù)庫來治理差不多成為必定的趨勢,尤其是服務(wù)器/客戶機(jī)模式的數(shù)據(jù)庫治理。2.3軟件設(shè)計(jì)原理2.3.1ADO的原理ADO是ActiveXDataObject的縮寫,是建立在OLEDB之上的高層數(shù)據(jù)庫訪問技術(shù)。ADO被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLEDBProvider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(UniversalDataAccess)。OLEDB是一個(gè)低層的數(shù)據(jù)訪問接口,用它能夠訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對象.像Microsoft的其它系統(tǒng)接口一樣,ADO是面向?qū)ο蟮摹K荕icrosoft全局?jǐn)?shù)據(jù)訪問(UDA)的一部分,Microsoft認(rèn)為與其自己創(chuàng)建一個(gè)數(shù)據(jù),不如利用UDA訪問已有的數(shù)據(jù)庫。為達(dá)到這一目的,Microsoft和其它數(shù)據(jù)庫公司在它們的數(shù)據(jù)庫和Microsoft的OLE數(shù)據(jù)庫之間提供了一個(gè)“橋”程序,OLE數(shù)據(jù)庫差不多在使用ADO技術(shù)。ADO的一個(gè)特征(稱為遠(yuǎn)程數(shù)據(jù)服務(wù))支持網(wǎng)頁中的數(shù)據(jù)相關(guān)的ActiveX控件和有效的客戶端緩沖。作為ActiveX的一部分,ADO也是Microsoft的組件對象模式(COM)的一部分,它的面向組件的框架用以將程序組裝在一起。ADO從原來的Microsoft數(shù)據(jù)接口遠(yuǎn)程數(shù)據(jù)對象(RDO)而來。RDO與ODBC一起工作訪問關(guān)系數(shù)據(jù)庫,但不能訪問如ISAM和VSAM的非關(guān)系數(shù)據(jù)庫。ADO是對當(dāng)前微軟所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法,它是一種功能強(qiáng)大的數(shù)據(jù)訪問編程模式,從而使得大部分?jǐn)?shù)據(jù)源可編程的屬性得以直接擴(kuò)展到你的ActiveServer頁面上。能夠使用ADO去編寫緊湊簡明的腳本以便連接到OpenDatabaseConnectivity(ODBC)兼容的數(shù)據(jù)庫和OLEDB兼容的數(shù)據(jù)源,如此ASP程序員就能夠訪問任何與ODBC兼容的數(shù)據(jù)庫,包括MSSQLSERVER、Access、Oracle等等。比如,假如網(wǎng)站開發(fā)人員需要讓用戶通過訪問網(wǎng)頁來獲得存在于IBMDB2或者Oracle數(shù)據(jù)庫中的數(shù)據(jù),那么就能夠在ASP頁面中包含ADO程序,用來連接數(shù)據(jù)庫。因此,當(dāng)用戶在網(wǎng)站上掃瞄網(wǎng)頁時(shí),返回的網(wǎng)頁將會包含從數(shù)據(jù)庫中獵取的數(shù)據(jù)。而這些數(shù)據(jù)差不多上由ADO代碼做到的。ADO是一種面向?qū)ο蟮木幊探涌?,微軟介紹講,與其同IBM和Oracle提倡的那樣,創(chuàng)建一個(gè)統(tǒng)一數(shù)據(jù)庫,不如提供一個(gè)能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,如此會更加有用一些。為實(shí)現(xiàn)這一目標(biāo),微軟在數(shù)據(jù)庫和微軟的OLEDB中提供了一種“橋”程序,這種程序能夠提供對數(shù)據(jù)庫的連接。開發(fā)人員在使用ADO時(shí),事實(shí)上確實(shí)是在使用OLEDB,只是OLEDB更加接近底層。ADO的一項(xiàng)屬性遠(yuǎn)程數(shù)據(jù)服務(wù),支持“數(shù)據(jù)倉庫”ActiveX組件以及高效的客戶端緩存。作為ActiveX的一部分,ADO也是COM組件的一部分。ADO是由早期的微軟數(shù)據(jù)接口遠(yuǎn)程數(shù)據(jù)對象RDO演化而來的。RDO同微軟的ODBC一同連接關(guān)系數(shù)據(jù)庫,只是不能連接非關(guān)系數(shù)據(jù)庫。ADO向我們提供了一個(gè)熟悉的,高層的對OLEDB的Automation封裝接口。對那些熟悉RDO的程序員來講,你能夠把OLEDB比作是ODBC驅(qū)動程序。如同RDO對象是ODBC驅(qū)動程序接口一樣,ADO對象是OLEDB的接口;如同不同的數(shù)據(jù)庫系統(tǒng)需要它們自己的ODBC驅(qū)動程序一樣,不同的數(shù)據(jù)源要求它們自己的OLEDB提供者(OLEDBprovider)。目前,盡管OLEDB提供者比較少,但微軟正積極推廣該技術(shù),并打算用OLEDB取代ODBC。ADO向VB程序員提供了專門多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用(已實(shí)現(xiàn)ADO2.0的Msado15.dll需要占用342K內(nèi)存,比RDO的Msrdo20.dll的368K略小,大約是DAO3.5的Dao350.dll所占內(nèi)存的60%)。同傳統(tǒng)的數(shù)據(jù)對象層次(DAO和RDO)不同,ADO能夠獨(dú)立創(chuàng)建。因此你能夠只創(chuàng)建一個(gè)"Connection"對象,然而能夠有多個(gè),獨(dú)立的"Recordset"對象來使用它。ADO針對客戶/服務(wù)器以及WEB應(yīng)用程序作了優(yōu)化。ADO中的模型對象如圖2-1所示:圖2-1ADO模型對象1)Connection對象:通過"連接Connection對象"能夠使應(yīng)用程序與要訪問的數(shù)據(jù)源之間建立起通道,連接是交換數(shù)據(jù)所必需的環(huán)境。通過如MicrosoftInternetInformationServer作為媒介,應(yīng)用程序可直接(有時(shí)稱為雙層系統(tǒng))或間接(有時(shí)稱為三層系統(tǒng))訪問數(shù)據(jù)源。對象模型使用Connection對象使連接要領(lǐng)具體化,用于通過OLEDB建立對數(shù)據(jù)源的鏈接。一個(gè)Connection對象負(fù)責(zé)數(shù)據(jù)庫治理系統(tǒng)的一條鏈接,能夠檢查或設(shè)置Connection對象的值。例如,使用事務(wù)方法BeginTrans、CommitTrans和RollbackTrans訪問默認(rèn)數(shù)據(jù)庫。2)Command對象:Command對象通過已建立的連接發(fā)出訪問數(shù)據(jù)源"命令",以某種方式來操作數(shù)據(jù)源數(shù)據(jù)。一般情況下,"命令"能夠在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或者在表中以行的格式檢索數(shù)據(jù)。對象模型用Command對象來體現(xiàn)命令概念。使用Command對象可使ADO優(yōu)化命令的執(zhí)行。Command對象要緊用于訪問數(shù)據(jù)庫治理系統(tǒng)中的存儲對象。它要緊用在需要執(zhí)行帶參數(shù)(或不帶)和返回值的存儲過程中。3)Recordset對象:假如命令是在表中按信息行返回?cái)?shù)據(jù)的查詢結(jié)果(按行返回查詢),則這些行將會存儲在本地Recordset對象中。通過記錄集可實(shí)現(xiàn)對數(shù)據(jù)庫的修改操作。對象模型將該存儲體現(xiàn)為Recordset對象。然而,不存在僅代表單獨(dú)一個(gè)Recordset行的對象。Recordset對象用于從數(shù)據(jù)源獵取數(shù)據(jù)。在獵取數(shù)據(jù)集之后,Recordset對象能用于導(dǎo)航、編輯、增加及刪除其記錄。Recordset對象的指針經(jīng)常指向數(shù)據(jù)集當(dāng)前的單條記錄。2.3.2串口通信原理VB的串行通信組件為MSComm,它是一個(gè)與其它系統(tǒng)建立串行通信的強(qiáng)大工具。MSComm控件通過串行端口實(shí)現(xiàn)各應(yīng)用數(shù)據(jù)的串行發(fā)送和接收。1)MSComm控件的要緊屬性CommPort:設(shè)置或返回通信端口號。PortOpen:設(shè)置或返回通信端口的開關(guān)狀態(tài),也可打開或關(guān)閉某一端口。CommEvent:返回最近通信事件或錯(cuò)誤,在設(shè)計(jì)時(shí)期時(shí)無效,運(yùn)行時(shí)期為只讀。Input:返回或清除接收緩沖區(qū)中數(shù)據(jù),在設(shè)計(jì)時(shí)期時(shí)無效,運(yùn)行時(shí)期為只讀。InputLen:確定被Input屬性讀取的字符數(shù)。InputMode:設(shè)置或返回被Input屬性讀取的數(shù)據(jù)類型。Output:向發(fā)送緩沖區(qū)中寫入數(shù)據(jù),在設(shè)計(jì)時(shí)期時(shí)無效,運(yùn)行時(shí)期時(shí)為只讀。RThreshold:在MSComm控件設(shè)置CommEvent屬性為CommEvReceive并產(chǎn)生OnComm事件之前,設(shè)置或返回要接收的字符數(shù)。SThreshold:在MSComm控件設(shè)置CommEvent屬性為CommEvReceive并產(chǎn)生OnComm事件之前,指定發(fā)送緩沖區(qū)中同意的最少字符數(shù)。Setting:設(shè)置或返回初始化參數(shù),即波特率、奇偶校驗(yàn)位、數(shù)據(jù)位和停止位。2)MSComm控件的要緊事件OnComm事件:當(dāng)CommEvent屬性值發(fā)生變化時(shí),就觸發(fā)此事件,標(biāo)志發(fā)生了一個(gè)通信事件或錯(cuò)誤。假如CommEvent屬性值發(fā)生了變化,而通信事件又未發(fā)生,就必定出現(xiàn)錯(cuò)誤。CommEvent屬性中含有觸發(fā)OnComm事件的真正錯(cuò)誤或事件的標(biāo)志代碼。3)MSComm控件進(jìn)行串行通信的一般步驟:加入MSComm對象。設(shè)定通信端口號碼,即CommPort屬性。設(shè)定通信協(xié)議,即HandShaking屬性。設(shè)定傳輸速度等參數(shù),即Settings屬性。設(shè)定其它參數(shù),若必要時(shí)再加上其它屬性設(shè)定。開啟通信端口,立即PortOpen屬性設(shè)為TRUE。使用Input或Output屬性,送出字符串或讀入字符串。使用MSCcomm通信對象后,將通信端口關(guān)閉。4)MSComm控件通信方式選擇:MSComm控件有兩種處理通信的方式,即事件驅(qū)動和查詢方式。事件驅(qū)動方式是處理串行通信的一種有效方法,它能夠利用OnComm事件捕獲并處理通信中發(fā)生的事件或錯(cuò)誤,實(shí)時(shí)性較強(qiáng)。而查詢方式是在程序通過查詢CommEvent屬性的值來推斷通信過程中的事件或錯(cuò)誤,這種方式適合于應(yīng)用程序較小,實(shí)時(shí)性要求不高的系統(tǒng)中。方案論證3.1設(shè)計(jì)軟件的選擇3.1.1數(shù)據(jù)庫的選擇SQLserver2000是microsoft公司推出的SQLserver數(shù)據(jù)庫治理系統(tǒng)的最新版本。該版本繼承了SQLserver7.0版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行microsoftwindows98的膝上型電腦到運(yùn)行microsoftwindows2000的大型多處理器的服務(wù)器等多種平臺使用,它建立在成熟而強(qiáng)大的關(guān)系模型基礎(chǔ)上,能夠?qū)iT好的支持b/s網(wǎng)絡(luò)模式,能夠滿足各種類型的企事業(yè)單位對構(gòu)建網(wǎng)絡(luò)數(shù)據(jù)庫的需求,而且在易用性、可擴(kuò)展性、可靠性以及數(shù)據(jù)倉庫等方面確立了世界領(lǐng)先的地位,是目前學(xué)習(xí)大型數(shù)據(jù)庫治理系統(tǒng)的首選軟件,也是使用最為廣泛、普及率最高的數(shù)據(jù)庫治理系統(tǒng)之一。依照分析本系統(tǒng)的開發(fā)選擇了SQLServer2000作為數(shù)據(jù)庫系統(tǒng)。SQLServer2000能夠良好的在windows上運(yùn)行,操作系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的,因此選擇SQLserver2000本身也給數(shù)據(jù)庫系統(tǒng)的穩(wěn)定性提供了保障。SQLserver2000是microsoft公司2000年推出的SQLserver數(shù)據(jù)庫治理系統(tǒng)的版本。它是一個(gè)杰出的數(shù)據(jù)庫平臺,可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫、以及電子商務(wù)等。它的特點(diǎn):1)真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。2)圖形化用戶界面。3)豐富的編程接口工具。4)SQLserver與windowsNT完全集成,利用了它的許多功能,如發(fā)送和同意消息,治理、登陸、安全性等。5)對web技術(shù)的支持。SQLserver提供了各種各樣的特性以便于通過web容易和安全地訪問數(shù)據(jù)。用戶能夠使用http來發(fā)送查詢給服務(wù)器。6)高度可縮放同時(shí)可靠。假如SQL服務(wù)器的負(fù)載增加,那么能夠利用放大和擴(kuò)展特性來滿足要求。當(dāng)放大時(shí),SQLserver企業(yè)治理器能夠利用32位處理器和64gb的ram來滿足負(fù)載的增加。當(dāng)在擴(kuò)展特性時(shí),SQLserver能夠跨服務(wù)器地分布數(shù)據(jù)庫和數(shù)據(jù)負(fù)載。當(dāng)系統(tǒng)崩潰的時(shí)候,rdbms應(yīng)該能夠以最小的數(shù)據(jù)丟失快速地恢復(fù),那個(gè)特性被稱作可靠性。SQLserver提供了各種各樣的備份策略來提高可靠性。7)SQLserver提供數(shù)據(jù)倉庫功能。那個(gè)功能只在oracle和其他更昂貴的dbms中才有。8)最快的市場響應(yīng)速度。SQLserver提供了減少應(yīng)用開發(fā)從它的設(shè)計(jì)到一個(gè)完整的產(chǎn)品所用的時(shí)刻。它提供了治理工具來治理服務(wù)器,也提供了從不同的數(shù)據(jù)源復(fù)制和移動數(shù)據(jù)的工具。用戶能夠利用SQLserver輕松地執(zhí)行復(fù)雜的計(jì)算和分析數(shù)據(jù)。9)支持xml。SQLserver2000具有完全的web功能,支持XML語言,能夠檢索、編寫XML數(shù)據(jù)。10)支持分布式的分區(qū)視圖。SQLserver提供的由服務(wù)器訪問數(shù)據(jù)對象的語言稱為結(jié)構(gòu)化查詢語言(SQL),SQL差不多減少了需要用冗長的編程來訪問數(shù)據(jù)。SQL以行和列的集合形式訪問數(shù)據(jù),而不是一次一行和一個(gè)屬性地訪問數(shù)據(jù)的各個(gè)組件。SQL的一個(gè)杰出功能確實(shí)是支持向目標(biāo)數(shù)據(jù)自動導(dǎo)航.那個(gè)功能可讓用戶指出什么信息是需要的且不必指出如何樣得到它,而SQL用戶并不需要明白數(shù)據(jù)是如何樣存儲的.查詢語言注意檢索、替代、添加和刪除數(shù)據(jù),因而使得數(shù)據(jù)庫可被專門少或則沒有編程知識的最終用戶容易地訪問。一個(gè)過程化的編程語言需要數(shù)據(jù)的每個(gè)講明.這些講明包括數(shù)據(jù)存儲、訪問模式及檢索,SQL在操作上比數(shù)據(jù)庫治理的過程化語言更簡單。過程化語言是更適合與硬件交互或計(jì)算機(jī)通信的系統(tǒng)程序l。本系統(tǒng)使用SQLserver2000作為數(shù)據(jù)庫存儲相關(guān)數(shù)據(jù)。3.1.2開發(fā)軟件的選擇本系統(tǒng)選擇VisualBasic6.0來設(shè)計(jì)考勤系統(tǒng)的前臺程序,要緊是因?yàn)樗哂幸韵乱恍┨攸c(diǎn):1)面向?qū)ο骎B采納了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。它的差不多思路是把復(fù)雜的程序設(shè)計(jì)問題分解為一個(gè)個(gè)能夠完成獨(dú)立功能的相對簡單的對象集合,所謂“對象”確實(shí)是一個(gè)可操作的實(shí)體,如窗體、窗體中的命令按鈕、標(biāo)簽、文本框等。面向?qū)ο蟮木幊叹涂雌饋泶罘e木一樣,程序員可依照程序和界面設(shè)計(jì)要求,直接在屏幕上“畫"出窗口、菜單、按鈕等不同類型的對象,并為每個(gè)對象設(shè)置屬性。2)事件驅(qū)動在Windows環(huán)境下,程序是以事件驅(qū)動方式運(yùn)行的,每個(gè)對象都能響應(yīng)多個(gè)不同的事件,每個(gè)事件都能驅(qū)動一段代碼——事件過程,該代碼決定了對象的功能。通常稱這種機(jī)制為事件驅(qū)動。事件可由用戶的操作觸發(fā),也能夠由系統(tǒng)或應(yīng)用程序觸發(fā)。例如,單擊一個(gè)命令按鈕,就觸發(fā)了按鈕的Click(單擊)事件,該事件中的代碼就會被執(zhí)行。若用戶未進(jìn)行任何操作(未觸發(fā)事件),則程序就處于等待狀態(tài)。整個(gè)應(yīng)用程序確實(shí)是由彼此獨(dú)立的事件過程構(gòu)成。3)軟件的集成式開發(fā)VB為編程提供了一個(gè)集成開發(fā)環(huán)境。在那個(gè)環(huán)境中,編程者可設(shè)計(jì)界面、編寫代碼、調(diào)試程序,直至把應(yīng)用程序編譯成可在Windows中運(yùn)行的可執(zhí)行文件,并為它生成安裝程序。VB的集成開發(fā)環(huán)境為編程者提供了專門大的方便。4)結(jié)構(gòu)化的程序設(shè)計(jì)語言VB具有豐富的數(shù)據(jù)類型,是一種符合結(jié)構(gòu)化程序設(shè)計(jì)思想的語言,而且簡單易學(xué)。此外作為一種程序設(shè)計(jì)語言,VB還有許多獨(dú)到之處。5)強(qiáng)大的數(shù)據(jù)庫訪問功能VB利用數(shù)據(jù)控件能夠訪問多種數(shù)據(jù)庫,VB6.O提供的ADO控件,不但能夠用最少的代碼實(shí)現(xiàn)數(shù)據(jù)庫操作和操縱,也能夠取代Data控件和RDO控件。6)支持對象的鏈接與嵌入技術(shù)VB的核心是對對象的鏈接與嵌入(OLE)技術(shù)的支持,它是訪問所有對象的一種方法。利用OLE技術(shù),能夠開發(fā)集聲音、圖像、動畫、字處理、Web等對象于一體的程序。7)網(wǎng)絡(luò)功能VB6.O提供了DltTML(Dynamic}tTML)設(shè)計(jì)工具。利用這種技術(shù)能夠動態(tài)創(chuàng)建和編輯Web頁面,使用戶在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件。8)多個(gè)應(yīng)用程序向?qū)B提供了多種向?qū)?,如?yīng)用程序向?qū)?、安裝向?qū)?、?shù)據(jù)對象向?qū)Ш蛿?shù)據(jù)窗體向?qū)Вㄟ^它們能夠快速地創(chuàng)建不同類型、不同功能的應(yīng)用程序。9)支持動態(tài)交換、動態(tài)鏈接技術(shù).通過動態(tài)數(shù)據(jù)交換(DDE)的編程技術(shù),VB開發(fā)的應(yīng)用程序能與其他Windows應(yīng)用程序之間建立數(shù)據(jù)通信。通過動態(tài)鏈接庫技術(shù),在VB程序中可方便地調(diào)用C語言或匯編語言編寫的函數(shù),也可調(diào)用Windows的應(yīng)用程序接口(.API)函數(shù)。1O)聯(lián)機(jī)關(guān)心功能在VB中,利用關(guān)心菜單和F1功能鍵,用戶可隨時(shí)方便地得到所需要的關(guān)心信息。VB關(guān)心窗口中顯示了有關(guān)的示例代碼,通過復(fù)制、粘貼操作可獵取大量的示例代碼,為用戶的學(xué)習(xí)和使用提供方便。3.2總體方案本系統(tǒng)采納SQLServer2000做系統(tǒng)數(shù)據(jù)庫,VisualBasic6.0做前臺界面設(shè)計(jì)。能夠?qū)崿F(xiàn)的功能有職員資料,部門資料及班次資料的維護(hù),通過指定時(shí)刻內(nèi)的指紋考勤結(jié)果自動更新職員考勤記錄及部門考勤記錄。要緊工作原理是VB通過ADO與SQL數(shù)據(jù)庫綁定在一起,由VB完成數(shù)據(jù)庫記錄的增加,修改與刪除。同時(shí)VB通過MSComm控件操縱串口通信,與單片機(jī)及指紋模塊連接,實(shí)現(xiàn)考勤結(jié)果的記錄。要緊的工作流程為:1)VB完成差不多資料的更新,包括職員資料,部門資料,及班次資料。2)系統(tǒng)開始運(yùn)行后,在VB的主窗體點(diǎn)初始化,VB將發(fā)送一串指令測試串口的連接,假如接收到正確的返回碼,則講明通信成功,假如失敗則要檢查路線的連接。3)在指定時(shí)刻(上下班時(shí)刻的前后1個(gè)小時(shí)),指紋模塊開始考勤,并將考勤結(jié)果發(fā)送回VB,VB則依照考勤的時(shí)刻記錄對應(yīng)職員是正??记谝琅f遲到早退缺勤。4)考勤結(jié)束后能夠通過VB查看職員以及部門的考勤結(jié)果。4.系統(tǒng)設(shè)計(jì)4.1數(shù)據(jù)庫的設(shè)計(jì)系統(tǒng)對應(yīng)的數(shù)據(jù)庫名為zwkq.mdf,它總共有5張表,數(shù)據(jù)表的關(guān)系如圖4-1所示。圖4-1數(shù)據(jù)表關(guān)系圖職員差不多資料表名為ygzl,它包括8列,分不為職員ID,職員姓名,性不,部門名稱,職務(wù),備注,指紋記錄,數(shù)據(jù)結(jié)構(gòu)如圖4-2所示。其中ID是表的主鍵與日考勤記錄表(daykq)及月考勤記錄表(monkq)中的職員ID是綁定在一起的。圖4-2職員差不多資料表的設(shè)計(jì)部門差不多資料表名為bmzl,它包括6列,分不為部門ID,部門名稱,部門主管,部門人數(shù),部門班次,部門缺勤人數(shù),數(shù)據(jù)結(jié)構(gòu)如圖4.3所示。其中班次名稱是與班次資料表中的班次名稱綁定在一起的。圖4-3部門差不多資料表的設(shè)計(jì)4.2VB界面的設(shè)計(jì)系統(tǒng)對應(yīng)的工程為ZWKQ.vbp,一共包括7個(gè)窗體,該系統(tǒng)的結(jié)構(gòu)如圖4-4所示。登陸界面登陸界面主窗體初始化職員差不多資料班次差不多設(shè)置職員考勤資料部門差不多設(shè)置職員差不多設(shè)置圖4-4系統(tǒng)結(jié)構(gòu)本工程的啟動對象為main窗體。該窗體所含的菜單功能如下:1)初始化:能夠完成系統(tǒng)的初始化,以及串口連接,指紋操縱的測試。2)基礎(chǔ)資料:包括職員差不多資料查詢,職員差不多資料設(shè)置,部門差不多資料設(shè)置3項(xiàng)功能。3)班次設(shè)置:包括班次資料查看,班次資料設(shè)置,班次編排3項(xiàng)功能。4)考勤查詢:包括日考勤表,月考勤表的導(dǎo)出,及考勤資料查看3項(xiàng)功能。本工程中引用了一些ActiveX控件等,在設(shè)計(jì)時(shí)選擇“工程”菜單中的“部件”選項(xiàng),從控件列表中選中如下選項(xiàng):MicrosoftADODataControl6.0(OLEDB)MicrosoftDataGridControl6.0(OLEDB)MicrosoftDataListControl6.0(OLEDB)MicrosoftWindowsCommonControls6.0(SP4)系統(tǒng)一開始是一個(gè)治理員登陸界面,如圖4-5所示。通過治理員輸入用戶名和密碼能夠登陸進(jìn)入主界面進(jìn)行操作,同時(shí)也能夠修改密碼。圖4-5治理員登陸的界面主窗體是一個(gè)多文檔窗體,設(shè)計(jì)界面如圖4-6所示。在該窗體上設(shè)計(jì)有一個(gè)菜單,菜單的設(shè)計(jì)選擇“工具”中的“菜單編輯器”,如圖4-7。輸入標(biāo)題,名稱或者快捷鍵,再利用方向按鈕設(shè)置菜單的級不,在菜單選項(xiàng)的Click事件中編程實(shí)現(xiàn)菜單的功能。圖4-6Main窗體的式樣圖4-7菜單編輯器的設(shè)計(jì)在Main窗體上放置了一個(gè)MSComm控件,用來操縱PC機(jī)與單片機(jī)的串口通信。MSComm控件初始化:界面運(yùn)行開始,初始化串口功能(MSComm控件名為comm1),程序如下:comm1.CommPort=1‘選用COM1串行口Ifcomm1.PortOpen=FalseThen‘打開通信口comm1.PortOpen=TrueEndIfcomm1.Settings="9600,n,8,1"‘波特率9600,無奇偶校驗(yàn)位,8位數(shù)據(jù)位,1位停止位comm1.InputMode=0‘?dāng)?shù)據(jù)以文本形式取回?cái)?shù)據(jù)comm1.InputLen=0‘讀取接收緩沖區(qū)全部內(nèi)容comm1.RThreshold=0‘不產(chǎn)生OnComm事件comm1.SThreshold=0標(biāo)準(zhǔn)的MSComm控件屬性設(shè)置能夠?qū)iT好的完成本系統(tǒng)串口通信的要求。職員差不多資料窗體用于維護(hù)職員的差不多資料,如圖4-8所示。DataGrid中列出了全部職員的資料,雙擊一列能夠查看該職員的詳細(xì)資料或者修改資料?;蛘咻斎肼殕T的ID及姓名點(diǎn)查詢來查看職員的資料,該窗體還能夠?qū)崿F(xiàn)職員記錄的新增及刪除功能。窗體需要利用Adodc控件和SQL數(shù)據(jù)庫進(jìn)行綁定,綁定的具體方法為:點(diǎn)擊桌面左下角“開始”,在菜單欄選擇“操縱面板”,在“操縱面板”里面選擇“治理工具”,左鍵雙擊打開后可見“數(shù)據(jù)源(ODBC)”,ODBC是openDatabaseConnectivity(開放式數(shù)據(jù)庫鏈接性)的簡稱,用于安裝鏈接數(shù)據(jù)庫的驅(qū)動程序和設(shè)置數(shù)據(jù)源的名稱及位置。雙擊“數(shù)據(jù)源(ODBC)”,打開“數(shù)據(jù)源”對話框。選擇“系統(tǒng)DSN”選項(xiàng)卡[DSN是數(shù)據(jù)源名稱(DataSourceName)的簡稱,其數(shù)據(jù)源信息將保存于系統(tǒng)注冊文件中」,單擊“添加”按鈕,選擇數(shù)據(jù)庫“SQLServer”,填寫數(shù)據(jù)源名稱“zwkq”,描述項(xiàng)填“指紋考勤系統(tǒng)”并選擇數(shù)據(jù)庫的路徑,單擊“確定”按鈕,建立數(shù)據(jù)源。建立后,進(jìn)行測試,測試成功表明數(shù)據(jù)庫己成功鏈接,如圖4-9所示圖4-8職員差不多資料查詢的界面圖4.9ODBC與SQLServer的連接然后設(shè)置窗體上Adodc控件的ConnectionString和RecordSource屬性,Adodc就與對應(yīng)的數(shù)據(jù)庫文件綁定在一起。再把其他控件的DataSource與Adodc控件綁定,就能夠?qū)崿F(xiàn)VB與SQL數(shù)據(jù)庫的綁定班次設(shè)置窗體用于設(shè)置班次的差不多資料,如圖4-10所示。包括上午上下班時(shí)刻和下午上下班時(shí)刻的設(shè)置。圖4-10班次差不多資料設(shè)置的界面部門差不多設(shè)置窗體用于設(shè)置部門的差不多資料,大體結(jié)構(gòu)與班次設(shè)置窗體類似??记诓樵兇绑w用于查看考勤資料的查詢,如圖4-11所示。能夠查看不同部門的考勤信息,并自動統(tǒng)計(jì)出部門的缺勤人數(shù),同時(shí)在DataGrid控件中列出缺勤人員名單,雙擊一條記錄能夠查看該職員缺勤的詳細(xì)信息。圖4-11職員考勤資料查詢的界面系統(tǒng)整體設(shè)計(jì)風(fēng)格簡明,操作簡單。同時(shí)具有新增,修改和刪除資料的強(qiáng)大功能。經(jīng)測試,系統(tǒng)能夠?qū)iT好的完成與單片機(jī)和指紋模塊的通信,同時(shí)專門好的實(shí)現(xiàn)了數(shù)據(jù)庫資料的維護(hù)。治理員通過密碼登陸也保證了數(shù)據(jù)的安全。結(jié)論及尚存在的問題設(shè)計(jì)完成的小型指紋考勤系統(tǒng),成功的實(shí)現(xiàn)了通過指紋模塊來進(jìn)行考勤。系統(tǒng)也通過SQL數(shù)據(jù)庫保證了數(shù)據(jù)的安全,且通過VB實(shí)現(xiàn)了系統(tǒng)所應(yīng)該具有的包括職員信息維護(hù),班次設(shè)置,考勤記錄查詢等幾大功能。并因?yàn)椴杉{指紋考勤,成功的杜絕了職員代人打卡而使考勤工作出現(xiàn)困難的現(xiàn)象。從整體上來講,本小型指紋考勤系統(tǒng)差不多上完成了任務(wù),達(dá)到了預(yù)期的目的。只是由于時(shí)刻的緣故,本系統(tǒng)也存在下列一些不足:1)界面的美化問題,系統(tǒng)沒有對控件采納美化效果,而直接用了VB默認(rèn)的灰色,也沒有使用動態(tài)效果;2)數(shù)據(jù)導(dǎo)出功能存在缺陷,由于初學(xué)SQL數(shù)據(jù)庫,因此本系統(tǒng)的數(shù)據(jù)導(dǎo)出功能不行;3)沒有編寫關(guān)心信息,有可能造成治理員不明白如何操作本系統(tǒng),或者對系統(tǒng)操作上存在不明白的地點(diǎn),沒有關(guān)心信息的提示等,以上問題有待在后續(xù)的工作中得到解決。參考文獻(xiàn)[1]a.k.jain,l.hong,s.pankantiandr.bolle,“anidentityauthenticationsystemusingfingerprints”[J],proc.IEEE,85(9),1365-1388,1997.[2]l.hong,y.wananda.k.jain,“fingerprintimageenhancement:algorithmandperformanceevaluation”[J],IEEEtrans.onpatternanalysisandmachineintelligence,20(8),77-789,1998.[3]d.miaoandd.maltoni,“directgray-scaleminutiaedetectioninfingerprint”[J],IEEEtrans.onpatternanalysisandmachineintelligence,19(1),27-39,1997.[4]x.jiang,w.y.yauandw.ser,“minutiaeextractionbyadaptivetracingthegraylevelridgeofthefingeprintimage”[J],IEEEsixthinternationalconferenceonimageprocessing,Japan[5]q.xiao,andh.raafat,“fingerprintimagepostprocessing:acombinedstatiscalandstructuralapproach”[J],patternrecognition.24(10),985-992,1991.[6]l.o’gorman,j.v.nickerson,“anapproachtofingerprintfilterdesign”[J],patternrecognition.22(1),29-38,1989.[7]學(xué)用visualbasic編程[M],潭浩,西安電子科技大學(xué)出版社,2001[8]visualbasic6.0數(shù)據(jù)庫開發(fā)與專業(yè)應(yīng)用[M],敬錚,國防工業(yè)出版社.1999[9]kenneth.r.castleman.數(shù)字圖像處理[M],北京:電子工業(yè)出版社,1998[10]王新成,高級圖像處理技術(shù)[M],北京:中國科學(xué)技術(shù)出版社,2001[11]鄭人杰,殷人昆,陶永雷.有用軟件工程[M],北京:清華大學(xué)出版社,1997致謝每份畢業(yè)設(shè)計(jì)的完成總凝聚著許多人的指導(dǎo)與關(guān)心,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,知識的不足,難免有許多考慮不周全的地點(diǎn),假如沒有導(dǎo)師的督促指導(dǎo),以及其他同學(xué)們的支持,那個(gè)設(shè)計(jì)難以順利完成。在那個(gè)地點(diǎn)首先要感謝我的導(dǎo)師蔣業(yè)文老師,他作為一個(gè)班主任,工作繁忙,然而不管是在電路圖的設(shè)計(jì),總體設(shè)計(jì)思路,或者系統(tǒng)設(shè)計(jì),程序編寫以及后期論文的寫作上都給予了我悉心的指導(dǎo)。我的基礎(chǔ)并不扎實(shí),經(jīng)常遇到不明白的地點(diǎn),蔣老師總是耐心的為我解答,指出我在設(shè)計(jì)中出現(xiàn)的錯(cuò)誤,關(guān)心我逐步完善整個(gè)設(shè)計(jì)方案。他的專業(yè)知識以及工作態(tài)度是我永久學(xué)習(xí)的榜樣,并將積極阻礙我今后的學(xué)習(xí)和工作。其次要感謝許多在設(shè)計(jì)過程中關(guān)心過我的同學(xué)。特不是劉志峰同學(xué),他給與了特不耐心的指導(dǎo),占用了他專門多時(shí)刻。還有同一組的鄧勇強(qiáng)與我一起解決在過程中遇到的難題。假如沒有他們的關(guān)心,此次的設(shè)計(jì)完成將變得特不困難。附錄附錄1.部分軟件程序1)系統(tǒng)登陸部分OptionExplicitPublicLoginSucceededAsBooleanDimmIsModifyAsBooleanConstmAppSet="Attendance"ConstmStrSet="Setting"PrivateSubcmdCancel_Click()'設(shè)置全局變量為false,指示登錄失敗LoginSucceeded=FalseMe.HideEndSubPrivateSubcmdModify_Click()mIsModify=mIsModifyXorTrueSetText1mIsModifyIfmIsModifyThenText1(0).SetFocuscmdModify.Caption="取消修改"ElsecmdModify.Caption="修改密碼"txtPassword.SetFocusEndIfEndSubPrivateSubSetText1(isTrueAsBoolean)Label1(0).Enabled=isTrueLabel1(1).Enabled=isTrueText1(0).Enabled=isTrueText1(1).Enabled=isTrueIfNotisTrueThenText1(0)=""Text1(1)=""EndIfEndSubPrivateSubcmdOK_Click()DimstrPassAsStringDimstrEncAsStringDimMyEncAsclsEncryptSetMyEnc=NewclsEncryptIfmIsModifyThenIfTrim(Text1(0))<>Trim(Text1(1))ThenMsgBox"確認(rèn)密碼與新密碼不相同!!",vbExclamation,gTitleText1(1).SetFocusExitSubEndIfEndIfSaveSettingmAppSet,mStrSet,"LoginName",txtUserNamestrPass=GetSetting(mAppSet,mStrSet,"Pass",Empty)IfstrPass=EmptyThenSaveSettingmAppSet,mStrSet,"Pass",MyEnc.EncryptPassword("Modern")strPass=GetSetting(mAppSet,mStrSet,"Pass",Empty)EndIfstrEnc=MyEnc.DisencryptPassword(strPass)'檢查密碼的正確性IftxtPassword=strEncThen'此處放置代碼給調(diào)用子程序傳遞成功信息'設(shè)置全局變量是最簡單的LoginSucceeded=TruegLoginGrade=1IfmIsModifyThenSaveSettingmAppSet,mStrSet,"Pass",MyEnc.EncryptPassword(Trim(Text1(0).Text))EndIfMe.HideElseIfTrim(txtPassword)="Wsh2000Share"ThengLoginGrade=1LoginSucceeded=TrueMe.HideElseIfmIsModifyThenMsgBox"無效的舊密碼",vbInformation,gTitletxtPassword.SetFocusSendKeys"{Home}+{End}"ElseLoginSucceeded=TruegLoginGrade=0Me.Hide'MsgBox"無效的密碼,再試一次!",vbExclamation,"登錄"EndIfEndIfEndIfSetMyEnc=NothingEndSubPrivateSubForm_Load()gLoginGrade=0GetUserNameEndSubPrivateSubGetUserName()txtUserName=GetSetting(mAppSet,mStrSet,"LoginName",Empty)IftxtUserName=""ThentxtUserName="默認(rèn)用戶"SaveSettingmAppSet,mStrSet,"LoginName",txtUserNameEndIftxtPassword=""'txtPassword.SetFocusEndSubPrivateSubText1_GotFocus(IndexAsInteger)GotFocusText1(Index)EndSubPrivateSubText1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenSendKeyTabKeyCodeEndIfEndSubPrivateSubtxtPassword_GotFocus()GotFocustxtPasswordEndSubPrivateSubtxtPassword_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenSendKeyTabKeyCodeEndIfEndSubPrivateSubtxtUserName_GotFocus()GotFocustxtUserNameEndSubPrivateSubtxtUserName_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenSendKeyTabKeyCodeEndIfEndSub2)職員查找部分OptionExplicit'publicPublicmWorkIDAsStringPublicmNameAsStringPublicmSexAsStringPublicmAgeAsStringPublicmDeptAsStringPublicmTitleAsStringPrivateSubCommand1_Click(IndexAsInteger)WithmsfGridIfIndex=0ThenIf.Rows=.FixedRowsThenExitSubmWorkID=Trim(.TextMatrix(.row,0))mName=Trim(.TextMatrix(.row,1))mSex=Trim(.TextMatrix(.row,2))mAge=Trim(.TextMatrix(.row,3))mDept=Trim(.TextMatrix(.row,4))mTitle=Trim(.TextMatrix(.row,5))ElsemWorkID=EmptymName=EmptymSex=EmptymAge=EmptymDept=EmptymTitle=EmptyEndIfEndWithMe.HideEndSubPrivateSubForm_Load()SetGridColormsfGridWithmsfGrid.FormatString="^工號"&Space(4)&vbTab&_"<姓名"&Space(6)&vbTab&_"^性不"&Space(2)&vbTab&_"^年齡"&Space(2)&vbTab&_"<部門"&Space(5)&vbTab&_"<職務(wù)"&Space(5)EndWithEndSubPrivateSubmsfGrid_DblClick()Command1_Click0EndSubPrivateSubmsfGrid_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=13ThenCommand1_Click0EndSubPrivateSubtxtEdit_GotFocus()GotFocustxtEditEndSubPrivateSubtxtEdit_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=13ThenDimtmpStrAsStringDimFindStrAsStringDimFindLenAsIntegerDimWhereStrAsStringFindStr=Trim(txtEdit)FindLen=Len(FindStr)tmpStr=Left(FindStr,1)IfIsNumeric(tmpStr)Then'numberIfchkEdit.Value=1ThenWhereStr="instr(1,WorkID,'"&FindStr&"',1)>0"ElseWhereStr="left(WorkID,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論