摘要:Visual Foxpro是一門操作性比較常的語言課程,對學生上機過程中常出現的典型錯誤進行解析,分析了產生該錯誤的原因和提供了解決該問題的辦法,為Visual Foxpro的教學提供參考,以提高教學效果和質量。
關鍵詞:Visual Foxpro;常見錯誤;教學效果
中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2009)33-9488-02
Analysis of Common Errors in Visual Foxpro Experimental Teaching
TAN Xu-jie
(Jiujiang College of Information Science and Technology Information Management Teaching and Research, Jiujiang 332005, China)
Abstract: Visual Foxpro is an operational language courses more frequently, Students-on the typical errors often occur during parsing, analysis of the reasons for the error generated and provided to solve the problem,to provide reference for the teaching of Visual Foxpro, in order to improve teaching effectiveness and quality.
Key words: Visual Foxpro; common errors; teaching effectiveness
Visual Foxpro是新一代小型數據庫管理系統的代表,它不僅傳統的結構化程序設計,而且支持面向對象程序設計,并擁有強大的可視化設計工具,相對其它的DBMS而言,它自帶編程工具,程序設計與數據庫系統結合,所以適用于初學者。許多學校都將其作為非計算機專業的必修課程,同時也是省等考、國家級考試的一個分支。筆者認為教學實踐經驗,將教學過程中學生常出現的語法、語義等錯誤,歸納為以下幾種常見錯誤。
1 常見錯誤
在VF的實踐中,由于學生對語法規則不熟,題意不清或粗心大意等原因,經常在上機的過程中出現許多問題。一般來說,用戶執行的操作有誤時,VFP系統會向用戶發出錯誤消息,以便用戶處理。常見的錯誤有語法錯誤和語義錯誤,語法會顯示提示,容易檢查出來;但是語義錯誤是隱含的,不易察覺。
1.1 嚴格日期與非嚴格日期
如計算今年離2010年還有多少天,常見的代碼是{01/01/10}-date(),而這時系統會提示“不明確的日期/日期時間常量。請使用正確格式:{^yyyy-mm-dd}”。在VFP中,{^yyyy-mm-dd}是嚴格的格式,如要在VFP用{MM/DD/YY}這樣的格式,就必須要用set strictdate to 0語句進行設置,這樣運行上述例子就能正確運行。
1.2 找不到變量
1) 命令窗口同時執行多行語句
例如:store 3 to n
?n
按照VFP的語法規則,一行只能寫一句,寫完后回車執行,但是初學者輸入第一行后并沒有按回車,而是移到下一行繼續輸入,輸入完后按回車執行,這時實際執行的是第二句,系統提示“找不到變量N”。
2) 變量使用前未定義
例如:if a<>'abc' or b<>' 123'
? \"用戶名或密碼不正確\"
else
? \"用戶名或密碼正確\"
endif
執行上述代碼時,系統會提示:a,b變量找不到。原因是:變量必須遵循“先定義后使用”的原則,而用于比較的a,b兩變量都未賦值。修改方法在if語句前添加如下代碼:
Accept \"請輸入用戶名\" to a
Accept \"請輸入密碼\" to b
這樣用戶在運行代碼的時候就不會出現問題了。
1.3 打開表文件有誤
學生在進行有關表文件的操作時,經常會出現“表文件不存在”或“.fpt文件無效”等提示,這樣就不能正常的進行表操作,這種錯誤的出現頻率是很高的,主要是兩個方面的原因。
1) 表文件的路徑不對。例如:stud.dbf表文件是存放在d:\\vf的文件夾下,而系統的默認路徑是c:\\visual studio\\VFP98,那就會出現“表文件不存在”的提示。針對如此情況,只需用set default to d:\\vf設為默認路徑或打開表文件時指定路徑就可以解決。
2) 提示“.fpt文件無效”是因為表文件所對應的備注文件(.fpt)破壞了或被刪除造成的。
1.4 不能識別的命令動詞
此種錯誤是常見的,主要有以下幾種情況。
1) 誤輸入中文標點
VFP命令行中,要求出現的標點符號都是英文的標點符號,而眾多的學生往往忽略了這一點,系統往往提示“不能識別的命令謂詞”。
如輸入以下命令:
List 學號,姓名,性別 for 籍貫=\"江西\"
這條命令的標點符號都是中文狀態下的,所以不能正確執行,此類錯誤是常有的,因為學生輸入中文后忘了切換輸入法,很自然地輸入了中文標點符號。那么針對此類問題,可告知學生按ctrl+“空格” 實現中英文輸入法切換。例如輸入中文后,按ctrl+“空格”鍵轉換成英文狀態再輸入標點符號。如需繼續輸入中文,只要再按ctrl+“空格”鍵即可。這樣就可以避免此類問題的發生。
2) 命令動詞輸入有誤
VFP默認的命令動詞是藍色的,如命令動詞超過四個字符可只寫前四個就可以了。有些學生在寫命令語句是各部分連寫,不留空格。
如:count for 性別='男' to a;或將清屏語句clear寫成close,系統編譯時都會出錯,以上錯誤是學生對VFP的基礎掌握不牢造成的,所以學生的實驗操作也是教學中的一個重要環節。
1.5 語法格式錯誤
VFP相對其它語言來說,語法格式相對寬松。例如在VFP中不管是關鍵字還是變量都不區分大小寫等,但是它也是語法約束格式,只有徹底了解VFP的語法格式才能避免此類錯誤。
如:求模運算與取整,它們在某些時候可以互換的。
eg:判斷某一個數x是不是奇數,可以用mod(x,2)=1或用int(x/2)<>x/2,但是絕對不能寫成mod(x/2)=1或int(x,2)<>x/2。
2 總結
以上列舉的是VFP初學者在實驗操作中常犯的一些錯誤,而程序調試是程序設計中的重要環節,只有加強實踐練習,及時分析和總結,正確使用錯誤處理方法,從而提高編程水平。
參考文獻:
[1] 王珊.數據庫系統原理教程[M].北京:清華大學出版社,1998.
[2] 劉衛國.Visual FoxPro程序設計教程[M].北京:北京郵電大學出版社.2005.
[3] 王利主.全國計算機等級考試二級教程——Visual FoxPro 6.0程序設計[M].北京:高等教育出版社,2001.
[4] 翁正科.Visual FoxPro 數據庫開發教程[M].北京:清華大學出版社,2003.
[5] 高永惠.Visual FoxPro 中常見錯誤及其處理方法[J].懷化學院學報,2003,10:86-88.
[6] 劉艷松.VFP結構化程序設計教學中常見錯誤及分析[J].株洲師范高等專科學校學報,2007,10:62-64.
[7] 孫麗明.Visual FoxPro 7.0高級編程[M].北京:清華大學出版社,2002.
[8] 崔巍.數據庫系統及應用[M].2版.北京:高等教育出版社,2003.