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