第一篇:Vf練習(xí)1-5
Vf練習(xí)1—51、任意一個(gè)數(shù),若能被7或3整除,則輸出該
3、從鍵盤上連續(xù)輸入10組數(shù),分別輸出每數(shù)和,對輸入進(jìn)行規(guī)定,每組數(shù)的結(jié)束標(biāo)志為“0” ENDDO I=I+1 J=1
數(shù),最后釋放所有的內(nèi)存變量 SET TALK OFF
INPUT “輸入一個(gè)數(shù)”TO X?[24]ENDIF
RETURN1、下面程序的功能是計(jì)算1——100之間所有整數(shù)的平方和并輸出結(jié)果 S=0
DO WHILE X<100ENDDO ?S RETURN1、編程求1——1000之間被3整除又被5整除的個(gè)數(shù)及其和。N=0 S=0 K=1
S=S+K ENDIF K=K+1 ENDDO ?N,S RETURN
K=1
?”請輸入第”+“組數(shù)” S=0 X=1
INPUT “請輸入下一個(gè)數(shù):”TO X ENDDO
?”第”+[11]+“組數(shù)之和”,S K=K+1 ENDDO RETURN4、編寫程序,要求從鍵盤輸入9個(gè)數(shù),按從小到大的順序排列并顯示出來。CLEAR
I=1
INPUT TO K(I)I=I+1 ENDDO I= 1
T=K(I)K(I)=K(J)K(J)=T ENDIF
ENDDO I=1
DO WHILE I<10I=I+1 ENDDO RETURN3、鍵盤輸入10個(gè)數(shù),輸入最小數(shù) SET TALK OFF CLEAR K=1
INPUT “請輸入第1個(gè)數(shù):” TO AINPUT “請輸入第2個(gè)數(shù):” TO BENDIF
?“最小數(shù)”,A SET TALK ON RETURN4、從鍵盤輸入10個(gè)數(shù),按從小到大的順序輸出
SET TALK OFF CLEAR
I=1
DO WHILE I<=10 INPUT TO M(I)
I=1
T=M(J)M(J)=M(J+1)M(J+1)=T ENDIF
ENDDO I=I+1 ENDDO I=1
DO WHILE I<=10 I=I+1 ENDDO SET TALK ON RETURN4、計(jì)算10!+15!+20!+25!CLEAR I=10 T=0
S=0
ENDDO ?T ENDDO RETURN
子程序功能計(jì)算P=N!*子程序PRO1.PRG
PARAMETERS P,N,PL=L+1 ENDDO6、編寫一個(gè)子程序計(jì)算N的階乘,在主程序中計(jì)算3!+5!+7!+9!+11!。*主程序JCS.PRG SET TALK OFF CLEAR STORE 0 TO S,K
DO JC1
NEXT
RETURN *子程序JC1.PRG *計(jì)算N!的階乘
STORE(24)TO L,K FOR L=1 TO N(25)NEXT RETURN3、已知一數(shù)列的前三個(gè)數(shù):0,0,1以后每個(gè)數(shù)為前三個(gè)數(shù)的和,求該數(shù)列的前20個(gè)數(shù)。F1=0 F2=0 F3=1
?F1,F(xiàn)2,F(xiàn)3 I=
4??F4
I=I+1 ENDDO SET TALK ON RETURN3、程序的功能是:從鍵盤上輸入10個(gè)正數(shù)放在一維數(shù)組X中,然后顯示最大的數(shù)組元素及其下標(biāo)
(10)MAX=0 C=1
FOR K=1 TO 10 INPUT?輸入?+?第?+STR(K)+?個(gè)數(shù)據(jù)?NEXT KMAX=X(1)FOR K=2 TO 10
IF(12)(13)C=K
(14)ENXT K ?MAX,C1、下列程序的功能是完成建立索引文件,輸入表文件名,索引關(guān)鍵字(字符型)和索引名,運(yùn)行后生成一個(gè)按輸入關(guān)鍵字進(jìn)行索引的索引文件之后顯示索引文件和索引扣的數(shù)據(jù),最后關(guān)閉文件
SET TALK OFF
ACCEPT “輸入表文件名:” TO FNAME ACCEPT “輸入索引關(guān)鍵字:” TO KEY ACCEPT “輸入索引名:” TO INAME
INDEX ON [2]TAG [3]
?“索引名”+[4]USE RETURN2、已知XSCJ.DBF有如下的記錄,編程計(jì)算每個(gè)學(xué)生的總分,總分=英語+語文+數(shù)學(xué),并根據(jù)總分給每個(gè)學(xué)生填入內(nèi)容:總分>=240等級為‘優(yōu)’;180<=總分<240分等級為‘良’;總分<180分等級為‘不及格’ 姓名 英語 語文 數(shù)學(xué) 總分 等級 張山 90 80 65李四 60 75 70王五 80
SETTALK OFF
CLEAR USE XSCJ
GO TOP
DO WHILE NOT EOF()DO CASE CASE總分>=240
REPLACE 等級別 WITH “優(yōu)” REPLACE 等級別 WITH “良” CASE總分<180ENDCASE
ENDDO USE RETURN5、在XSCJ.DBF表文件中查找一位學(xué)生根據(jù)其
平均分判斷該生的學(xué)生情況 CLEAR
[20]ACCEP“請輸入學(xué)號:” TO XH LOCATE[21]IF[22][23]CASE平均分>=80 ?“成績優(yōu)秀!” CASE平均分>=60 ?“成績及格!” OTHERWISE
?[24]ENDCASE
?“查無此人!” ENDIF USE RETURN
已知表文件XS.DBF有三個(gè)字段:姓名/C/ 8,團(tuán)員/L,團(tuán)員/L,出生日期/D
1,編寫程序,顯示XS.DBF中所有團(tuán)員同學(xué)的名單。CLEARUSEXSGO 1
DO WHILE[1]____________________IF[2]_____________________[3]________________________姓名ENDIF
[4]_________________________ ENDDO
[5]_________________________ RETURN
2._編寫程序,在中查找并顯示1992年出生的同學(xué)。CLEAR
DO WHILE NOT EOF()ENDDO USERETURN1、現(xiàn)在學(xué)生表XS.dbf,試用scan循環(huán)顯示學(xué)生表中男生的情況 CLEAR
SCAN
LOOPENDIF
ENDSCAN USE RETURN2、在學(xué)生表文件中“年齡”字段為N型,“標(biāo)志”字段為L型,通過索引查詢顯示所有年齡為20的學(xué)生記錄,然后把記錄11到末記錄的標(biāo)志字段設(shè)置為.T.SET TALK OFF USE 學(xué)生
INDEX ON 年齡 TAG NLDO WHILE NOT EOF()DISPLAY
IFEXIT ENDIF ENDDO
USESET TALK ON RETURN2、閱讀下列程序并將程序填寫完整 STORE “Y” TO YN USE SP1
INDEX ON 品牌 TAG PIN SET ORDER TO PIN
DO WHILE(4)ACCETP“請輸入查詢的品牌:” TO CHX SEEK(5)IF(6)DISPLAY(7)?“無此品牌商品!”(8)
WAIT“繼續(xù)查找嗎?(Y/N)” TO YN IF(9)EXIT
(8)ENDDO RETURN4、設(shè)數(shù)據(jù)表文件PHONE.DBF中包含了“姓名”、“電話”和“地址”三個(gè)字符型字段。以下程序的功能是打開表,按用戶輸入的任一電話號碼進(jìn)行查找,如查存在該號碼,則顯示其單位地址,關(guān)閉文件并結(jié)束程序,請將補(bǔ)充程序。
(15)DO WHILE.T.PHN=SPACE(8)
ACCEPT”請輸入電話號碼” to PHN LOCATE FOR PHN=電話 IF(16)?“單位地址:”+地址 USE
(17)ENDIF ENDDO5、輸入要?jiǎng)h除的記錄號且記錄號不超過XJ表的記錄范圍 USE
(18)C=RECCOUNT()IF C>=N
DELETE
ENDIF5、從鍵盤輸入一個(gè)字符串,然后按組成字符串字符的倒序輸入單個(gè)字符,在輸出過程中如遇到空格字符便停止輸出。
ACCEPT“輸入一個(gè)字符串:” TO ST
IF SUBSTR(ST,N,1)=SPACE(1)ELSE
ENDIF ENDDO
RETURN5、編寫打印如下圖形。ABBBCCCCC
DDDDDDD
I=1
J=
1ENDDO
ENDDO RETURN
4、打印圖形**************** SET TALK OFF CLEAR
S=1
??”*” S=S+1 ENDDO
ENDDO RETURN
第二篇:VF電子教案(表單練習(xí))
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(1)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
一、與表無關(guān)的表單設(shè)計(jì)(與計(jì)時(shí)器無關(guān))1.要求:(1)編制一個(gè)按鈕組調(diào)色板
(2)當(dāng)用戶按了命令按鈕組中的某個(gè)按鈕后,表單的背景色就會變?yōu)榘粹o指定的對應(yīng)顏色。
? 命令按鈕組Commandgroup1的Click事件代碼:
do case
case this.value=1 thisform.backcolor=rgb(225,0,0)case this.value=2 thisform.backcolor=rgb(0,255,0)case this.value=3 thisform.backcolor=rgb(0,0,255)case this.value=4 thisform.backcolor=rgb(0,0,0)case this.value=5 thisform.backcolor=rgb(225,255,255)endcase thisform.refresh
2.要求:(1)編制一個(gè)按鈕組調(diào)色板
(2)當(dāng)用戶按了命令按鈕組中的某個(gè)按鈕后,命令按鈕組的背景色就會變?yōu)榘粹o指定的對應(yīng)顏色。(注意與上一題比較,14是設(shè)置表單的背景色,本題是設(shè)置命令按鈕組的背景色。
? 命令按鈕組Commandgroup1的Click事件代碼:
do case
case this.value=1 this.backcolor=rgb(225,0,0)case this.value=2 this.backcolor=rgb(0,255,0)case this.value=3 this.backcolor=rgb(0,0,255)case this.value=4 this.backcolor=rgb(0,0,0)case this.value=5 this.backcolor=rgb(225,255,255)endcase thisform.refresh
3.要求:(1)編制一個(gè)選項(xiàng)按鈕組調(diào)色板
(2)當(dāng)用戶按了某個(gè)選項(xiàng)按鈕后,表單的背景顏色就會變?yōu)榘粹o指定的對應(yīng)顏色。
? 選項(xiàng)按鈕組Optiongroup1的Click事件代碼:
do case
case this.value=1
thisform.backcolor=rgb(255,0,0)case this.value=2
thisform.backcolor=rgb(0,255,0)case this.value=3 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
thisform.backcolor=rgb(0,0,255)case this.value=4
thisform.backcolor=rgb(0,0,0)case this.value=5
thisform.backcolor=rgb(255,255,255)endcase ? 如果是設(shè)置選項(xiàng)按鈕組的背景色,如下圖
則顏色設(shè)置語句為:thisform.optiongroup1.backcolor=rgb(255,0,0)4.要求:(1)編制一個(gè)“選頁調(diào)色板”表單
(2)當(dāng)用戶按了某頁后,頁框的背景色就會變成指定的對應(yīng)顏色。
? 選項(xiàng)按鈕組Pageframe1的Click事件代碼:
do case case this.activepage=1
this.page1.backcolor=rgb(255,0,0)case this.activepage=2
this.page2.backcolor=rgb(0,255,0)case this.activepage=3
this.page3.backcolor=rgb(0,0,255)case this.activepage=4
this.page4.backcolor=rgb(0,0,0)case this.activepage=5
this.page5.backcolor=rgb(255,255,255)endcase thisform.refresh
5.要求:(1)編制一個(gè)表單完成口令判定功能;(2)用戶從鍵盤輸入口令時(shí),表單的顯示控件以“*”代替具體內(nèi)容;(3)系統(tǒng)的口令存放在表文件“學(xué)生.dbf”的姓名字段中,要求完全匹配;(4)輸入口令后,按回車,將自動(dòng)在表單上顯示“正確”或“錯(cuò)誤”信息。
***text1的Valid事件代碼:
loca for alltrim(this.value)=alltrim(姓名)if found()
thisform.label2.caption=”正確!” else
thisform.label2.caption=”錯(cuò)誤!” endif select 學(xué)生
6.要求:編制一個(gè)人工翻動(dòng)日歷牌,界面窗口中顯示當(dāng)前日期,但是可以通過界面提供的微調(diào)按鈕任意地向前或向后翻動(dòng)日期。
? Text1的dateformat屬性設(shè)為“14-漢語” ? 微調(diào)Spinner1的Downclick事件代碼:
thisform.text1.value=thisform.text1.value-1 thisform.refresh ? 微調(diào)Spnnier1的Upclick事件代碼:
thisform.text1.value=thisform.text1.value+1 thisform.refresh
(四)小結(jié) 【教學(xué)后記】
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(2)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
7.要求(1)設(shè)計(jì)一個(gè)表單,接受用戶輸入的數(shù)字,生成相應(yīng)的矩陣
(2)文本框內(nèi)輸入一個(gè)小于等于10的數(shù)字,生成一個(gè)相應(yīng)的對稱矩陣,且這個(gè)矩陣的對角線的數(shù)字全部為0,其他的數(shù)字為1。
? “顯示”按鈕Command1的click事件的代碼:
n=val(thisform.text1.value)s=“" for i=1 to n
for j=1 to n
if j=i or j+i=n+1
s=s+”0“+space(2)
else
s=s+”1“+space(2)
endif
endfor
s=s+chr(13)&&每N個(gè)字符加一個(gè)回車鍵,所以在內(nèi)循環(huán)結(jié)束時(shí)執(zhí)行該語句 endfor thisform.edit1.value=s thisform.refresh
8、要求:按“開始”按鈕,在編輯框中顯示九九乘法口訣表。
**表單form1的init事件代碼: public c,m store “” to c,m **“開始”按鈕的click事件 m=”*”
for a=1 to 9
m=m+str(a,4)endfor for I=1 to 9
c=c+str(I,1)for j=1 to I
c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh
9、要求:在文本框中輸入一個(gè)起始數(shù),在編輯框中顯示20個(gè)從起始位置開始并且是3的倍數(shù)的整數(shù),且這20個(gè)數(shù)字的個(gè)位數(shù)都是3,利用標(biāo)簽輸出這20個(gè)數(shù)的和。教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
***文本框text1的valid事件代碼: public s j=1 I=val(alltrim(thisform.text1.value))S=0 Do while j<=20
If I%3=0 and mod(I,10)=3 J=j+1 S=s+I Thisform.edit1.value=thisform.edit1.value+str(I,10)
Endif
I=I+1 Enddo Thisform.refresh
***command1的click事件代碼:
thisform.label2.caption=”這組數(shù)字的和=”+str(s,10)thisform.refresh
10、要求:(1)在文本框text1中輸入任意一個(gè)100以內(nèi)的正整數(shù);(2)將所有300以內(nèi)的能被該整數(shù)整除的數(shù)顯示在編輯框中;(3)將所在這些數(shù)的和顯示在text2中;(4)按“清除”按鈕時(shí),將文本框及編輯框清空。
**表單form1的init事件代碼: thisform.text1.value=0 thisform.text1.setfocus thisform.text2.value=0 ***文本框text1的valid事件代碼: for I=1 to 300
if mod(I,thisform.text1.value)=0 thisform.edit1.value=thisform.edit1.value+str(I,5)+chr(13)thisform.text2.value=thisform.text2.value+i
endif endfor ***“清除”按鈕的click事件代碼: thisform.text1.value=0 thisform.text2.value=0 thisform.edit1.value=”” thisform.text1.setfocus
(四)小結(jié) 【教學(xué)后記】
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(3)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
要求:按“開始”按鈕,在編輯框中顯示九九乘法口訣表。**表單form1的init事件代碼: public c,m store “” to c,m **“開始”按鈕的click事件 m=”*” for a=1 to 9
m=m+str(a,4)endfor for I=1 to 9
c=c+str(I,1)for j=1 to I
c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
11、要求:按“開始”按鈕,在列表框中顯示2000-2100年之間所有的閏年。
**“開始”按鈕的click事件代碼: thisform.list1.clear for n=2000 to 2100
if n%4=0 if n%100<>0 or n%400=0
y=1 else
y=0 endif else y=0
endif if y=1
thisform.list1.additem(alltrim(str(n)))endif endfor
12.要求:(1)編制一個(gè)小型文本編輯器,界面見下圖;(2)文字信息從鍵盤輸入至edit框;(3)三個(gè)單選按鈕分別用于設(shè)置“宋體”、“黑體”和“隸書”;(4)三個(gè)check按鈕用設(shè)置字體的“傾斜”、“加粗”和“下劃線”;(5)字號用微調(diào)控件實(shí)現(xiàn) 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
***optiongroup1的click事件代碼: do case
case this.value=1 thisform.text1.fontname=”宋體”
case this.value=2 thisform.text1.fontname=”楷體”
case this.value=3
thisform.text1.fontname=”隸書” endcase ***check1的click事件代碼: if this.value=1
thisform.text1.fontbold=.t.else
thisform.text1.fontbold=.f.endif ***check2,3的代碼類似于check1 ***spinner1的upclick事件代碼
thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代碼
thisform.text1.fontsize=thisform.text1.fontsize+1 13.要求:(1)在表單中的三個(gè)文本框中分別輸入3個(gè)數(shù),判別是否能形成三角形,如果是三角形,求出此三角形的面積。(2)判斷是否是三角形,可利用:a+b>c,且c>0;a+c>b,且b>0;b+c>a,且a>0
***判斷計(jì)算按鈕command1的click事件代碼: a=val(thisform.text1.value)b=val(thisform.text2.value)c=val(thisform.text3.value)if(a+b>c and c>0)or(a+c>b and b>0)or(b+c>a and a>0)
s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))endif thisform.label2.caption=”能構(gòu)成三角形,面積等于:” +str(atea)14.建立一個(gè)如圖所示的表單
? 選項(xiàng)按鈕組Optiongroup1的Click事件代碼:
do case
case this.value=1
create
case this.value=2 create form case this.value=3
modify command endcase
(四)小結(jié) 【教學(xué)后記】 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(4)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
二、與表無關(guān)的表單設(shè)計(jì)(計(jì)時(shí)器類表單設(shè)計(jì))
15.要求:編制一個(gè)信息顯示(時(shí)鐘)的界面,顯示當(dāng)前時(shí)間(每秒動(dòng)態(tài)顯示跳動(dòng)一次)(2)并將表單的背景顏色設(shè)置為藍(lán)、綠色自動(dòng)變換(與時(shí)間同步切換)
? Timer1的Timer事件代碼:
s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)mn=val(m)if int(mn/2)=mn/2
thisform.backcolor=rgb(0,0,255)else
thisform.backcolor=rgb(0,255,0)
endif thisform.text1.value=time()16.要求:(1)編制一個(gè)表單完成數(shù)字時(shí)鐘顯示功能(2)表單將自動(dòng)以1秒為間隔動(dòng)態(tài)顯示系統(tǒng)時(shí)間(3)時(shí)、分、秒要求用漢字說明
? 文本框Text1的背景色Backcolor為RGB(255,255,255);FONTNAME為“隸書”。? 時(shí)鐘控件Timer1的Timer事件代碼:
s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)thisform.text1.value=s+”時(shí)“+f+'分'+m+'秒'
thisform.refresh 17.要求:(1)編制一個(gè)表單完成計(jì)時(shí)器計(jì)數(shù)顯示功能(2)表單初始顯示狀態(tài)為全零“00:00:00”
(3)按“計(jì)數(shù)”按鈕,將自動(dòng)以秒為單位從零開始計(jì)數(shù)(設(shè):時(shí)的計(jì)數(shù)屬性名為S,分的計(jì)數(shù)屬性名為F,秒的計(jì)數(shù)屬性名為M。)并在表單上動(dòng)態(tài)顯示。按“停止”按鈕將顯示最后一刻的計(jì)數(shù)時(shí)間。
? 創(chuàng)建1個(gè)新建屬性,clocknum初值設(shè)為0 ? 表單的form1的init事件代碼:
thisform.timer1.enabled=.f.thisform.text1.value=”00:00:00“ thisform.refresh ? “計(jì)數(shù)”按鈕command1的click事件代碼: thisform.timer1.enabled=.t.? “停止”按鈕command2的click事件代碼: thisform.timer1.enabled=.f.? 時(shí)鐘控件timer1的timer事件代碼:
js=thisform.clocknum s=int(js/3600)f=int(js/60)m=js%60 s1=iif(s<10,'0'+str(s,1),str(s,2))f1=iif(f<10,'0'+str(f,1),str(f,2))
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
m1=iif(m<10,'0'+str(m,1),str(m,2))thisform.text1.value=s1+”:“+f1+”:“+m1 thisform.clocknum=thisform.clocknum+1 thisform.refresh 18.要求:(1)“日期”“星期”“時(shí)鐘”標(biāo)簽上的文本能自動(dòng)換行,自動(dòng)調(diào)整大小,背景透明;(2)時(shí)鐘每1秒種跳一次
? 時(shí)鐘控件Timer1的Timer事件代碼:
y=str(year(date()),4)m=str(month(date()),2)d=str(day(date()),2)thisform.text1.value=y+”年“+m+”月“+d+”日“ c=”日一二三四五六“ n=dow(date())w=”星期“+substr(c,2*n-1,2)+”(“+cdow(date())+”)“ thisform.text2.value=w thisform.text3.value=time()19.要求:(1)編制一個(gè)表單完成文字水平動(dòng)態(tài)移動(dòng)操縱的表單;(2)文字信息(縱向)初始顯示位置在表單的左邊,表單執(zhí)行后,每間隔20毫秒,文字會自動(dòng)以間隔加1的幅度逐步向表單右邊移動(dòng),直到文字到達(dá)表單最右邊緣;(3)然后,每間隔20毫秒文字會自動(dòng)以間隔加1的幅度逐步向表單左邊移動(dòng),直到文字回復(fù)到初始位置;(4)整個(gè)過程不間斷地來回移動(dòng)
? 新建表單屬性:right ? 表單的Form1的Init事件代碼:
thisform.timer1.interval=20 ? 時(shí)鐘控件Timer1的Timer事件代碼:
IF thisform.label1.Left=0
thisform.right=.f.endif if thisform.label1.left+thisform.label1.width=thisform.width
thisform.right=.t.ENDIF IF thisform.right
thisform.label1.Left=thisform.label1.Left-1 ELSE
thisform.label1.Left=thisform.label1.Left+1 ENDIF thisform.refresh 20.編制一個(gè)日歷時(shí)鐘表單,界面如圖所示.要求:(1)表單中的日歷是當(dāng)前日期,時(shí)鐘每秒跳動(dòng)一次;(2)單擊微調(diào)控件的前翻后翻按鈕,日期與星期隨之變化。
***表單Form1的init事件代碼: thisform.text1.value=date()w=iif(dow(date())>1,dow(date())-1,7)thisform.text2.value=”星期”+substr(“一二三四五六日”,2*w-1,2)+”(“+cdow(date())+”)” thisform.text3.value=time()thisform.spinner1.setfocus ***spinner1的upclick事件代碼:
thisform.text1.value=thisform.text1.value+1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***spinner1的downclick事件代碼:
thisform.text1.value=thisform.text1.value-1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***timer1 的timer事件代碼:
thisform.text3.value=time()
(四)小結(jié)【教學(xué)后記】
六
六教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(5)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
21.要求:(1)編制一個(gè)表單完成文字動(dòng)態(tài)縮放操縱的表單;(2)文字信息初始的位置在表單的正中央,表單執(zhí)行后,第間隔20毫秒,文字自動(dòng)以字號加1的幅度逐步向周邊延伸變大,直到文字充滿整個(gè)表單;(3)然后每間隔20毫秒,文字會自動(dòng)以字號加1的幅度逐步向中l(wèi)kd回縮變小,直到文字復(fù)原為初始的狀態(tài);(4)整個(gè)過程不間斷地縮放(最小字號為4,最大學(xué)號為52)
.****新建表單屬性change ****表單的Form1的Init事件代碼: thisform.change=0 ****時(shí)鐘控件Timer1的Timer事件代碼: if thisform.label1.fontsize=52
thisform.change=1 endif if thisform.label1.fontsize=4
thisform.change=0 endif if thisform.change=0 thisform.label1.fontsize=thisform.label1.fontsize+1 else
thisform.label1.fontsize=thisform.label1.fontsize-1 endif thisform.refresh
三、與表相關(guān)的表單設(shè)計(jì)(單表)
1.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”內(nèi)容的只讀瀏覽顯示功能;(如圖1)(2)表單初始顯示內(nèi)容為表文件“學(xué)生.dbf”內(nèi)容的首記錄;
(3)表單內(nèi)容將以10秒為間隔自動(dòng)刷新,即自動(dòng)向后翻記錄,當(dāng)翻至表底時(shí),瘵自動(dòng)回到首記錄循環(huán)翻動(dòng)。
? 表單的Form1的Init事件代碼:
THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)GO TOP THISFORM.REFRESH ? 時(shí)鐘控件Timer1的Timer事件代碼: SKIP IF EOF()
GO TOP ENDIF THISFORM.REFRESH
2.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf“內(nèi)容的只讀瀏覽顯示功能(如圖2)(2)表單初始顯示內(nèi)容為表文件“學(xué)生.dbf”的首記錄(3)當(dāng)按“前翻”、“后翻”、“首記錄”、“末記錄”按鈕時(shí),表單將自動(dòng)顯示相應(yīng)記錄的內(nèi)容(4)當(dāng)翻至表頭或表底時(shí),將自動(dòng)設(shè)置相應(yīng)按鈕不可訪問。教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
? 表單的Form1的Init事件代碼:
THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)Sele 學(xué)生 GO TOP THISFORM.REFRESH ? “首記錄”按鈕Command1的Click事件代碼:
go top thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.command1.enabled=.f.thisform.refresh ? “前翻”按鈕Command2的Click事件代碼:
skip-1 if bof()thisform.command1.enabled=.f.this.enabled=.f.endif thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.refresh
? “后翻”按鈕Command3的Click事件代碼:
skip if eof()thisform.command3.enabled=.f.thisform.command4.enabled=.f.endif thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.refresh
? “末記錄”按鈕Command4的Click事件代碼: go bottom thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.refresh 3.要求:(1)編制“學(xué)生“表信息查詢界面
(2)查詢與用戶指定的學(xué)生姓名相匹配的記錄,并顯示指定學(xué)生的所有信息。
? ? ?
?
List1的Rowsourcetype為“6-字段”,Rowsource為“學(xué)生.姓名”;文本框Text1~Text5的數(shù)據(jù)源屬性分別為學(xué)生表中對應(yīng)字段 所有文本框Text的ReadOnly屬性為“.T.”; 表單的Form1的Init事件代碼: use 學(xué)生
thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 列表框List1的Interactivechange事件代碼: thisform.setall(”visible“,.t.)thisform.refresh
(四)小結(jié) 【教學(xué)后記】
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(6)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
4.要求:(1)編制“學(xué)生表”信息查詢界面(2)顯示指定學(xué)生的所有信息。
? ? ?
?
Combo1的Rowsourcetype為“6-字段”,Rowsource為“學(xué)生.姓名”;文本框Text1~Text5的數(shù)據(jù)源屬性分別為學(xué)生表中對應(yīng)字段 所有文本框Text的ReadOnly屬性為“.T.”; 表單的Form1的Init事件代碼: use 學(xué)生
thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 組合框Combo1的Interactivechange事件代碼: thisform.setall(”visible“,.t.)thisform.refresh
5.要求:編制“學(xué)生”表信息查詢界面,查詢與用戶輸入的學(xué)生學(xué)號相匹配的記錄,并顯示指定學(xué)生的所有信息。
? Label3、Label4、Label5、Label6的Caption屬性分別設(shè)置為“姓名:”、“性別:”、“出生年月:”、“獎(jiǎng)學(xué)金:”,并設(shè)置所有文本框的數(shù)據(jù)源屬性為學(xué)生表中的對應(yīng)字段 ? 標(biāo)簽Label2的Forecolor屬性為“255,255,255”
? 除學(xué)號文本框,所有文本框Text的ReadOnly屬性為“.T.”; ? 表單的Form1的Init事件代碼:
use 學(xué)生
thisform.setall(”visible“,.f.)thisform.label1.visible=.t.thisform.text1.visible=.t.? 文本框Text1的Valid事件代碼:
loca for alltrim(學(xué)號)=alltrim(this.value)if found()
thisform.label2.caption=”“
thisform.setall(”visible“,.t.)else
thisform.setall(”visible“,.f.)
thisform.label1.visible=.t.thisform.text1.visible=.t.thisform.label2.visible=.t.thisform.label2.caption=”您所指定的學(xué)生并不存在!“ endif thisform.refresh
6.要求:(1)編制一個(gè)界面程序,實(shí)現(xiàn)將用戶指定的表文件的字段名列表顯示(2)系統(tǒng)自動(dòng)查詢用戶指定的表文件是否存在,存在則列表顯示指定表文件的所有字段名信息,否則給出信息提示框 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
? Form1的Init事件的代碼:
Thisform.label2.visible=.f.Thisform.list1.visible=.f.? Text1的Valid事件的代碼
fn=alltrim(this.value)+ ”.dbf“ if file(fn)thisform.setall(”visible“,.t.)thisform.list1.clear
use(fn)for i=1 to fcount()
thisform.list1.additem(field(i))endfor else Thisform.label2.visible=.f.Thisform.list1.visible=.f.messagebox(”指定的表文件不存在!“,0+64, ”表文件存在判斷“)endif thisform.refresh
7.編制一個(gè)表單完成學(xué)生成績信息查詢顯示功能(界面如圖所示)。要求(1)當(dāng)輸入學(xué)生 9.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”內(nèi)容的查詢顯示功能(2)當(dāng)用戶在組合框(下拉列表)選擇班級(學(xué)號的左三位)后,表單將自動(dòng)顯示對應(yīng)班級的獎(jiǎng)學(xué)金總額
(3)按“退出”按鈕時(shí),自動(dòng)關(guān)閉表單。
? 表單Form1的Init事件代碼:
sele 學(xué)生
index on left(學(xué)號,3)to xh unique scan thisform.combo1.additem(left(學(xué)號,3))endscan ? 組合框Combo1的Valid事件代碼:
set talk off Sum 獎(jiǎng)學(xué)金 to jxj for left(學(xué)號,3)=this.value Thisform.twxt1.value=jsj ? “退出”按鈕Command1的Click事件代碼:
thisform.release 10.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”“成績.dbf”內(nèi)容的查詢顯示功能(2)當(dāng)用戶在組合框(下拉列表)選擇班級(學(xué)號的左三位)后,表單將自動(dòng)顯示對應(yīng)班級的所有學(xué)生的總平均成績
(3)按“退出”按鈕時(shí),自動(dòng)關(guān)閉表單。
? 表單Form1的Init事件代碼:
Set talk off index on left(學(xué)號,3)to xh unique scan
thisform.combo1.additem(left(學(xué)號,3))endscan set index to ? 組合框combo1的Valid事件代碼:
set talk off average成績 to cj for left(學(xué)號,3)=this.value thisform.text1.value=cj ? “退出”按鈕Command1的Click事件代碼: thisform.release
(四)小結(jié) 【教學(xué)后記】 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(7)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
11.編制一個(gè)表單完成數(shù)據(jù)轉(zhuǎn)移操作功能
? 命令按鈕“添加一項(xiàng)”command1的click事件代碼:
thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)&&“添加一項(xiàng)”將list1內(nèi)容移到list2,即list1的內(nèi)容減少一項(xiàng)(removeitem),list2的內(nèi)容增加一項(xiàng)(additem)。thisform.refresh ? 命令按鈕“全部添加”command2的click事件代碼:
thisform.list1.clear thisform.list2.clear scan thisform.list2.additem(姓名)endscan &&“全部添加”將list1內(nèi)容全部移到list2,即list1全部清空(clear),list2內(nèi)容為學(xué)生表的“姓名”。thisform.refresh ? 命令按鈕“移去一項(xiàng)”command3的click事件: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)&&“移去一項(xiàng)”將list2的內(nèi)容移到list1,list2減少一項(xiàng)(removetiem),list1增加一項(xiàng)(additem)。thisform.refresh ? 命令按鈕“全部移去”command4 的click事件: thisform.list2.clear thisform.list1.clear scan thisform.list1.additem(姓名)endscan &&“全部移去”將list2內(nèi)容全部移到list1,即list2全部清空(clear),list1內(nèi)容為學(xué)生表的“姓名”。
thisform.refresh
12.要求:(1)編制一個(gè)列表框數(shù)據(jù)轉(zhuǎn)移操作表單;(2)當(dāng)在左邊顯示學(xué)生姓名的窗口選擇某個(gè)學(xué)生后,單擊“選擇一項(xiàng)”按鈕,左邊的列表中的所選中的單項(xiàng)信息將自動(dòng)轉(zhuǎn)移到右邊的列表框中;(3)當(dāng)在右邊顯示學(xué)生姓名的窗口選擇某個(gè)學(xué)生后,單擊“退還一項(xiàng)”按鈕,右邊的列表中選中的單項(xiàng)信息將自動(dòng)轉(zhuǎn)移到左邊的列表框中。
*****表單Form1的init事件代碼: 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
this.list2.rowsourcetype=0 this.list2.rowsource=” this.list12.sorted=.t.this.list1.rowsourcetype=0 this.list1.rowsource=”” use 學(xué)生 scan
this.list1.additem(姓名)endscan *****命令按鈕”選擇一項(xiàng)”command1的click事件代碼: thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)thisform.refresh *****命令按鈕”退還一項(xiàng)”command2的click事件代碼: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)thisform.refresh
13.要求:在文本框中輸入一個(gè)工資金額數(shù),從數(shù)據(jù)表文件gzb.dbf(工資表)中查找高于此工資數(shù)男女人數(shù),利用標(biāo)簽輸出統(tǒng)計(jì)結(jié)果。
*****統(tǒng)計(jì)按鈕command1的click事件代碼: select gzb count to x for 工資>val(thisfom.text1.value)and 性別=.t.count to y for 工資>val(thisform.text1.value)and 性別=.f.thisform.label2.caption=”工資超過”+thisform.text1.value+”的男職工人數(shù)為:”+str(x,4)thisform.label3.caption=”工資超過”+thisform.text1.value+”的女職工人數(shù)為:”+str(y,4)14.四、與表相關(guān)的表單設(shè)計(jì)(多表)
15.要求:(1)編制一個(gè)表單完成表文件“課程.dbf”“成績.dbf”內(nèi)容的查詢顯示功能
(2)當(dāng)用戶在組合框選擇課程名后,表單將自動(dòng)顯示對應(yīng)課程的所有學(xué)生的總平均成績
(3)按“退出”按鈕時(shí),自動(dòng)關(guān)閉表單。
? 組合框Combo1的RowSouceType屬性為“6-字段”,RowSouce屬性為“課程.課程名”。? 組合框Combo1的Valid事件代碼:
set talk off select 課程 kch=課程號 select 成績
average 成績 to cj for 課程號=kch thisform.text1.value=cj ? “退出”按鈕Command1的Click事件代碼:
thisform.release
(四)小結(jié) 【教學(xué)后記】
教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
【課題】表單練習(xí)(8)
本課(章、節(jié))共 2 課時(shí),本課時(shí)為第1、2 課時(shí),課的類型:實(shí)習(xí)課 【教學(xué)目標(biāo)】熟悉表單的操作與命令 【教學(xué)重點(diǎn)】表單的操作與命令 【教學(xué)難點(diǎn)】表單的操作與命令 【教學(xué)方法】講授法、實(shí)驗(yàn)法 【教學(xué)過程及板書設(shè)計(jì)】
(一)前提測評:
(二)目標(biāo)展示:表單的操作與命令
(三)導(dǎo)學(xué)達(dá)標(biāo):
16.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”“成績.dbf”內(nèi)容的查詢顯示功能(2)當(dāng)用戶在組合框(下拉列表)選擇姓名后,表單將自動(dòng)顯示對應(yīng)學(xué)生的平均成績(3)按“退出”按鈕時(shí),自動(dòng)關(guān)閉表單。
? 組合框Combo1的RowSouceType屬性為“6-字段”,RowSouce屬性為“學(xué)生.姓名”。? 組合框Combo1的Interactivepage事件代碼:
set talk off select 學(xué)生 xh=學(xué)號 select 成績
average 成績 to cj for 學(xué)號=xh thisform.text1.value=cj ? “退出”按鈕Command1的Click事件代碼:
thisform.release
17.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”、“成績.dbf”、“課程.dbf”內(nèi)容的編輯瀏覽顯示功能
(2)三個(gè)表文件分別顯示在三個(gè)不同的頁面上(3)未被激活的頁面自動(dòng)設(shè)為不可訪問
? Timer1的Interval屬性設(shè)置為10000 ? Timer1的Timer事件的代碼:
P=Thisform.PageFrame1.ActivePage P=P+1 IF P>3
P=1 ENDIF
Thisform.PageFrame1.SetAll(”Enabled“,.F.,”Page")Thisform.PageFrame1.Pages(P).Enabled=.T.Thisform.PageFrame1.ActivePage=P
18.要求:(1)編制一個(gè)學(xué)生成績查詢表單,表單中的顯示學(xué)生信息的窗口的指針移動(dòng)時(shí),在另一個(gè)窗口可以自動(dòng)顯示出對應(yīng)那個(gè)學(xué)生所所有成績信息。
*****Form1的init事件代碼: sele 成績 教學(xué)時(shí)間約
****年**月**日
總第節(jié)
審批簽字:
inde on 學(xué)號 to xh sele 學(xué)生
set rela to 學(xué)號into 成績
19.要求:(1)編制一個(gè)表單完成表文件“學(xué)生.dbf”“成績.dbf”“課程.dbf”內(nèi)容的編輯瀏覽顯示功能;(2)三個(gè)表文件分別顯示在三個(gè)不同的頁面上;(3)當(dāng)在選項(xiàng)按鈕組選擇某個(gè)表文件時(shí),頁框中的頁會自動(dòng)翻頁,即自動(dòng)翻動(dòng)為與選擇的表文件對應(yīng)的頁;(4)未被激活的頁面自動(dòng)設(shè)為不可訪問
*****Form1的init事件代碼: thisform.pageframe1.setall(“enabled”..f.,”page”)thisform.pageframe1.page1.enabled=.t.*****Optiongroup1的click事件代碼: thisform.pageframe1.setall(“enabled”,.f.,”page”)do case
case this.value=1
thisform.pageframe1.page1.enabled=.t.thisform.pageframe1.activepage1=1 case this.value=2
thisform.pageframe1.page2.enabled=.t.thisform.pageframe1.activepage=2 case this.value=3 thisform.pageframe1.page3.enabled=.t.thisform.pageframe1.activepage=3 endcase 20.要求:(1)編制一個(gè)小型文本編輯器,界面見下圖;(2)文字信息從鍵盤輸入至edit框;(3)三個(gè)單選按鈕分別用于設(shè)置“宋體”、“黑體”和“隸書”;(4)三個(gè)check按鈕用設(shè)置字體的“傾斜”、“加粗”和“下劃線”;(5)字號用微調(diào)控件實(shí)現(xiàn)
***optiongroup1的click事件代碼: do case case this.value=1 thisform.text1.fontname=”宋體” case this.value=2 thisform.text1.fontname=”楷體” case this.value=3 thisform.text1.fontname=”隸書” endcase ***check1的click事件代碼: if this.value=1 thisform.text1.fontbold=.t.else thisform.text1.fontbold=.f.endif ***check2,3的代碼類似于check1 ***spinner1的upclick事件代碼
thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代碼
thisform.text1.fontsize=thisform.text1.fontsize+1
(四)小結(jié) 【教學(xué)后記】
第三篇:vf簡答題
一、問答題
1、什么是關(guān)系運(yùn)算?常見的關(guān)系運(yùn)算有哪幾種?(第一章)
參考答案:關(guān)系運(yùn)算是指以關(guān)系為對象的關(guān)系運(yùn)算,在關(guān)系運(yùn)算中,變量是關(guān)系,運(yùn)算的結(jié)果仍然是關(guān)系。
常見的關(guān)系運(yùn)算有選擇運(yùn)算、投影運(yùn)算和連接運(yùn)算三種。
2,什么是數(shù)據(jù)模型?常用的數(shù)據(jù)模型有哪幾種?各種數(shù)據(jù)模型有什么特點(diǎn)?(第一章)
參考答案:數(shù)據(jù)模型是指具有聯(lián)系性的相關(guān)數(shù)據(jù)總是按照一定的組織關(guān)系排列,從而構(gòu)成一定的結(jié)構(gòu),對這種結(jié)構(gòu)的描述就是數(shù)據(jù)模型。
常用的數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型、關(guān)系模型。
層次模型以樹形結(jié)構(gòu)表示數(shù)據(jù)間的關(guān)系;網(wǎng)狀模型以網(wǎng)絡(luò)結(jié)構(gòu)表示結(jié)點(diǎn)間的關(guān)系;關(guān)系模型以二維表表示數(shù)據(jù)間的關(guān)系。
3、什么是數(shù)據(jù)庫?什么是數(shù)據(jù)庫系統(tǒng)?(第一章)
參考答案:數(shù)據(jù)庫(Data Base)是數(shù)據(jù)庫系統(tǒng)的核心和管理對象。所謂數(shù)據(jù)庫,就是以一定的組織方式將相關(guān)的數(shù)據(jù)組織在一起,存放在計(jì)算機(jī)外存儲器上形成的,能為多個(gè)用戶共享的,與應(yīng)用程序彼此獨(dú)立的一組相關(guān)數(shù)據(jù)的集合。
數(shù)據(jù)庫系統(tǒng)是以數(shù)據(jù)庫為核心的信息處理系統(tǒng),它能集中地進(jìn)行數(shù)據(jù)管理,也能夠開發(fā)、維護(hù)應(yīng)用系統(tǒng)程序。
4、在VFP中,表達(dá)式的輸出命令“?” 和“??”有什么區(qū)別?數(shù)據(jù)輸入命令input 和accept的區(qū)別是什么?(第三章)
參考答案:使用?命令,顯示結(jié)果在下一行輸出,即在輸出之前先換行一次;使用??命令,顯示結(jié)果在當(dāng)前行輸出;假如使用?命令,后面沒有任何表達(dá)式,此時(shí)輸出一個(gè)空行。
Input可以輸入各種數(shù)據(jù)類型的數(shù)據(jù);accept只能輸入字符型數(shù)據(jù)。
5、在Visual FoxPro 6.0有哪幾種數(shù)據(jù)類型并說明它們分別對應(yīng)的關(guān)鍵字(請列舉出五個(gè)以上)?有哪些類型的表達(dá)式?(第三章)
參考答案:有七類數(shù)據(jù)類型:字符型(C型)、邏輯型(L型)、數(shù)值型(N型)、備注型(M型)、日期型(D型)、通用型(G型)、日期時(shí)間型(T型)
算術(shù)表達(dá)式、字符表達(dá)式、日期時(shí)間表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式。
6、在VFP中,對表記錄的操作命令中,邏輯刪除記錄和物理刪除記錄的命令分別是什么?它們有什么區(qū)別?(第四章)
參考答案:邏輯刪除記錄的命令是Delete,物理刪除記錄的命令是Pack。區(qū)別:邏輯刪除記錄只是在記錄上做一個(gè)刪除標(biāo)記,并不真正刪除記錄,需要時(shí)還可恢復(fù)。而物理刪除記錄是把做了刪除標(biāo)記的記錄從表中徹底刪除,不可再恢復(fù)。
7、簡述VF中用菜單方式建立一個(gè)STUDENT表,通過編輯窗口追加方式向表中添加學(xué)生記錄與瀏覽顯示結(jié)果的操作步驟。(第四章)
參考答案:建表:文件—新建—新建文件-輸入表名STUDENT-在表設(shè)計(jì)器窗體定義字段、類型-確定。追加方式輸入學(xué)生記錄:
打開STUDENT表—顯示—瀏覽―編輯―顯示-追加-輸入學(xué)生記錄—關(guān)閉。瀏覽結(jié)果:
文件-打開表—顯示—瀏覽。
8、索引的類型有哪幾種?各自有何特征?(第五章)
參考答案:索引有四種:主索引、候選索引、普通索引、唯一索引
主索引要求每一個(gè)記錄的索引表達(dá)式的值是唯一的,在一個(gè)數(shù)據(jù)庫表中只能有一個(gè)主索引。候選索引與主索引一樣要求每一個(gè)記錄的索引表達(dá)式的值是唯一的,在一個(gè)數(shù)據(jù)表中可以有多個(gè)候選索引。
普通索引允許索引表達(dá)式的值出現(xiàn)重復(fù)值,而唯一索引如果表中記錄的索引表達(dá)式的值相同,則只存儲第一個(gè)索引表達(dá)式的值。1 簡述什么是參照完整性
回答:參照完整性是指關(guān)系的值受限于外關(guān)鍵字。
2在關(guān)系運(yùn)算中,查找滿足一定條件的元組的運(yùn)算稱為什么運(yùn)算?
回答:選擇運(yùn)算。(關(guān)系數(shù)據(jù)庫的基本運(yùn)算:選擇:元組的選擇稱為選擇,屬性的選擇稱為投影,連接運(yùn)算是通過兩個(gè)關(guān)系共有的屬性連接成一個(gè)新的關(guān)系。)
3.表達(dá)式at(“sd”,”dsdhihsd”,2)=len(“dsfg”)最后返回結(jié)果的數(shù)據(jù)類型是什么? 回答:數(shù)據(jù)庫表有什么特點(diǎn)?
回答:1.可以支持使用長表名、長字段名,字段名最長為128個(gè)字符。2.可以使用指定字段默認(rèn)值和輸入掩碼。3.可以規(guī)定字段級有效性規(guī)則和記錄級有效性規(guī)則。4.支持主關(guān)鍵字、表間永久關(guān)系和設(shè)置表間的參照完整性。5.支持insert,update,delete觸發(fā)器。
***關(guān)系數(shù)據(jù)庫有什么特點(diǎn)?
回答:關(guān)系的最基本要求是屬性不可分割;關(guān)系中不能有相同的屬性名;同一字段數(shù)據(jù)類型相同;元組和字段次序無關(guān)緊要。
5.SQL語句中修改表結(jié)構(gòu)的命令是什么?(寫出主要命令動(dòng)詞)回答:alter table1、什么是數(shù)據(jù)庫管理系統(tǒng)?其基本功能是什么? 答:數(shù)據(jù)庫管理系統(tǒng)(DBMS)是處于用戶與操作系統(tǒng)之間的一種軟件,其作用是實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)的有效組織與管理。其基本功能是:(1)數(shù)據(jù)定義功能。(2)數(shù)據(jù)操作功能。(3)控制和管理功能。(4)數(shù)據(jù)通信功能。
2、VFP的特點(diǎn)是什么?
答:VFP是一種功能強(qiáng)大的可視化編程語言,其特點(diǎn)主要是:(1)功能強(qiáng)大的自含型命令式開發(fā)語言。(2)支持面向?qū)ο蟮某绦蛟O(shè)計(jì)。(3)通過COM組件實(shí)現(xiàn)應(yīng)用集成。(4)支持網(wǎng)絡(luò)應(yīng)用。(5)大量使用可視化的輔助工具。
3、分析說明VFP的工作界面的主要組成要素?
答:VFP是采用一種圖形用戶界面的窗口操作軟件,形成WIMP的界面,其主要構(gòu)成要素包括:
(1)程序窗口。(2)命令窗口。(3)工具窗口。
4、什么是關(guān)系模型?VFP建立表結(jié)構(gòu)時(shí)基本的字段屬性是什么? 答:所謂關(guān)系模型,是指在數(shù)據(jù)的組織中所構(gòu)建的行、列交叉的原子類二維表格。
VFP建立表結(jié)構(gòu)時(shí)基本的字段屬性包括字段名、字段類型、字段寬度、小數(shù)點(diǎn)。
5、什么是常量?什么是變量?并舉例說明常量的表示?
答:常量是指固定不變的數(shù)據(jù);變量是指在命令操作和運(yùn)行中其值允許變化的量。
數(shù)據(jù)型常量:-300 字符型常量:“ABCD”
日期型常量:ctod(“06/25/09”)邏輯型常量:.t.、.f.6、寫出內(nèi)存變量的命名基本規(guī)則?
答:內(nèi)存變量的主要命名規(guī)則是:(1)以字母或下劃線開頭。(2)由字母、下劃線或數(shù)字等組成。(3)至多128個(gè)字符。(4)不可與系統(tǒng)保留字同名。
7、寫出VFP中常用子句的范圍的表示及意義?
答:在VFP中常用子句的范圍的表示及意義:(1)all:表示整個(gè)數(shù)據(jù)表。(2)next N:表示從當(dāng)前開始,到下N條。(3)rest:表示從當(dāng)前到末尾。(4)record N:表示具體操作第N條。
8、寫出VFP中命令的書寫規(guī)則是什么?
答:在VFP中命令的基本書寫規(guī)則是:(1)命令動(dòng)詞、子句與子句、子句內(nèi)各部分用空格分開,子句位置可任意。(2)命令動(dòng)詞置于命令開頭,可為前4個(gè)字母,大小寫隨意。(3)一條命令長度可達(dá)8192個(gè)字符,若一行寫不下,以“;”結(jié)束。
9、什么是過濾器?并寫出過濾器的應(yīng)用格式?
答:過濾器是指在VFP命令應(yīng)用時(shí),將不滿足條件的記錄“隱蔽”起來,即讓記錄從邏輯上消失,基本格式是: Set filter to <過濾>條件
10、什么是記錄定位?并說明絕對定位與相對定位的主要區(qū)別? 答:記錄定位是將記錄指針指向待操作的記錄。
絕對定位:是直接將記錄指針指向待操作的記錄的物理位置。
相對定位:是在當(dāng)前記錄的基礎(chǔ)上改變一個(gè)數(shù)值,從而使記錄指針指向待操作的記錄位置。
11、簡述索引的概念和種類。
答題要點(diǎn):索引不改變記錄的物理順序,而是按某個(gè)索引關(guān)鍵字來建立記錄的邏輯順序。在索引文件中,所有關(guān)鍵字值按升序或降序排列,每個(gè)值對應(yīng)一個(gè)記錄號,這樣就確定了記錄的邏輯順序。索引可分為復(fù)合索引和單索引。
12、什么是查詢?VFP有哪幾種查詢方法?
答題要點(diǎn):查詢就是按指定條件在表中查找所需的記錄。VFP提供了三種查詢方法:順序查詢、索引查詢和SELECT-SQL查詢。
13、什么是工作區(qū)?VFP用什么來表示和區(qū)別工作區(qū)?
答題要點(diǎn):工作區(qū)是內(nèi)存的一個(gè)區(qū)域,VFP提供了32767個(gè)工作區(qū),每個(gè)工作區(qū)只允許打開一個(gè)表。VFP可以用編號和別名來表示和區(qū)別工作區(qū)。
14、簡述關(guān)聯(lián)的概念和建立關(guān)聯(lián)的方法。
答題要點(diǎn):關(guān)聯(lián)就是使不同工作區(qū)的記錄指針臨時(shí)建立起一種聯(lián)動(dòng)關(guān)系,使一個(gè)表的指針移動(dòng)時(shí)另一個(gè)表的指針能隨之移動(dòng)??稍凇皵?shù)據(jù)工作期”窗口中建立關(guān)聯(lián),也可使用SET RELATION命令建立關(guān)聯(lián),此外還可在“數(shù)據(jù)庫設(shè)計(jì)器”中建立關(guān)聯(lián)。
15、什么是SELECT-SQL查詢?如何定制和執(zhí)行查詢?
答題要點(diǎn):SELECT-SQL查詢是從SQL移植過來的查詢命令,具有強(qiáng)大的單表和多表查詢功能??赏ㄟ^“查詢設(shè)計(jì)器”或“數(shù)據(jù)庫設(shè)計(jì)器”定制和執(zhí)行查詢。
16、什么是數(shù)據(jù)完整性?在VFP中允許設(shè)置哪幾種有效性驗(yàn)證?
答題要點(diǎn):數(shù)據(jù)完整性主要是指數(shù)據(jù)的正確性和相容性。當(dāng)用戶在對數(shù)據(jù)進(jìn)行的各種操作中發(fā)生差錯(cuò)時(shí),數(shù)據(jù)庫系統(tǒng)應(yīng)有一定的檢驗(yàn)及約束機(jī)制,以保證數(shù)據(jù)的有效性。在VFP中允許設(shè)置三級驗(yàn)證:字段級驗(yàn)證、記錄級驗(yàn)證和參照完整性。
17、VFP能提供哪幾種基本的程序控制結(jié)構(gòu)?
答題要點(diǎn):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)按命令的書寫順序依次執(zhí)行;分支結(jié)構(gòu)能根據(jù)指定條件的當(dāng)前值在兩條或多條程序路徑中選擇一條執(zhí)行;而循環(huán)結(jié)構(gòu)則由指定條件的當(dāng)前值來控制循環(huán)體中的語句序列是否要重復(fù)執(zhí)行。
18、試比較子程序、自定義函數(shù)和過程三者的異同。
答題要點(diǎn):子程序、自定義函數(shù)和過程都是可以命名的一個(gè)程序段,是功能相關(guān)而又相對獨(dú)立的模塊。三者定義的格式各有不同,子程序和過程均通過DO命令調(diào)用,而自定義函數(shù)則主要在表達(dá)式中調(diào)用。
19、程序調(diào)試的目的是什么?程序中常見的錯(cuò)誤有哪幾種?
答題要點(diǎn):程序調(diào)試的目的是檢查并糾正程序中的錯(cuò)誤,以保證程序的可靠運(yùn)行。程序中常見的錯(cuò)誤有:語法錯(cuò)誤、超出系統(tǒng)允許范圍的錯(cuò)誤和邏輯錯(cuò)誤。
20、什么是目標(biāo)程序?試寫出幾種VFP目標(biāo)程序的擴(kuò)展名。
答題要點(diǎn):對VFP程序進(jìn)行編譯就得到目標(biāo)程序,目標(biāo)程序是緊湊的非文本文件,運(yùn)行速度快,并可起到對源程序加密的作用。擴(kuò)展名為:.FXP、.QPX、.MP等的文件均為目標(biāo)程序。
第四篇:VF程序設(shè)計(jì)教學(xué)大綱
《VF程序設(shè)計(jì)》教學(xué)大綱
一、課程名稱:《VF程序設(shè)計(jì)》
課程負(fù)責(zé)人:袁明蘭
二、學(xué)時(shí)與學(xué)分:48
三、適應(yīng)專業(yè):外語、建筑設(shè)計(jì)技術(shù)、工程監(jiān)理、藝術(shù)、旅游等專業(yè)
四、課程教材:張彥芳等編著《Visual FoxPro程序設(shè)計(jì)》,中國地質(zhì)大學(xué)出版社,2011年
五、參考教材:蘇忠等.Visual Foxpro 6.0中文版應(yīng)用與開發(fā).電子工業(yè)出版社,2003 楊國才編著《Visual FoxPro程序設(shè)計(jì)》,重慶大學(xué)出版社,2002年
謝膺白.Visual Foxpro 6.0中文版教程.人民郵電出版社,2002 肖金秀.新編Visual Foxpro 6.0應(yīng)用基礎(chǔ)教程.中國石化出版社,2011
六、課程的性質(zhì)、目的和任務(wù):
本課程是非計(jì)算機(jī)專業(yè)的主要公共基礎(chǔ)課。
通過本課程的學(xué)習(xí),使非計(jì)算機(jī)專業(yè)的學(xué)生掌握數(shù)據(jù)庫的基本概念和VFP的基礎(chǔ)知識,熟練掌握數(shù)據(jù)庫的基本操作,并能進(jìn)行初步的程序設(shè)計(jì),能應(yīng)用VFP進(jìn)行數(shù)據(jù)庫管理。
七、課程的基本要求:
通過理論教學(xué)和實(shí)驗(yàn)教學(xué),達(dá)到如下基本要求。
1.了解計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展、掌握數(shù)據(jù)系統(tǒng)、關(guān)系數(shù)據(jù)庫的基本概念,掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的概念,理解數(shù)據(jù)的一致性和完整性。
2.了解Visual FoxPro的發(fā)展、特點(diǎn)及安裝,掌握Visual FoxPro 6.0的啟動(dòng)與關(guān)閉。熟悉Visual FoxPro 6.0系統(tǒng)界面,理解其幾種工作方式。了解項(xiàng)目管理器、常用項(xiàng)目元素與文件類型、創(chuàng)建項(xiàng)目文件,及項(xiàng)目管理器的使用。
3.掌握常量與變量、數(shù)據(jù)類型,了解常用的文件類型,掌握幾種常用函數(shù)的應(yīng)用、運(yùn)算符與表達(dá)式的應(yīng)用,掌握內(nèi)存變量的幾種操作,掌握數(shù)組的應(yīng)用。理解Visual FoxPro 6.0命令及命令和子句的使用規(guī)則。
4.掌握數(shù)據(jù)表的基本操作(表結(jié)構(gòu)及字段的基本要素、表的創(chuàng)建和修改[使用表設(shè)計(jì)器]、表的打開與關(guān)閉、數(shù)據(jù)記錄的輸入、顯示和編輯、錄指針與定位、邏輯與物理刪除表的記錄、記錄的復(fù)制與添加、表的索引、表的查詢、表的運(yùn)算等),掌握多表工作區(qū)及其應(yīng)用。
5.理解數(shù)據(jù)庫的概念與基本組成、掌握數(shù)據(jù)庫的基本操作、理解數(shù)據(jù)庫表的數(shù)據(jù)完整性、熟練掌握數(shù)據(jù)庫表之間的關(guān)聯(lián)、了解參照完整性。
6.理解程序與結(jié)構(gòu)化程序設(shè)計(jì)的基本概念,掌握程序文件的建立、執(zhí)行與編輯,掌握程序設(shè)計(jì)的基本命令,掌握程序的基本控制結(jié)構(gòu),掌握變量的作用域
與生存期,理解模塊化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì),掌握子程序和過程與自定義函數(shù)及其調(diào)用,學(xué)會程序的調(diào)試,熟練掌握結(jié)構(gòu)化程序設(shè)計(jì)簡單應(yīng)用。
7.掌握面向?qū)ο蟮幕靖拍?、掌握對象及其屬性、事件、方法,了解類的?chuàng)建與使用。
8.熟練掌握表單的創(chuàng)建與管理,掌握猜數(shù)游戲設(shè)計(jì)、計(jì)算器設(shè)計(jì)、學(xué)生成績查詢與修改界面設(shè)計(jì)、軟件登錄界面與權(quán)限設(shè)計(jì)。
9.理解查詢的概念、掌握用查詢設(shè)計(jì)器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運(yùn)行查詢。了解用視圖設(shè)計(jì)器創(chuàng)建本地視圖、了解用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。
10.了解SQL語言概述、熟練掌握SQL語句對數(shù)據(jù)表的操作(創(chuàng)建數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運(yùn)算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)。
11.了解菜單設(shè)計(jì)器、標(biāo)準(zhǔn)菜單及快捷菜單的設(shè)計(jì)。了解報(bào)表基本概念、報(bào)表的數(shù)據(jù)來源、報(bào)表設(shè)計(jì)器,了解報(bào)表的創(chuàng)建(用報(bào)表向?qū)?chuàng)建、用報(bào)表設(shè)計(jì)器創(chuàng)建),了解設(shè)置報(bào)表(給報(bào)表添加帶區(qū)、改變報(bào)表的列標(biāo)簽、修改報(bào)表表達(dá)式、增加表格線、頁面設(shè)置、字體設(shè)置、布局設(shè)置、在報(bào)表中使用數(shù)據(jù)分組、匯總區(qū)),了解使用報(bào)表(報(bào)表命令、報(bào)表預(yù)覽和打印機(jī)設(shè)置),了解標(biāo)簽設(shè)計(jì)。
12.了解應(yīng)用需求分析、數(shù)據(jù)庫與表設(shè)計(jì)、系統(tǒng)功能模塊設(shè)計(jì)、菜單設(shè)計(jì)、用戶界面設(shè)計(jì)、查詢設(shè)計(jì)、.報(bào)表設(shè)計(jì)、系統(tǒng)維護(hù)設(shè)計(jì)、系統(tǒng)模塊調(diào)試、用項(xiàng)目管理器連編成應(yīng)用程序、應(yīng)用程序管理、發(fā)布樹、應(yīng)用程序發(fā)布和安裝。
八、課程的主要內(nèi)容:
㈠ 理論教學(xué) 1.數(shù)據(jù)庫基礎(chǔ)知識 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的基本概念、數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展;數(shù)據(jù)庫系統(tǒng)的組成及體系結(jié)構(gòu);數(shù)據(jù)庫管理系統(tǒng)(DBMS)的功能;關(guān)系模式的基本術(shù)語、主要操作和數(shù)據(jù)完整性約束;面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念(包括類、對象、事件、方法和屬性等)。
2.Visual FoxPro 系統(tǒng)簡介
Visual FoxPro的發(fā)展、特點(diǎn)及安裝、啟動(dòng)與關(guān)閉。Visual FoxPro 6.0系統(tǒng)界面、幾種工作方式,項(xiàng)目管理器、及項(xiàng)目管理器的使用。3.Visual Foxpro應(yīng)用基礎(chǔ)
常量與變量、數(shù)據(jù)類型,文件類型、幾種常用函數(shù)、運(yùn)算符與表達(dá)式的應(yīng)用,內(nèi)存變量的幾種操作,數(shù)組的應(yīng)用,Visual FoxPro 6.0命令及命令和子句的使用規(guī)則。
4.數(shù)據(jù)表的基本操作 數(shù)據(jù)表的基本操作(表結(jié)構(gòu)及字段的基本要素、表的創(chuàng)建和修改[使用表設(shè)計(jì)器]、表的打開與關(guān)閉、數(shù)據(jù)記錄的輸入、顯示和編輯、錄指針與定位、邏輯與物理刪除表的記錄、記錄的復(fù)制與添加、表的索引、表的查詢、表的運(yùn)算等),多表工作區(qū)及其應(yīng)用。
5.結(jié)構(gòu)化程序設(shè)計(jì)
程序與結(jié)構(gòu)化程序設(shè)計(jì)的基本概念,程序文件的建立、執(zhí)行與編輯,程序設(shè)計(jì)的基本命令,程序的基本控制結(jié)構(gòu),變量的作用域與生存期,模塊化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì),子程序和過程與自定義函數(shù)及其調(diào)用,程序的調(diào)試。6.數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫的概念與基本組成、數(shù)據(jù)庫設(shè)計(jì)器的使用、數(shù)據(jù)庫的建立、打開與關(guān)閉(命令)、數(shù)據(jù)庫表的數(shù)據(jù)完整性、數(shù)據(jù)庫表之間的關(guān)聯(lián)、參照完整性。7.面向?qū)ο蟪绦蛟O(shè)計(jì)初步
面向?qū)ο蟮幕靖拍?、對象及其屬性、事件、方法,類的?chuàng)建與使用。8.表單與控件
表單的創(chuàng)建與管理,猜數(shù)游戲設(shè)計(jì)、計(jì)算器設(shè)計(jì)、學(xué)生成績查詢與修改界面設(shè)計(jì)、軟件登錄界面與權(quán)限設(shè)計(jì)。9.菜單設(shè)計(jì)
菜單設(shè)計(jì)器、標(biāo)準(zhǔn)菜單及快捷菜單的設(shè)計(jì)。10.查詢與視圖
查詢的概念、用查詢設(shè)計(jì)器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運(yùn)行查詢。用視圖設(shè)計(jì)器創(chuàng)建本地視圖、用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。SQL語言概述,對數(shù)據(jù)表的操作(創(chuàng)建(數(shù)據(jù)庫和)數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運(yùn)算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)11.報(bào)表與標(biāo)簽設(shè)計(jì)
查詢的概念、用查詢設(shè)計(jì)器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運(yùn)行查詢。用視圖設(shè)計(jì)器創(chuàng)建本地視圖、用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。SQL語言概述,對數(shù)據(jù)表的操作(創(chuàng)建(數(shù)據(jù)庫和)數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運(yùn)算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)。12.應(yīng)用程序的開發(fā)與發(fā)布過程
應(yīng)用需求分析、數(shù)據(jù)庫與表設(shè)計(jì)、系統(tǒng)功能模塊設(shè)計(jì)、菜單設(shè)計(jì)、用戶界面設(shè)計(jì)、查詢設(shè)計(jì)、.報(bào)表設(shè)計(jì)、系統(tǒng)維護(hù)設(shè)計(jì)、系統(tǒng)模塊調(diào)試、用項(xiàng)目管理器連編成應(yīng)用程序、應(yīng)用程序管理、發(fā)布樹、應(yīng)用程序發(fā)布和安裝。
九、先修課程:
本課程是非計(jì)算機(jī)專業(yè)的基礎(chǔ)課,其先修課程是計(jì)算機(jī)文化基礎(chǔ)。
十、考核方式:
理論教學(xué)部分占70%,實(shí)驗(yàn)教學(xué)部分占30%,理論教學(xué)部分集中筆試,實(shí)驗(yàn)教學(xué)部分以完成16個(gè)實(shí)驗(yàn)和上機(jī)考試進(jìn)行考核。
十一、學(xué)時(shí)分配:
講授: 48 學(xué)時(shí)
1.數(shù)據(jù)庫基礎(chǔ)知識
2學(xué)時(shí) 2.Visual FoxPro 系統(tǒng)簡介
2學(xué)時(shí) 3.Visual Foxpro應(yīng)用基
4學(xué)時(shí)
4.數(shù)據(jù)表的基本操作
10學(xué)時(shí) 5.程序設(shè)計(jì)
14學(xué)時(shí) 6.數(shù)據(jù)庫設(shè)計(jì)
1學(xué)時(shí) 7.面向?qū)ο蟪绦蛟O(shè)計(jì)初步
2學(xué)時(shí) 8.表單與控件
6學(xué)時(shí) 9.菜單設(shè)計(jì)
1學(xué)時(shí) 10.查詢與視圖
2學(xué)時(shí) 11.報(bào)表與標(biāo)簽設(shè)計(jì) 1學(xué)時(shí) 12.應(yīng)用程序的開發(fā)與發(fā)布過程 1
學(xué)時(shí)
第五篇:VF基礎(chǔ)教案
第2章Visual FoxPro 6.0概述
2.1 Visual FoxPro的安裝、啟動(dòng)與關(guān)閉 2.1.1 Visual FoxPro 6.0 的安裝
中文Visual FoxPro 可以從CD-ROM或網(wǎng)絡(luò)上安裝。以下介紹三種從CD-ROM上安裝Visual FoxPro 的方法。
1.直接啟動(dòng)CD-ROM
2.直接運(yùn)行安裝程序
3.使用Windows 安裝 2.1.2 Visual FoxPro 6.0的啟動(dòng)與關(guān)閉
一、Visual FoxPro 6.0的啟動(dòng)
啟動(dòng)Visual FoxPro有多種方法,可采用以下三種方式之一。
1.從“開始”菜單啟動(dòng)
2.從“運(yùn)行”對話框中啟動(dòng)
3.從資源管理器中啟動(dòng)
4.雙擊Visual Foxpro6.0快捷圖標(biāo)
二、Visual FoxPro 6.0的退出
(1)在Microsoft Visual FoxPro主菜單中,打開“文件”菜單,選擇“退出”選項(xiàng);
(2)按Alt+F4組合鍵;
(3)按Ctrl+Alt+Del組合鍵,進(jìn)入“關(guān)閉程序”窗口,按“結(jié)束任務(wù)”按鈕;
(4)在Microsoft Visual FoxPro的系統(tǒng)環(huán)境窗口,單擊其右上角的“退出”按鈕;
(5)在“命令”窗口,輸入命令Quit。2.2 Visual FoxPro 6.0系統(tǒng)運(yùn)行環(huán)境的配置
Visual FoxPro系統(tǒng)環(huán)境的配置,決定了Visual FoxPro系統(tǒng)的操作環(huán)境和工作方式。
單擊“工具”-> “選項(xiàng)”可以打開選項(xiàng)選窗口,在“選項(xiàng)”窗口中,有12種不同類別的環(huán)境選項(xiàng)卡,用戶可以根據(jù)操作的需要通過“選項(xiàng)”窗口中的各種選項(xiàng)卡,確定或修改設(shè)置每一個(gè)參數(shù),從而確定Visual FoxPro的系統(tǒng)環(huán)境.2.2.1 設(shè)置默認(rèn)工作目錄
VF有其默認(rèn)的工作目錄,就是系統(tǒng)文件所在的VF6.0目錄,但是,為了管理,用戶最好還是設(shè)置自己的工作目錄以保存所建的文件 設(shè)置默認(rèn)路徑的方法: “工具”->“選項(xiàng)”->文件位置 使用命令設(shè)置:
SET DEFA TO <默認(rèn)路徑> 功能:設(shè)置默認(rèn)路徑 例:
SET DEFA TO D:WMQ SET DEFA TO E:200723 2.2.2 設(shè)置日期的表示格式 設(shè)置日期時(shí)間格式: “工具”->“選項(xiàng)”->“區(qū)域”
2.3 Visual FoxPro 6.0的系統(tǒng)窗口
Visual FoxPro的界面
Visual FoxPro界面,是由標(biāo)題欄、菜單欄、工具欄、工作區(qū)、狀態(tài)欄和命令窗口組成的。
一、標(biāo)題欄
標(biāo)題欄位于屏幕界面的第一行,它包含系統(tǒng)程序圖標(biāo)、主屏幕標(biāo)題、最小化按鈕、最大化按鈕和關(guān)閉按鈕5個(gè)對象。
二、菜單欄
菜單欄位于屏幕的第二行,它包含文件、編輯、顯示、格式、工具、程序、窗口和幫助8個(gè)菜單選項(xiàng)。
當(dāng)單擊其中一個(gè)菜單選項(xiàng)時(shí),就可以打開一個(gè)對應(yīng)的“下拉式”菜單,在該“下拉式”菜單下,通常還有若干個(gè)子菜單選項(xiàng),當(dāng)選擇其中一個(gè)子菜單選項(xiàng)時(shí),就可以執(zhí)行一個(gè)操作。
三、工具欄
Visual FoxPro系統(tǒng)提供了11種常用的工具欄:
(1)常用工具欄(2)布局工具欄
(3)表單控件工具欄(4)表單設(shè)計(jì)器工具欄
(5)查詢設(shè)計(jì)器工具欄(6)視圖設(shè)計(jì)器工具欄
(7)數(shù)據(jù)庫設(shè)計(jì)器工具欄(8)報(bào)表控件工具欄
(9)報(bào)表設(shè)計(jì)器工具欄(10)調(diào)色板工具欄
(11)打印預(yù)覽工具欄
四、命令窗口
命令窗口位于菜單欄和狀態(tài)欄之間,是Visual FoxPro系統(tǒng)命令執(zhí)行、編輯的窗口。在命令窗口中,可以輸入命令實(shí)現(xiàn)對數(shù)據(jù)庫的操作管理;也可以用各種編輯工具對操作命令進(jìn)行修改、插入、刪除、剪切、拷貝、粘貼等操作;還可以在此窗口建立命令文件并運(yùn)行命令文件。
在“窗口”菜單下,選擇“隱藏”,可以關(guān)閉命令窗口;選擇“命令窗口”,可以彈出命令窗口。
五、工作區(qū)與狀態(tài)行
狀態(tài)行位于屏幕的最底部,用于顯示某一時(shí)刻的管理數(shù)據(jù)的工作狀態(tài)。(1)Set Status off/ on,可控制屏幕上的狀態(tài)行是否出現(xiàn)。
(2)如果當(dāng)前工作區(qū)中沒有表文件打開,狀態(tài)行的內(nèi)容是空白;如果當(dāng)前工作區(qū)中有表文件打開,狀態(tài)行顯示表名、表所在的數(shù)據(jù)庫名、表中當(dāng)前記錄的記錄號、表中的記錄總數(shù)、表中的當(dāng)前記錄的共享狀態(tài)等內(nèi)容。
2.4 可視化管理工具
1、設(shè)計(jì)器
通過設(shè)計(jì)器可以方便地對表、表單、數(shù)據(jù)庫、查詢和報(bào)表等進(jìn)行管理。
2、向?qū)?/p>
通過用戶對問題的回答或?qū)x項(xiàng)的選擇,向?qū)?chuàng)建相應(yīng)的文件或執(zhí)行某一項(xiàng)任務(wù)。
3、生成器 是一種可視化的輔助工具,用來幫助擁護(hù)按要求設(shè)計(jì)各種控件的表現(xiàn)形式。2.5 Visual Foxpro 6.0的工作方式 Visual FoxPro 6.0提供了兩種工作方式:
? ? 交互方式(可執(zhí)行方式和可視化操作方式)程序方式
2.5.1 交互方式
包括命令執(zhí)行方式和可視化操作方式。
1、命令執(zhí)行方式
Visual FoxPro 6.0提供命令方式主要有兩種目的,一是對數(shù)據(jù)庫的操作使用命令比使用菜單或工具欄要快捷而靈活;另一方面,熟悉命令操作是程序開發(fā)的基礎(chǔ)。
Visual FoxPro 6.0提供了命令窗口用于輸入執(zhí)行命令。
Visual FoxPro 6.0中的命令采用近似于自然語言的結(jié)構(gòu)。
Visual FoxPro 6.0中的命令不區(qū)分大小寫,即命令可以用大寫字母也可以用小寫字母書寫。另外,對于較長的命令可以只輸入命令的前四個(gè)字母。
Foxpro提供了多條命令,命令中常出現(xiàn)的一些符號有:(P19)
<....> 必選項(xiàng)
[....]
可選項(xiàng)
...|... 擇一選項(xiàng) 這些符號在實(shí)際使用時(shí)不必輸入. 命令的一般格式為:
命令動(dòng)詞 [<范圍>][fields<字段名表>][for <條件>] 其中:
命令動(dòng)詞:決定此命令的功能,一般為英文動(dòng)詞. 范圍:表示記錄的操作范圍,有]四種形式:
ALL 表示對數(shù)據(jù)庫中的所有記錄進(jìn)行操作。?
RECORD N
表示僅對第N條記錄進(jìn)行操作 ?
NEXT N 表示從當(dāng)前記錄開始共N個(gè)記錄
REST
表示從當(dāng)前記錄開始到文件結(jié)束的所有記錄
Fileds:說明數(shù)據(jù)庫的字段名稱,不選此項(xiàng),則表示選擇所有字段 命令書寫規(guī)則 ? ? ? ? ? 任何命令必須以命令動(dòng)詞開頭, 大小寫不限,其后的各項(xiàng)順序不限。各子句之間用空格分隔。
命令可縮寫成前4個(gè)字母,但不提倡
一行寫不下時(shí),在行末用續(xù)行符“;”,并在下行繼續(xù)書寫 一行只能寫一條命令語句
例如,顯示xsda數(shù)據(jù)表中所有不住校的女生的姓名、年齡
use xsda
list all fields 姓名,年齡
for 住校否=.F.and 性別=’女’
2、可視化操作方式
可視化操作方式包括:菜單方式、設(shè)計(jì)器方式、向?qū)Х绞健?/p>
在VisualFoxpro系統(tǒng)中,通過菜單、窗口、對話框、工具欄等圖形界面,可以直接操作數(shù)據(jù)表、視圖、查詢、表單、報(bào)表等,并以窗口的方式把結(jié)果顯示給用戶。
2.5.2 程序執(zhí)行方式
Visual FoxPro 6.0提供了一個(gè)程序編輯器,可以使用MODIFY COMMAND 命令打開程序編輯器,或者從“文件”菜單中選擇“新建”命令,在彈出的“新建”對話框中選擇“程序”單選項(xiàng),最后單擊“新建文件”按鈕即可打開程序編輯器。
2.6 Visual Foxpro 6.0的主要性能指標(biāo) 主要性能指標(biāo)有:
1、每個(gè)數(shù)據(jù)庫最多記錄數(shù)為10億個(gè)
2、每條記錄可包含的字段個(gè)數(shù)最多為225個(gè)
3、每條記錄最多字符數(shù)為655000個(gè)字節(jié)
4、字段型字段最大寬度(即最多可容納的字符數(shù))為254個(gè)字節(jié)。
5、數(shù)值型字段最大寬度為20位,精度為16位
6、有32767個(gè)工作區(qū),可同時(shí)打開的數(shù)據(jù)庫文件最多32767個(gè)。
7、可使用的內(nèi)存變量默認(rèn)總數(shù)位256個(gè),最多為65000個(gè)。最大數(shù)組個(gè)數(shù)為65000個(gè),每個(gè)數(shù)組的最多的元素?cái)?shù)為65000個(gè)。