轉(zhuǎn)自本文原創(chuàng)作者為本壇的GANZIXIE2514大神:http://www.torrancerestoration.com/bbs/dpj-161699-1.html
打字測(cè)速軟件:實(shí)現(xiàn)測(cè)試用戶打字速度。有開始,退出,清零
2 設(shè)計(jì)方案
2.1 主要思路
要想完成一個(gè)好的打字軟件,應(yīng)該滿足以下功能性能要求:
實(shí)時(shí)識(shí)別字符串的正確與否。
計(jì)算出實(shí)時(shí)的打字速度和所用時(shí)間
按下開始開始計(jì)時(shí)
良好的用戶交互界面
擴(kuò)展提高部分:
打字過程,能夠形象的展示用戶是否輸入正確,方便用戶自我糾錯(cuò)
可以自定義文本,不固定�?梢越o用戶自定義自己想打的文本
目錄
1 設(shè)計(jì)
2 設(shè)計(jì)方案
2.1 主要思路
2.2 算法設(shè)計(jì)
2.3 流程圖
3 源程序
3.1 主VI
3.2 文件選擇子VI
3.3 輸入判斷子VI
4 運(yùn)行結(jié)果與調(diào)試過程
4.1 運(yùn)行結(jié)果
4.2 調(diào)試過程
5 參考文獻(xiàn)
6 心得體會(huì)
2.2 算法設(shè)計(jì)
初始化:清空輸入?yún)^(qū),打字速度,所用時(shí)間,字符串顯示區(qū)。并設(shè)定顯示區(qū)字符默認(rèn)顏色。
打字主程序:確認(rèn)按下開始鍵后,彈出文件選擇窗口,選擇想要輸入的文本文件,然后開始計(jì)時(shí)。所用時(shí)間保持刷新,用戶打字速度=目前輸入正確的字?jǐn)?shù)/當(dāng)前所用時(shí)間。在字符顯示區(qū)并將輸入正確的字變紅,直到用戶正確輸入所有文字,跳出循環(huán)。打字過程中,如果按下清零鍵,則初始化,跳出循環(huán),重新判斷開始鍵是否按下。如果按下退出,則結(jié)束程序。
文件選擇子VI:進(jìn)入循環(huán),跳出文件選擇框,判斷是否選擇了正確文件。無錯(cuò)誤則讀取文本,輸出字符串結(jié)束循環(huán)。錯(cuò)誤則結(jié)束循環(huán)。
字符校對(duì)子VI:輸入:題目文本,用戶輸入字符串;輸出:題目文本,當(dāng)前輸入正確的字符串長(zhǎng)度,用戶時(shí)輸入的字符串是否正確的布爾值,是否用戶已經(jīng)全部輸入完成的布爾值。子VI開始先讀取用戶輸入字符串的字符串長(zhǎng)度,然后截取題目文本同樣的字符串長(zhǎng)度,對(duì)比兩段是否相等。讀取題目文本字符串長(zhǎng)度,對(duì)比當(dāng)前字符串長(zhǎng)度判斷是否已經(jīng)到題目的終點(diǎn)。
2.3 流程圖(2)初始化
(3)文件選擇子VI流程圖 (4)用戶輸入判別正確子VI
(5)打字測(cè)速主循環(huán)
3 源程序3.1 主VI1.第一個(gè)條件語句真分支 2.第一個(gè)條件語句假分支
3.2 文件選擇子VI3.3 輸入判斷子VI4 運(yùn)行結(jié)果與調(diào)試過程4.1 運(yùn)行結(jié)果1.運(yùn)行初始界面 2.點(diǎn)擊開始,進(jìn)入選擇文本文件作為題目(這里選擇短文.txt)
3. 開始計(jì)時(shí) 4.部分輸入
5.錯(cuò)誤輸入 6.輸入完成 7.清零
4.2 調(diào)試過程- 剛開始第一步,我做的輸入與題目配對(duì)的子VI時(shí),我就發(fā)現(xiàn)我輸入的時(shí)候要輸入完再用鼠標(biāo)點(diǎn)一下輸入框外,程序才能讀取到輸入框內(nèi)的內(nèi)容,這樣導(dǎo)致程序使用不便利。正常的打字測(cè)速軟件也不需要這么操作,經(jīng)過研究我發(fā)現(xiàn)在輸入框內(nèi)屬性設(shè)置,修改成鍵入時(shí)刷新。就可以解決掉我需要鼠標(biāo)才刷新的問題。
2.當(dāng)我整個(gè)軟件大致完成時(shí),我的打字軟件可以進(jìn)行了準(zhǔn)確的計(jì)時(shí)和測(cè)試,當(dāng)用戶輸入錯(cuò)誤也能文本提示輸入錯(cuò)誤,但是不夠形象。我以前有用過打字測(cè)速軟件,當(dāng)用戶正確輸入打的文字后,正確的字會(huì)在題目里變色。而我當(dāng)時(shí)的沒有這個(gè)功能,所以我去想辦法優(yōu)化了一下。通過網(wǎng)上的查詢�?吹搅艘粋€(gè)例子(運(yùn)用屬性節(jié)點(diǎn))。我就把他結(jié)合自己程序修改了一下。最后實(shí)現(xiàn)了正確輸入后能在題目顯示區(qū)域變紅正確的字。(如下圖)
3.一開始我選取文本文件時(shí)候,是直接選取的。沒有考慮到如果文件選錯(cuò)時(shí),或者取消沒選時(shí)候發(fā)生的錯(cuò)誤。我把我的問題百度了一下。學(xué)著弄了一個(gè)當(dāng)文件選擇時(shí)出錯(cuò)時(shí),直接對(duì)文本題目輸出一個(gè)空字符串。
|