【文章內(nèi)容簡介】
象可視化程序編寫工具。Visual FoxPro系統(tǒng)由系統(tǒng)命令、函數(shù)和相應(yīng)的某一事件所要完成的處理過程的語句所組成的。它能使開發(fā)人員很容易地將簡單工作的復(fù)雜事務(wù)邏輯與應(yīng)用相匹配。它由數(shù)百個函數(shù)用于操作對象、數(shù)字、文字和日期等信息并全面支持DDE。例如為某個按鈕上的Click事件編寫的處理程序,可能要進(jìn)行的處理是從數(shù)據(jù)庫中檢索和顯示數(shù)據(jù)。事件本身也可以觸發(fā)其它事件,例如當(dāng)一個按鈕上的Click事件要打開一個窗口時就觸發(fā)了一個窗口上的Open事件。Visual FoxPro還提供了豐富的內(nèi)置函數(shù),可以利用這些函數(shù)對應(yīng)用程序的各種對象的控件進(jìn)行處理,如打開窗口的函數(shù)更新數(shù)據(jù)庫的函數(shù)。此外,用戶還可以定義自己的函數(shù)在應(yīng)用程序中來執(zhí)行某種特定的處理過程。外部函數(shù)可在Visual FoxPro內(nèi)說明和訪問,就如同內(nèi)置的 Visual FoxPro函數(shù)一樣。(四) 面向?qū)ο蟮木幊淘赩isual FoxPro應(yīng)用程序中,系統(tǒng)窗口和用戶自定義的窗口都可以被看成是對象(Object)。如控件(CONTROL)、表單(FORM)等都是一個個對象,每一個對象都具有一些特性和行為(屬性、事件和方法)利用諸如封裝型、繼承性和多態(tài)性這樣的面向?qū)ο蟮木幊碳夹g(shù)。開發(fā)人員可以最有效利用所創(chuàng)建的每一個對象。使用應(yīng)用程序具有可通用性、可擴(kuò)展性和強(qiáng)有力的功能Visual FoxPro應(yīng)用由一系列對象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、編輯器等這些對象和控件都可在許多應(yīng)用中重復(fù)使用。(五)與數(shù)據(jù)庫的連接性 Visual FoxPro支持Windows 98和 Windows NT平臺32位環(huán)境下的團(tuán)體開發(fā)。Visual FoxPro支持不同的關(guān)系數(shù)據(jù)庫管理系統(tǒng)并充分發(fā)揮每一個數(shù)據(jù)庫的特長。它具有與Oracle、Sybase、SQL Server等許多高端數(shù)據(jù)庫的本地接口。:FoxProODBC接口SYBASE接口 ORACLE接口SQL 數(shù)據(jù)庫SYBASE數(shù)據(jù)庫ORACLE數(shù)據(jù)庫 五 人事勞資管理系統(tǒng)的實現(xiàn)技術(shù)(一)系統(tǒng)模塊的具體實現(xiàn) 在本系統(tǒng)中有四個子模塊組成。它們分別是員工基本信息模塊、員工工資信息模塊、員工考勤信息模塊和系統(tǒng)維護(hù)模塊,下面就開發(fā)這幾個模塊的過程及所遇到的問題分別加以介紹。界面框架圖如下: 人事勞資管理系統(tǒng)基本信息工資管理考勤管理系統(tǒng)維護(hù)信息查詢 修改員工花名冊工資統(tǒng)計匯總表工資統(tǒng)計構(gòu)成工資查詢工資錄入考勤錄入考勤查詢考勤月統(tǒng)計用戶管理 圖 界面總體框架在進(jìn)入一個系統(tǒng)之前都會有一個歡迎進(jìn)入或試用的界面,給人以一種美的感受和舒暢的感覺。如下: 在進(jìn)入四個子模塊之前需驗證用戶身份,以確保系統(tǒng)的保密性和安全性。界面如下所示 其中重新輸入按鈕的代碼如下:SET EXACT ON SELECT passwd LOCATE FOR =.!DELETED()IF =0 .OR. =Mastertempstr=39。39。for i=1 to len(trim()) tempchr=bitxor(asc(substr(trim(),i,1)),123) tempstr=tempstr+chr(tempchr)endfor if tempstr=trim() PUBLIC NowUser NowUser= replace with 1 on shutdown do set exac off release thisform clear eventselse if messagebox(您所輸入的密碼不正確,請重新輸入...,0+48,錯誤)=1 endifendif 在輸入用戶名和密碼之后,按下確定按鈕,若密碼正確則可順利進(jìn)入下一界面,若密碼錯誤則系統(tǒng)提示“您所輸入的密碼不正確,請重新輸入”的信息,退出則返回到上一界面。下面仔細(xì)講解每一個模塊的具體操作及實現(xiàn)1員工基本信息模塊該模塊主要完成員工基本信息的錄入、查詢、統(tǒng)計及打印功能。在此模塊中定義了三個主要窗口:員工花名冊窗口、員工履歷表信息窗口和組合條件查詢窗口。后兩者均需通過前者訪問。() 花名冊窗口履歷表窗口查詢窗口 查詢 修改查詢 其中 花名冊窗口設(shè)計如下:查詢按鈕的主要代碼如下:cx=0set exact off amp。amp。字符非精確比較cif=alltrim()ccif=alltrim()ctext=alltrim()if ccif==39。All39。 select *。 from medicamentmanage!tabrkph。 order by 。 into cursor lindeping go top amp。amp。記錄指針移動到第一條記錄 =39。lindeping39。 lspnumber= select tabrkph set order to 職工編號 seek lspnumber amp。amp??焖俨樵? amp。amp。執(zhí)行表單的Activate事件 amp。amp。執(zhí)行Page1的Activate事件 amp。amp。Command1獲得焦點else if empty(ccif) messagebox(39。請輸入查詢條件!39。,48,39。操作失??!39。) else if empty(ctext) messagebox(39。請輸入查詢條件!39。,48,39。操作失??!39。) else set exact on if ccif=39。=39。 select *。 from medicamentmanage!tabrkph。 where amp。cif.==alltrim()。 order by 。 into cursor lindeping endif set exact off if ccif=39。39。 select *。 from medicamentmanage!tabrkph。 where amp。cif. alltrim()+*。 order by 。 into cursor lindeping endif set exact off if ccif=39。39。 select *。 from medicamentmanage!tabrkph。 where amp。cif.alltrim()+*。 order by 。 into cursor lindeping endif if ccif=39。like39。 select *。 from medicamentmanage!tabrkph。 where alltrim()$amp。cif.。 order by 。 into cursor lindeping endif go top if eof() go bottom messagebox(39。該職工不存在!39。,48,39。信息窗口39。) =39。lindeping39。 amp。amp。賦數(shù)據(jù)源 amp。amp。執(zhí)行Page2的Acti