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