|
* 程序名:main.prg * 作用:整個(gè)系統(tǒng)的入口 * 路徑:\你的程序目錄\prgs Set Talk off Set Escap off * 開(kāi)始,程序錯(cuò)誤處理 ON ERROR DO Err.PRG With Error(), Message(), Message(1), Program(), Lineno(1) * 第一步,清理環(huán)境 Close All && 關(guān)閉所有工作區(qū)中打開(kāi)的數(shù)據(jù)庫(kù)、表和索引,并選擇工作區(qū) 1。 Clear Menus && 從內(nèi)存中釋放所有的內(nèi)存變量和數(shù)組以及所有用戶自定義菜單欄、 && 菜單和窗口的定義。 還從內(nèi)存中刪除所有用 DECLARE-ALL 注冊(cè) && 的外部 Windows 32 位動(dòng)態(tài)鏈接庫(kù) (.DLLS)。 * 關(guān)閉系統(tǒng)菜單 * 如果在發(fā)出 SET SYSMENU SAVE 命令之后修改了菜單系統(tǒng),可以通過(guò)發(fā)出 * SET SYSMENU TO DEFAULT 命令來(lái)恢復(fù)前面的設(shè)置。 Set Sysmenu Save * 在程序執(zhí)行期間廢止 Visual FoxPro 主菜單欄。 Set Sysmenu Off Set Sysmenu To * 第二步,設(shè)置環(huán)境 * 退出Read時(shí)保存數(shù)據(jù)緩沖區(qū)內(nèi)容 Set Autosave On * 使用 INSERT、APPEND 和 BROWSE 命令創(chuàng)建新記錄時(shí),不將當(dāng)前記錄數(shù)據(jù)復(fù)制到新記錄中。 Set Carry Off * 指定是否可以用在文本框中鍵入最后一個(gè)字符的方法退出文本框。 Set Confirm Off * 日期不顯示世紀(jì)部分 Set Century Off * 設(shè)置日期格式為"YY.MM.DD" 格式 Set Date Ansi * 不顯示已經(jīng)刪除的記錄 Set Delete On * 決定能否使用 LOCK ( )或 RLOCK ( ) 鎖定多個(gè)記錄。 Set Multilocks On && 網(wǎng)絡(luò)編程專用 * 確定 ATLTER TABLE、CREATE TABLE 和 INSERT - SQL 命令如何處理 null 值。 Set Null On * 指定當(dāng)字段是空值(NUll)顯示的文本為 Set NullDisplay To '' * 改寫已有文件之前不顯示對(duì)話框 Set Safety Off * 移去圖形狀態(tài)欄。 Set Status Bar Off * 第三步,設(shè)置你的程序路徑 * 設(shè)置程序主目錄 Public gcMainPath gcMainPath = Sys(5)+Sys(2003)+"\" Set Default To &gcMainPath * 數(shù)據(jù)目錄(本地?cái)?shù)據(jù)庫(kù)和表) Public ataPath ataPath =gcMainPath+"Data\" * 程序目錄 Public gcPrgsPath gcPrgsPath =gcMainPath+"Prgs\" * 圖片目錄 Public gcPicsPath gcPicsPath=gcMainPath + "pics\" * 表單目錄 Public gcFormsPath gcFormsPath = gcMainPath+"forms\" * 菜單目錄 Public gcMenusPath gcMenusPath = gcMainPath+"menus\" * 標(biāo)簽?zāi)夸?nbsp; Public gcLabelsPath gcLabelsPath = gcMainPath+"labels\ * 報(bào)表目錄 Public gcReportsPath gcReportsPath =gcMainPath+"Reports\" * 第四步 初始化鍵盤 Capslock(.F.) IMEStatus(0) Insmode(.T.) Numlock(.T.) * 第五步 打開(kāi)自定義類庫(kù)、過(guò)程文件 Set Classlib To gcMainPath+"vcx\MyVCX.vcx" Set Procedure To gcPrgsPath +"Myproc.prg" * 設(shè)置不顯示ODBC登錄對(duì)話框 SQLSETPROP(0,"DispLogin",3) && 網(wǎng)絡(luò)專用 * 第六步 聲明其他全局變量 * 數(shù)據(jù)源名稱 Public SN SN = ‘’ * 用戶登錄名 Public gcUID gcUID = ‘’ * 用戶登錄口令 Public gcPWD gcPWD=‘’ * 當(dāng)前登錄用戶姓名(中文) PUBLIC gcName gcName='' * 前后端數(shù)據(jù)庫(kù)名 Public gcSQLDatabase,gcFoxDatabase gcSQLDatabase = ‘資料管理’ && 后端 SQL 數(shù)據(jù)庫(kù) gcFoxDatabase = ‘資料管理’ && 前端 VFP數(shù)據(jù)庫(kù) * 連接句柄 Public gnHandleMaster &&與后端 master 系統(tǒng)數(shù)據(jù)庫(kù)的連接句柄 gnHandleMaster = 0 Public gnHandleUser && 與后端用戶數(shù)據(jù)庫(kù)“gcSQLDatabase ”的連接句柄 gnHandleUser = 0 * 第七步,檢查登錄賬號(hào) * 調(diào)用登錄表單"login.scx" Do Form gcFormsPath+"login.scx" To gnHandleUser 結(jié)果如下圖所示 * 如果登錄成功 gnHandleUser > 0 表示登錄成功,反之,失敗 If gnHandleUser <= 0 && 登錄失敗 Quit && 退出 Endif * 指定當(dāng)試圖退出VFP時(shí)要執(zhí)行的程序 ON SHUTDOWN DO gcPrgsPath +"FileExit.prg" && 代碼如下樓所示。 * 第八步,調(diào)用程序主菜單 Do gcMenusPath+"mainmenu.mpr" * 第九步,顯示程序封面,桌面 Do Form gcFormsPath+"title.scx" && 封面 Do Form gcFormsPath+"Desktop.scx" && 桌面,也就是你的程序背景(圖片略) * 第十步 打開(kāi)或創(chuàng)建本地?cái)?shù)據(jù)庫(kù) cFoxDb=***ataPath+ gcFoxDatabase + ".dbc" If Not Files(cFoxDb) && 如果指定的數(shù)據(jù)庫(kù)不存在 Create Database &cFoxDb && 創(chuàng)建它 Endif * 啟動(dòng)事件處理 Read Events * 將釋放當(dāng)前的 ON SHUTDOWN 命令 ON SHUTDOWN * 程序:FileExit * 作用:解決程序運(yùn)行后,點(diǎn)擊主窗口關(guān)閉按鈕[X]不能退出VFP的問(wèn)題 If Messagebox('您真要退出本系統(tǒng)嗎?',4+32+256,'退出確認(rèn)')<>6 AND gnHandleUser > 0 Return Endif *Do While Txnlevel()>0 * Rollback *Enddo Clear Events ON SHUTDOWN * 恢復(fù)環(huán)境 Set Sysmenu To Default With _Screen .WindowState=2 &&最大化 .BackColor=Rgb(255,255,255) .Caption="Microsoft Visual FoxPro" .Icon ='' Endwith * 關(guān)閉數(shù)據(jù)庫(kù)及表 If Used("cfg") Use In cfg Endif If Used("dsn") Use In dsn Endif If Used("uid") Use In uid Endif Close Database All &&關(guān)閉所有數(shù)據(jù)庫(kù) Close All &&關(guān)閉各種類型的文件,但不關(guān)閉命令窗口、調(diào)試窗口、幫助、跟蹤窗口。 Clear Menus &&釋放內(nèi)存中所有的菜單定義。 Clear Popups &&釋放內(nèi)存中所有用DEFINE POPUP命令創(chuàng)建的菜單定義。 Clear Windows &&釋放內(nèi)存中所有用戶自定義窗口的定義,并從VFP主窗口或活動(dòng)的用戶自定義窗口中清除窗口。 Clear &&清屏 Set Safe On _Screen.Picture="" =SQLDISCONNECT(0) Quit && 完畢。 |
|
|