VB 背單詞 課程設(shè)計(jì)_第1頁
VB 背單詞 課程設(shè)計(jì)_第2頁
VB 背單詞 課程設(shè)計(jì)_第3頁
VB 背單詞 課程設(shè)計(jì)_第4頁
VB 背單詞 課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、背單詞軟件是英語學(xué)習(xí)類軟件的分支,是專門針對(duì)用戶背誦英語單詞,掌握詞匯量而制作的輔助學(xué)習(xí)軟件。由于媒介為個(gè)人電腦,所以背單詞軟件有著其它背單詞工具無法達(dá)到的智能化與互動(dòng)性,但相對(duì)應(yīng)的,過于依賴電腦和較差的便攜性成為其缺陷。所以作為背單詞的軟件的設(shè)計(jì)思路應(yīng)該簡單為原則。用戶操作必須簡單、方便為原則。(1) 本題目共提供了“大學(xué)英語四級(jí)詞匯”和“大學(xué)英語六級(jí)詞匯”兩個(gè)詞庫文件(分別是grade4.txt和grade6.txt),通過“詞庫設(shè)置”中的“詞庫”組合框可以選擇想要的詞庫。默認(rèn)的詞庫是“大學(xué)英語四級(jí)詞匯”。(2) 為了便于用戶使用,程序允許選擇想要記憶的單詞范圍。默認(rèn)的單詞范圍是“A至Z”

2、,即全部單詞。如果選擇的范圍是“A至C”,那么程序只顯示以A、B和C字母開頭的單詞。程序應(yīng)保證“起始字母”在“終止字母”之前,即不會(huì)出現(xiàn)類似于“C至A”的情況。(3) 據(jù)需要選擇“隨機(jī)”或“循環(huán)”復(fù)選框。如果不選擇“隨機(jī)”,則顯示單詞時(shí)是以單詞在詞庫中的順序(即字母的順序)顯示的,否則以隨機(jī)順序顯示。如果不選擇“循環(huán)”復(fù)選框,單詞顯示一遍之后自動(dòng)停止回到起始狀態(tài)。如果選擇了“循環(huán)”復(fù)選框,顯示一遍之后會(huì)自動(dòng)從頭開始顯示。在隨機(jī)方式之下,循環(huán)是沒有意義的,所以當(dāng)“隨機(jī)”復(fù)選框選定時(shí),“循環(huán)”復(fù)選框應(yīng)變?yōu)闊o效且呈現(xiàn)未選定狀態(tài)。(4) 畢后,單擊“開始”按鈕,窗口最上方顯示區(qū)域從右向左以字幕方式動(dòng)態(tài)

3、顯示所選的單詞,包括詞性和詞義。在顯示過程中可以改變字體大小、滾動(dòng)速度和背景顯示顏色。單擊“暫停”按鈕可以暫停滾動(dòng),這時(shí)“暫停”按鈕變?yōu)椤袄^續(xù)”,單擊會(huì)繼續(xù)滾動(dòng)。單擊“退出”按鈕退出主界面。(一) 主要界面A、首界面:可以選擇“點(diǎn)擊進(jìn)入”按鈕或者“退出”按鈕,繼續(xù)程序。B、選擇點(diǎn)擊進(jìn)入之后,進(jìn)入主程序界面。C、單擊使用說明按鈕,彈出對(duì)話框。(二) 關(guān)鍵控件A、 按鈕控件:本程序中運(yùn)用大量按鈕控件,分別控制首界面中“點(diǎn)擊進(jìn)入”、“退出”,主程序界面中“開始”、“暫停”、“退出”、“使用說明”以及滾動(dòng)條兩側(cè)“左移”、“右移”功能。在首界面中,單擊“點(diǎn)擊進(jìn)入”按鈕后,首界面消失,進(jìn)入主程序界面。單擊

