VFP6程序设计基础课件.pptVIP

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2024-8-12*對於可變長字串需要用另外的辦法。能否有一種方法,讓FOR迴圈知道被測試字串的長度?迴圈次數由被測試字串的長度來決定?事實上VFP提供了一個函數LEN()可以檢測字串的長度。如果將它放在FOR迴圈命令中,那麼程式在上述兩種情況下都能很好地運行。cNumbVar=””FORII=1TOLEN(cTest) cCharacter=SUBSTR(cTest,II,1) IFISDIGIT(cCharacter) cNumbVar=cNumbVar+ccharacter ENDIFENDFOR?cTest?cNumbVar程式運行結果123_456_789ab01234567890在命令窗口中執行下一條命令後再運行這部分代碼cTest=123_456_789ab0cd1e23程式運行結果123_456_789ab0cd1e231234567890123返回2024-8-12*5.3.5組裝全部模組若要完善此程式,則要從表中讀取數據。在對表進行操作時,需要逐條掃描記錄,針對表中記錄的字段而不是變數進行操作。為了說明此步驟,先將STUDENT表中的“學號”字段的值進行修改後作為一個測試用表,修改後的STUDENT表中數據如圖5-9所示:圖5-9測試用數據在對字段中的字串進行處理後,目的並不是要將結果保存在內存變數中,而是要將處理後的值用來替換原來字段中的值。要對字段的值進行替換,前面已經講過可以用REPLACE命令:2024-8-12*REPLACE學號WITHcNumbVar在將此條語句加入到程式中後,因為這個程式的功能目前還只是對當前一條記錄的“學號”字段進行處理,而不是對表中所有記錄同時進行處理,這離要求還差一步。通過前面講到的要對表中的記錄進行全部或部分記錄進行處理時,可以使用基於表的迴圈命令SCAN…ENDSCAN命令。將這些進行組裝時要注意,因為前面的程式是基於記憶體變數編寫的,現在是要將這些代碼用於對表中記錄進行處理,為此要將原字串變數名cTest改為表中的字段名“學號”,最後的程式如下:SCAN cNumbVar=”” FORII=1TOLEN(學號) cCharacter=SUBSTR(學號,II,1) IFISDIGIT(cCharacter) cNumbVar=cNumbVar+ccharacter ENDIF ENDFOR REPLACE學號WITHcNumbVarENDSCAN返回2024-8-12*5.3.6整體測試完成全部代碼之後,在處理實際數據之前,必須用示例數據進行測試。運行此程式時,如果當前工作區中沒有表打開,此程式將要求先打開一個表,如果先將STUDENT表打開後再運行此程式,則此程式可正常運行。程式運行後螢幕顯示的結果如圖5-9所示:圖5-10運行程式測試後STUDENT表中的部分數據到此,程式設計基本完成,但為了使程式更可靠,需要進行下麵的改進工作。返回2024-8-12*5.3.7提高程式的可靠性所謂可靠的程式是指一個程式不僅能夠完成設計的功能,還可以預料到可能發生的錯誤並進行排錯處理。上面的程式包含有二個假設,只有滿足了這兩個條件,程式才能正常運行。這兩個假設是:在當前目錄中有STUDENT表,或者有一個打開的表;同時,STUDENT表中有“學號”字段,或者當前工作區中打開的表中有“學號”字段。如果事先指定打開表,就會限制程式的使用範圍,最好的辦法是在運行程式時,由用戶根據情況決定打開哪個表。下麵是改進後的程式,它具備了預料並排除錯誤的功能:ACCEPT“請輸入要處理的表檔案名”TOTABNAMESRLtableOK=.F.此變數確定程式正常運行的條件之一是否成立。初始值為.F.,假設條件不成立。LfieldOK=.F.此變數確定程式正常運行的另一條件是否成立。TABNAME=””定義一個變數用於保存表檔案名IFAT(“.”,TABNAMESR)=0 TABNAME=TABNAMESR+”.DBF”使輸入的檔案名帶有擴展名2024-8-12*ENDIFDOWHILE.T. IFFILE(TABNAME)

文档评论(0)

爱遛弯的张先生 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档