- 相關推薦
FOXPRO在三峽工程信息管理中的應用
關鍵詞:三峽工程,FOXPRO,應用,經驗
三峽工程是世界級的巨型工程,專業門類多、技術復雜、信息管理工作量巨大,必須使用MIS系統對信息進行收集、整理、存儲、統計、分析、制表。目前,參建各單位的MIS系統相繼投入運行,如長江三峽工程開發公司的TGPMIS系統、葛洲壩股份有限公司三峽建設承包公司的“施工檔案管理系統”等。這些系統功能較強、涉及面較廣,但不可能覆蓋信息管理的方方面畫,還需要桌面數據庫系統來補充。由于桌面數據庫的簡單易學,因而有著巨大的用戶群。用桌面數據庫開發出功能較強的系統也有不少成功的先例,如1995~1997年三峽工地使用的“統計系統”、國家電力公司開發的概預算軟件等。
在桌面數據庫方面,幾年來,我們先后用FOXBASE、FOXPRO編制了《工資管理系統》、《土石方工程量計算程序》、《工程支付管理系統》、《文檔管理系統》、《混凝土強度統計分析程序》等小型桌面系統。在編程過程中,經歷了從低級平臺(DBASE)到高級平臺(FOXPRO)、從字符界面(DOS)到圖形用戶界面(WINDOWS)的轉化,從中總結出了一些應用經驗。如:在WINDOWS中繼續使用“字符型報表”、充分利用BROWSE快速制作錄入界面、利用“表達式生成器”建立查詢、利用FOXGRAPH建立直觀的柱狀圖、餅圖等等。
1 項目管理器
項目管理器引入項目概念后,使開發人員從應用系統中各類文件繁瑣的管理中解脫出來,從而有更多的時間用于模塊開發:項目管理器有如下優點:(1)只要將應用系統的主控模塊(通常是菜單)放入項目管理器中,在生成項目時,能將應用系統中幾乎所有的文件都納入其中,方便程序模塊的修改、調試;(2)通過其可以方便地創建可執行文件,并且在編譯時具有自動更新項目中各組成部分的版本的功能。
在使用項目管理器時應注意:(1)盡可能地使用“原”文件(MNX、SCX等),而不使用由生成器轉換以后的程序文件(MPR、SPR等),以便在菜單、屏幕等更新后,執行項目管理器中的“BUILD”按鈕時能自動作相應的轉換;在程序中調用菜單或屏幕時,調用擴展名為MPX或SPX的文件而不是擴展名為MPR或SPR的文件。(2)若一個應用中的大部分模塊都已定型,只是個別模塊在使用中變化。如我們編制的《工資管理系統》中的統計模塊,該模塊的修改(二次開發)較簡單,系統的使用人員也可以勝任。這要求在編譯的可執行文件中不含該模塊,實現的方法是:利用FOXPRO“PROJECT”菜單中的“EXCLUDE”菜單條對項目管理器中的該模塊作標記,然后執行“PROJECT”菜單中的“PACK”功能,再重新編譯項目即可。外部模塊是FXP類型的文件,在安裝時,注意將外部模塊文件放在應用系統EXE文件所在的目錄中。
2 FOXPRO程序的龍頭——菜單
程序通常由多個功能模塊組成,可以通過屏幕中排列的一系列按鈕等對象來調用這些模塊,但通常用菜單將各功能模塊融合在一起形成整體。為此,我們用DELPHI編制了這種菜單的自動生成器。
FOXPRO中提供了與WINDOWS圖形用戶界面一致的條形菜單、彈出菜單,并提供了相應的自動生成工具(GENMENU.FXP)。這種菜單的特點是:菜單容許是多層次的;運行時菜單可以動態變化;功能模塊可以直接含在菜單中,使得由一個菜單程序構成一個應用系統成為可能;可以直接使用一些通用功能,如新建文件、復制、粘貼等。這種形式的菜單,初次使用時往往會產生只運行一次就退出菜單的情況,可以用以下的辦法解決:
。1)在菜單開始(SETUP)代碼最后加入如圖1所示循環起始語句:
do while.t.
(2)菜單的清楚(CLEANUP)代碼如下所示:
read valid.f.
enddo
。3)退出菜單程序的代碼如下所示:
close database
clear all
set sysmenu to default
cancel
應用系統中常常要用應用的名稱代替FOXPROW主窗口中的標題“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)是一種單任務性質的,在執行一個具體的模塊時,菜單隱去,控制權在所執行的模塊,不會發生模塊的重復執行。而FOXPRO的條形菜單具有多任務的性質,同一模塊,可重復執行,有時需要利用這一功能,但多數情況下是不需要的,這是因為同一模塊或同時活動的多個模塊經常處理的是同一類數據庫或表,這樣可能會因產生沖突而出錯。因此,通常要求在執行一個模塊時,不容許使用相同數據庫文件的其他模塊執行。這可以通過在菜單開始(SETUP)代碼引入若干邏輯型內存變量,在菜單條中使用SKIP屬性來實現。通過這種方式,可以使模塊之間產生關聯。
3 應用程序的信息輸入
。1)屏幕生成器
屏幕和菜單類似,都有開始 (SETUP)、清除(CLEANUP)兩個代碼段,通過他們可以設置相應的環境或在屏幕(或菜單)退出時恢復環境。雖可以通過屏幕生成器中的 “ENVIRON-MEXT”按鈕中的“SAVE”功能保存開發時的環境,但此功能有限,不便于進行復雜的設置,且其保存的開發時的環境可能與運行時不同,導致程序運行時出錯。所以,建議編程人員不要用此功能,而使用前者。
屏幕中編寫代碼時,有兩個層次,即屏幕層和屏幕中的對象層。通常的處理均可在對象層次中解決。屏幕層次中通常只使用開始(SETUP)、清除(CLEANUP)兩個代碼段,其他的代碼段通常在多窗體、多屏幕中用到。在對象層次中,通常也只需要編寫“VALID”代碼。
。2)功能強大的BROWSE
使用過EXCEL的人都習慣對縱橫表進行操作,這樣操作直觀、自然。在FOXPROW中,用BROWSE可以實現類似的功能。若要用BROWSE對表進行任意操作,用下面簡單的命令即可:
use
browse title
這樣的操作,表中的數據是不安全的,有必要對表的瀏覽操作加以限制。如在BROWSE命令中有選擇性的加入NODE-LETE、NOAPPEND、NOMODIFY,就可以對“加刪除標志”或“追加記錄”或“修改記錄”加以限制。
下一頁
【FOXPRO在三峽工程信息管理中的應用】相關文章:
淺談數據集市技術在高校信息管理中的應用03-18
計算機應用技術在信息管理中的應用研究論文(精選6篇)04-26
網絡營銷中的客戶信息管理03-23
探析醫院體檢信息管理系統的開發與應用03-20
紅外遙控在汽車中的應用03-19
淺析力學在機械中的應用05-19
竹子在設計中的應用價值12-02
RPMS在煉化企業中的應用12-09