4、“退出”按鈕,彈出”是否退出”的對(duì)話框。在主程序界面中,單擊“開始”按鈕之前, “暫停”按鈕為灰顯狀態(tài)。單擊“開始”按鈕,滾動(dòng)條開始滾動(dòng),此時(shí)單擊“暫停”按鈕,滾動(dòng)條停止?jié)L動(dòng),“暫停”按鈕變更為“繼續(xù)”按鈕,單擊”繼續(xù)“按鈕,滾動(dòng)條繼續(xù)滾動(dòng)。單擊“退出”按鈕,回歸首界面。單擊“使用說明”,彈出“使用說明”窗體。點(diǎn)擊“左移” 、“右移”按鈕,滾動(dòng)條相應(yīng)左右移動(dòng)。B、 標(biāo)簽控件:本程序使用大量標(biāo)簽控件,以便標(biāo)注各個(gè)控件的功能。C、 組合框控件本程序中共有三個(gè)組合框,分別控制詞庫范圍(大學(xué)英語四級(jí)詞匯、大學(xué)英語六級(jí)詞匯)、首字母范圍的選擇。D、 滾動(dòng)條控件本程序中共有四個(gè)滾動(dòng)條控件,分別控制滾動(dòng)速度

5、、滾動(dòng)條背景顏色的更改。E、 復(fù)選框控件通過對(duì)復(fù)選框按鈕的選擇,選擇播放方式(隨機(jī)、循環(huán))。點(diǎn)擊“隨機(jī)”框 ,“循環(huán)”框?yàn)榛绎@狀態(tài),滾動(dòng)單詞內(nèi)容隨機(jī)播放。點(diǎn)擊“循環(huán)”框,選擇首字母范圍之后,在該字母范圍內(nèi)循環(huán)播放。F、 單選按鈕控件通過對(duì)單選按鈕的選擇,選擇滾動(dòng)字體的大小。單擊“大字體”框時(shí),字體變?yōu)?0號(hào)字。單擊“小字體”框時(shí),字體為14號(hào)字。G、 圖像框控件首界面中圖片的放置。H、 文本框控件構(gòu)成滾動(dòng)字體(三)關(guān)鍵技術(shù)A、時(shí)鐘與滾動(dòng) 將時(shí)鐘的Interval設(shè)定為顯示速度滾動(dòng)條的值的線性函數(shù)(Timer1.Interval = HScroll1.Value * 20),時(shí)鐘的速度便由滾動(dòng)條

6、的值控制,成為為可調(diào)的。為了循環(huán)的執(zhí)行,這里定義一個(gè)隨機(jī)變量k。隨著時(shí)鐘計(jì)時(shí),當(dāng)text1中顯示內(nèi)容從左起的第一個(gè)字符的ASCII碼大于零,則其字幕顯示為前一個(gè)詞從第四位開始取長度為這個(gè)詞長度減三的部分和后一個(gè)詞前三位部分,k=k+3。而當(dāng)text1中顯示內(nèi)容從左起的第一個(gè)字符的ASCII碼小于零,則其字幕顯示為前一個(gè)詞從第二位開始取長度為這個(gè)詞長度減一的部分和后一個(gè)詞第一位部分,k=k+1。如此便形成了字幕可以以不同速度滾動(dòng)的效果。B、詞庫選擇與調(diào)用文檔 當(dāng)詞庫選擇的組合框1選擇大學(xué)英語四級(jí)詞匯時(shí),便open大學(xué)英語四級(jí)詞匯的文本文檔命名為#1以input形式使用;當(dāng)詞庫選擇的組合框1選擇大

