FOXPRO在三峽工程信息管理中的應用
(作者未知) 2009/5/2
(接上頁)PROW主窗口中的標題“microsoft foxprow”,實現方法是在菜單開始(SETUP)代碼的前面加入類似如下所示代碼:
modify window screen at 4,6 size 36,147;
title“物資材料管理程序”
font“ms sans serif”,8 float close minimize
move window screen center
zoom window screen max
FOXBASE的下拉菜單(meun bar.……read menu to)是一種單任務性質的,在執(zhí)行一個具體的模塊時,菜單隱去,控制權在所執(zhí)行的模塊,不會發(fā)生模塊的重復執(zhí)行。而FOXPRO的條形菜單具有多任務的性質,同一模塊,可重復執(zhí)行,有時需要利用這一功能,但多數情況下是不需要的,這是因為同一模塊或同時活動的多個模塊經常處理的是同一類數據庫或表,這樣可能會因產生沖突而出錯。因此,通常要求在執(zhí)行一個模塊時,不容許使用相同數據庫文件的其他模塊執(zhí)行。這可以通過在菜單開始(SETUP)代碼引入若干邏輯型內存變量,在菜單條中使用SKIP屬性來實現。通過這種方式,可以使模塊之間產生關聯(lián)。
3 應用程序的信息輸入
(1)屏幕生成器
屏幕和菜單類似,都有開始 (SETUP)、清除(CLEANUP)兩個代碼段,通過他們可以設置相應的環(huán)境或在屏幕(或菜單)退出時恢復環(huán)境。雖可以通過屏幕生成器中的 “ENVIRON-MEXT”按鈕中的“SAVE”功能保存開發(fā)時的環(huán)境,但此功能有限,不便于進行復雜的設置,且其保存的開發(fā)時的環(huán)境可能與運行時不同,導致程序運行時出錯。所以,建議編程人員不要用此功能,而使用前者。
屏幕中編寫代碼時,有兩個層次,即屏幕層和屏幕中的對象層。通常的處理均可在對象層次中解決。屏幕層次中通常只使用開始(SETUP)、清除(CLEANUP)兩個代碼段,其他的代碼段通常在多窗體、多屏幕中用到。在對象層次中,通常也只需要編寫“VALID”代碼。
(2)功能強大的BROWSE
使用過EXCEL的人都習慣對縱橫表進行操作,這樣操作直觀、自然。在FOXPROW中,用BROWSE可以實現類似的功能。若要用BROWSE對表進行任意操作,用下面簡單的命令即可:
use
browse title
這樣的操作,表中的數據是不安全的,有必要對表的瀏覽操作加以限制。如在BROWSE命令中有選擇性的加入NODE-LETE、NOAPPEND、NOMODIFY,就可以對“加刪除標志”或“追加記錄”或“修改記錄”加以限制。
borwse titile nodelete noappend nomodity
(注:這條命令只能顯示表的內容,不容許對表進行修改)
有時,表的字段名是西文字段名,或雖是中文字段,但表達的意思不易理解時,在瀏覽時需要給出易于識別的表頭,這時就需要使用“:H=”的字段名修飾如下所示:
browse field name:h=“姓名”
(注:這里name是西文字段名,在顯示時用“姓名”替換)
在BROWSE命令中加入NOMODIFY將鎖定所有的字段,不容許修改。但通常的情況只要求鎖定關鍵字段、關聯(lián)字段,這時就不能用NOMODIFY,而要用“:W=.F.”字段名修飾功能。如下所示:
browse field name:h=“姓名”:w=.f.,
basic:h=“BASIC成績”
(注:name字段不讓修改
BROWSE的功能非常強大,讀者可參看BROWSE的幫助提示。靈活應用BROWSE的子句以及一些修飾功能,可以實現極其強大的數據庫的錄入、編輯、修改功能。
4 應用程序的檢索的實現
(1)按例關系查詢
在開發(fā)環(huán)境或命令環(huán)境中,進行查詢采用功能強大的RQBE是最優(yōu)的選擇,用他建立單表或多表查詢均比較簡單,介紹這方面內容的資料較多,在此,限于篇幅,不再贅述。由于在運行庫中未集成RQBE特性,在開發(fā)應用時,請不要包含該特性。但用RQBE功能生成的SQL語句可用于應用系統(tǒng)中,減少編制查詢模塊占用的時間。將SQL語句中的字句的內容設置成變量,用“宏替換”功能可以構成某種程度上的通用查詢模塊。
(2)表達式生成器
在運行時能用表達式生成器(調用方法是GETEXPR TO)生成過濾條件,將查詢的記錄過濾出來,在瀏覽窗口或報表中顯示輸出。
(3)定制查詢屏幕
按例(未完,下一頁)
|
|
|