董大偉
(吉林工商學(xué)院 吉林長春 130062)
VFP6.0是一個功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)(DBMS),VFP6.0的優(yōu)點(diǎn)比較明顯:簡單、快速、有效、靈活。它能迅速而又簡單地建立用戶的數(shù)據(jù)庫,從而方便地使用和管理數(shù)據(jù)。因此VFP6.0具有廣泛的使用基礎(chǔ),高校非計(jì)算機(jī)專業(yè)基本都開設(shè)這門數(shù)據(jù)庫編程語言,并且也是在校學(xué)生報(bào)考計(jì)算機(jī)等級考試的優(yōu)選科目。VFP表單是一個友好的交互界面,VFP表單主要靠控件進(jìn)行設(shè)計(jì)和支撐,在眾多的控件當(dāng)中,文本框(Text)是很重要的一個控件。生活當(dāng)中的很多應(yīng)用都離不開用戶輸入或編輯數(shù)據(jù),而能接收和編輯數(shù)據(jù)的控件就是文本框。在文本框中可以編輯任何類型數(shù)據(jù),例如字符型、數(shù)值型、邏輯型、日期型。因此,掌握文本框控件的應(yīng)用是解決問題的關(guān)鍵,下面我們來看一下文本框控件的幾個例子。
(1)設(shè)計(jì)如圖所示表單,利用文本框輸入圓的半徑,單擊“計(jì)算”命令按鈕,給出圓的周長。
操作如下:
①創(chuàng)建表單,添加兩個標(biāo)簽控件,兩個文本框控件,兩個命令按鈕控件,并設(shè)置相應(yīng)屬性。其中為了防止得出的周長被修改,我們可以設(shè)置第二個文本框text2的readonly屬性為.T.。
圖1
圖2
②“計(jì)算”命令按鈕的click事件代碼如下:
r=val(thisform.text1.value)
thisform.text2.value=2*3.14*r
(2)設(shè)計(jì)如圖所示的“登錄”表單,當(dāng)用戶輸入用戶名或密碼并單擊“確認(rèn)”按鈕后,系統(tǒng)要檢驗(yàn)輸入的用戶名和密碼是否正確。如果正確,則顯示“歡迎使用本系統(tǒng)”并釋放表單;若不正確,則顯示“用戶名或密碼不正確,請重新輸入”,如果連續(xù)三次輸入不正確,則顯示“已超過輸入次數(shù),登錄失敗”并關(guān)閉表單。
操作如下:
①創(chuàng)建表單,添加兩個標(biāo)簽控件,兩個文本框控件,兩個命令按鈕控件。并設(shè)置相應(yīng)屬性。由于系統(tǒng)要統(tǒng)計(jì)輸入的次數(shù),所以要為表單新建屬性num,在“屬性窗口”中設(shè)置屬性num的初始值為0。
②“確定”命令按鈕的click事件代碼如下:
假定用戶名是yingyong,密碼是yy123456。
aa=alltrim(thisform.text1.value)
bb=alltrim(thisform.text2.value)
if aa="yingyong".and.bb=" yy123456"
messagebox("歡迎使用本系統(tǒng)!")
do form 主界面.scx
thisform.release
else
thisform.num=thisform.num+1
if thisform.num=3
messagebox("已超過輸入次數(shù),登錄失敗")
thisform.release
else
messagebox("用戶名或密碼不正確,請重新輸入")
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
endif
endif
VFP表單當(dāng)中最重要的控件就是文本框,因此我們要掌握文本框的相關(guān)知識點(diǎn)。
[1]王志強(qiáng).基于VFP的一個動態(tài)登錄界面 [J].甘肅科技縱橫期刊,2010,39(2):31-33.
[2]教育部考試中心.Visual Foxpro數(shù)據(jù)庫程序設(shè)計(jì)[M].北京:高等教育出版社,2006.219.