7、學(xué)英語六級(jí)詞匯時(shí),便open大學(xué)英語六級(jí)詞匯的文本文檔命名為#1以input形式使用。注意:文檔中的單詞按順序排列,一行一個(gè),首字前有四個(gè)空格,每一次首字母變化前加入書寫“/”的一行,以便后面設(shè)定范圍之用。通過while循環(huán),文檔內(nèi)容以字符串nextline按行輸入遇到“/”則顯示空白。C、范圍設(shè)定 范圍設(shè)定有兩個(gè)方面。1)若下限比上限小,下限設(shè)定為空白。如此便滿足了下限不比上限小的要求。2)組合框2和3 是用來設(shè)定范圍的,他們的每個(gè)選項(xiàng)都有一個(gè)編號(hào)ListIndex。設(shè)定上限時(shí),我們?cè)僖淮斡玫紸SCII碼。當(dāng)用來存放nextline的數(shù)組s( )的元素s(m)的第五位(即單詞首字母)的ASC

8、II碼比組合框2 的ListIndex+96的值大的時(shí)候,用來存放有效字符串的數(shù)組t(r)的下標(biāo)r開始計(jì)數(shù)。令s(m)=t(r),則上限設(shè)定成功。設(shè)定下限時(shí),我們用變量j 來對(duì)“ /”計(jì)數(shù)。當(dāng)j比組合框3的ListIndex大時(shí),跳出while循環(huán)。如此,下限便得到了控制。 D、對(duì)隨機(jī)顯示的控制 未選擇復(fù)選框1時(shí),用for循環(huán)按Text1.Text = Text1.Text & t(n)使字幕順序顯示;選擇時(shí),用Randomize產(chǎn)生1到r-1之間的隨機(jī)數(shù),將r的值依次存入到數(shù)組a(n)中,用for循環(huán)按 Text1.Text = Text1.Text & t(a(n)使字幕隨

9、機(jī)顯示。 E、循環(huán)控制 由于時(shí)鐘不會(huì)停,系統(tǒng)默認(rèn)的是循環(huán),所以我們只需對(duì)不選復(fù)選框2的情況進(jìn)行控制。我們?cè)贏中提到的k值,在這里開始顯示作用。當(dāng)k的值大于text1顯示內(nèi)容的總長度后,輸出空白,即不循環(huán)。F、字幕的左右移動(dòng) 當(dāng)點(diǎn)擊按鈕5時(shí),我們用Text1.Text = Mid(Text1.Text, 11, Len(Text1.Text) - 10) & Left(Text1.Text, 10)來使字幕左移;當(dāng)點(diǎn)擊按鈕6時(shí),我們用 Text1.Text = Mid(Text1.Text, Len(Text1.Text) - 9, 10) & Left(Text1.Text,

10、Len(Text1.Text) - 10)來使字幕右移。五、軟件運(yùn)行結(jié)果(1)、運(yùn)行程序,可顯示一個(gè)背單詞的首界面。“點(diǎn)擊進(jìn)入”即可進(jìn)入背單詞的主界面(2)、提供了“大學(xué)英語四級(jí)詞匯”和“大學(xué)英語六級(jí)詞匯”兩個(gè)詞庫文件,通過“詞庫”組合框可以選擇想要的題庫,默認(rèn)的詞庫是“大學(xué)英語四級(jí)詞匯”。(3)、為了便于用戶使用,可以選擇想要記憶的單詞范圍,默認(rèn)的單詞范圍是“AZ”。.(4)、根據(jù)需要選擇“隨機(jī)”或“循環(huán)”復(fù)選框。如果二者都不選,則默認(rèn)顯示單詞表顯示到最后一個(gè)單詞即停止;如果選擇“隨機(jī)”復(fù)選框,“循環(huán)”復(fù)選框變?yōu)闊o效且不可選定狀態(tài)。如果選擇了“循環(huán)”復(fù)選框,顯示一遍之后會(huì)自動(dòng)從頭開始顯示。(

11、5)、通過“其他設(shè)置”中的“字體大小”單選框可以選擇滾動(dòng)單詞時(shí)的字體大小。(6)、通過操作滾動(dòng)條可以設(shè)置字幕滾動(dòng)速度。(7)、通過顏色設(shè)置里面對(duì)R、G、B的調(diào)節(jié)可以實(shí)現(xiàn)對(duì)顯示單詞欄背景顏色的調(diào)整。(8)、設(shè)置完畢后,單擊“開始”按鈕,窗口最上方顯示區(qū)域從右向左以字幕方式動(dòng)態(tài)顯示所選的單詞,包括詞性和詞義,如圖14.4所示。在顯示過程中可以改變字體大小、滾動(dòng)速度和顯示顏色。單擊“暫停”按鈕可以暫停滾動(dòng),這時(shí)“暫停”按鈕變?yōu)椤袄^續(xù)”,單擊會(huì)繼續(xù)滾動(dòng)。(9)、單擊該主界面的“退出”,立即回到我們的進(jìn)入界面,繼續(xù)單擊“退出”,即可完全退出背單詞程序。(10)、若對(duì)本運(yùn)行軟件操作有疑問,進(jìn)入主界面后可以

