正文 第四章 程序結構語句和設計技巧(2 / 2)

三、打印編程

在一個應用程序中,打印輸出程序是必不可少的,但由於打印機未準備好而導致程序出錯也是常見的,在編輯中.,FOXBASE+提供了SYS(13)這個函數,可在程序中用來測試打印機的狀態,如果打印機沒有準備就緒,則返回READY信息。這樣,可編製一般測試打印機狀態程序,在執行程序前,先執行它以起到預防打印機未準備好而導致程序出錯。

另外,還可以將FOXBASE+參數值調大一點,使打印機與主機在速度匹配上恰當處理,TIME缺省值為6000,取值範圍為12—32767。

四、對應用程序的調試

應用程序由一個或多個命令文件及過程文件組成,每個命令文件及過程文件又包含許多條語句,應用程序須經過調試後才能正確地運行,調試應用程序。

可以恰當運用以上命令,觀察程序運行結果以及出錯地點,同時,還可在適當地址用SUS—PEND命令將正在執行的程序掛起,即設置一個斷點。將係統控製權臨時交給FOXBASE+交互方式,以便執行各種命令檢查內存變量的當前值,檢查係統狀態,待執行完後用RESUME命令恢複程序執行。

FOXBASE+在程序設計過程中的技巧很多,這跟個人檢索命令的熟練和編程風格有關,因而合理靈活地運用各種命令,才會編出令人滿意的程序。

第二節 FOXBASE常見錯誤及解決方法

FOXBASE最常見錯誤及解決方法

在FOXBASE命令操作時,對初學者來說,由於FOXBASE命令很多,每條命令必須要按照它所要求的格式來執行,因此操作者常常會遇到係統不接受你打入的命令,並顯示出錯誤信息,如不認識命令中的短語或關鍵字、運算符與操作數類型不匹配、語法錯等等現象。

以上錯誤的產生大致可分為幾種情況:

一、由誤操作產生的錯誤

對初學者來說,誤操作產生的大部分出錯誤信息為不認識命令中的短語或關鍵字或者是

該變量找不到,具體原因是:

①在選擇FIE時,誤寫成FI12.E,或者在FIE12。下,字段名之間沒有用逗號隔開。

②在FOX(邏輯表達式)時,不僅邏輯關係符號不能寫錯,而且點號不能漏掉或者點號沒有靠攏等。

③在FOX(邏輯表達式)時,對於日期型字段,不僅函數不要寫錯,而且引號和括號不要遺漏。

④SORT命令中的關鍵字之間必須用逗號連接。

⑤INDEX命令中的關鍵字之間必須用加號分開。

⑥命令的最後不能出現點號。

二、字段名的類型必須保持一致

如果出錯誤信息為罐算符與操作類型不匹配、0個記錄被複製或0個記錄被刪除、數據丟失,主要原因是:

①FOXBASE字段中的類型沒有按照規定的要求進行操作。

②對於字符型字段來說,如果是字段名下的記錄內容,英文字母應該是大寫的。

⑧在FOX(邏輯表達式)下,應該用.AND.而用了.OR.或者應該用.0R.而用了.AND.條件。

④數值型字段寬度的數值要累加,累加之和的值超過字段的寬度會出現數據丟失。