12、單擊左下角的使用說明。源程序(1)主界面(Form1):Dim i%, k%, m%, r%Private Sub Check1_Click()Check2.Value = 0If Check1.Value = 1 ThenCheck2.Enabled = FalseElseCheck2.Enabled = TrueEnd IfEnd Sub實(shí)現(xiàn)隨機(jī)與循環(huán)復(fù)選框的選擇Private Sub Combo2_click()Combo3_ClickEnd SubPrivate Sub Combo3_Click()If Combo3.ListIndex < Combo2.ListIndex Th

13、enCombo3.Text = ""End IfEnd Sub防止出現(xiàn)上標(biāo)大于下標(biāo)出現(xiàn)Private Sub Command1_Click()Command2.Enabled = TrueDim j%, n%Dim s() As StringDim t() As Stringj = 0k = 0m = 0r = 0Timer1.Interval = HScroll1.Value * 20If Combo1.Text = "大學(xué)英語四級(jí)詞匯" ThenOpen "E:背單詞程序完整大學(xué)英語四級(jí).txt" For Input As #1E

14、lseIf Combo1.Text = "大學(xué)英語六級(jí)詞匯" ThenOpen "E:背單詞程序完整大學(xué)英語六級(jí)詞匯.txt" For Input As #1End If詞庫選擇Do While Not EOF(1)On Error Resume NextLine Input #1, nextlinem = m + 1ReDim Preserve s(m)s(m) = nextlineIf nextline = " /" Thenj = j + 1s(m) = ""End IfIf Asc(Mid(s(m), 5,

15、 1) > Combo2.ListIndex + 96 Thenr = r + 1ReDim Preserve t(r)t(r) = s(m)End IfIf j > Combo3.ListIndex ThenExit DoEnd IfLoop將詞庫每行數(shù)據(jù)存入s(n)中,下標(biāo)對(duì)應(yīng)行號(hào)。實(shí)現(xiàn)范圍選擇,并將范圍內(nèi)的每行數(shù)據(jù)存入t(r)中,下標(biāo)對(duì)應(yīng)行號(hào)。Select Case Check1.ValueCase 0Text1.Text = ""For n = 1 To rText1.Text = Text1.Text & t(n)Next nText1.Tex

16、t=" " & Text1.Text 未選擇隨機(jī)時(shí)的文本輸出 Case 1Dim a() As StringDim Y%, X%, z%Text1.Text = ""z = r - 1For n = 1 To r - 1RandomizeY = Int(z - 1) * Rnd) + 1ReDim Preserve a(n)a(n) = t(Y)For X = Y To z - 1t(X) = t(X + 1)將t()中已經(jīng)選擇存入a(n)中的元素剔除Next Xz = z - 1Next n將t(r)中的全部元素以隨機(jī)的順序存入a(n)For

17、n = 1 To r - 1Text1.Text = Text1.Text & a(n)Next nText1.Text=" " & Text1.Text 隨機(jī)方式輸出End SelectCloseTimer1.Enabled = TrueIf Command2.Caption = "繼續(xù)" ThenCommand2.Caption = "暫停"i = i + 1End SubPrivate Sub Command2_Click()If i Mod 2 = 0 ThenCommand2.Caption = "

18、繼續(xù)": Timer1.Enabled = FalseElseCommand2.Caption = "暫停": Timer1.Enabled = TrueEnd Ifi = i + 1End SubPrivate Sub Command3_Click()大學(xué)英語四六級(jí).Visible = TrueForm1.Visible = FalseEnd SubPrivate Sub Command4_Click()Form2.Visible = TrueEnd SubPrivate Sub Command5_Click()Text1.Text = Mid(Text1.Te

19、xt, 11, Len(Text1.Text) - 10) & Left(Text1.Text, 10)使?jié)L動(dòng)字幕左移10位End SubPrivate Sub Command6_Click()Text1.Text = Mid(Text1.Text, Len(Text1.Text) - 9, 10) & Left(Text1.Text, Len(Text1.Text) - 10)使?jié)L動(dòng)字幕右移10位End SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2

20、窗口顯示居中Combo1.List(0) = "大學(xué)英語四級(jí)詞匯"Combo1.List(1) = "大學(xué)英語六級(jí)詞匯"Command2.Enabled = FalseCombo1.Text = Combo1.List(0)Combo2.List(0) = "A"Combo2.List(1) = "B"Combo2.List(2) = "C"Combo2.List(3) = "D"Combo2.List(4) = "E"Combo2.List(5) = &

21、quot;F"Combo2.List(6) = "G"Combo2.List(7) = "H"Combo2.List(8) = "I"Combo2.List(9) = "J"Combo2.List(10) = "K"Combo2.List(11) = "L"Combo2.List(12) = "M"Combo2.List(13) = "N"Combo2.List(14) = "O"Combo2.List(1

22、5) = "P"Combo2.List(16) = "Q"Combo2.List(17) = "R"Combo2.List(18) = "S"Combo2.List(19) = "T"Combo2.List(20) = "U"Combo2.List(21) = "V"Combo2.List(22) = "W"Combo2.List(23) = "X"Combo2.List(24) = "Y"Com

23、bo2.List(25) = "Z" Combo2.ListIndex = 0Combo2.Text = Combo2.List(0)Combo3.List(0) = "A"Combo3.List(1) = "B"Combo3.List(2) = "C"Combo3.List(3) = "D"Combo3.List(4) = "E"Combo3.List(5) = "F"Combo3.List(6) = "G"Combo3.List(7

24、) = "H"Combo3.List(8) = "I"Combo3.List(9) = "J"Combo3.List(10) = "K"Combo3.List(11) = "L"Combo3.List(12) = "M"Combo3.List(13) = "N"Combo3.List(14) = "O"Combo3.List(15) = "P"Combo3.List(16) = "Q"Combo3

25、.List(17) = "R"Combo3.List(18) = "S"Combo3.List(19) = "T"Combo3.List(20) = "U"Combo3.List(21) = "V"Combo3.List(22) = "W"Combo3.List(23) = "X"Combo3.List(24) = "Y"Combo3.List(25) = "Z" Combo3.ListIndex = 25Combo

26、3.Text = Combo3.List(25)Option1.Value = TrueCheck1.Value = 0Check2.Value = 0HScroll2.Value = 255HScroll3.Value = 255HScroll4.Value = 255End SubPrivate Sub HScroll1_Change()Timer1.Interval = HScroll1.Value * 20End SubPrivate Sub HScroll2_Change()Text1.BackColor = RGB(HScroll2.Value, HScroll3.Value, H

27、Scroll4.Value)End SubPrivate Sub HScroll3_Change()Text1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)End SubPrivate Sub HScroll4_Change()Text1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)End SubPrivate Sub Option1_Click()If Option1.Value = True ThenText1.FontSize = 14End IfEnd SubPrivate Sub Option2_Click()If Option

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論