程序人生
寫文章講究義理和詞章,義理為骨,詞章為肉盈罐,一篇文章有義理而缺乏文采,當然是不能打動人的什黑,孔子好像說過:言而無文,行之不遠堪夭,足見文采對于一篇文章的重要性愕把。反之,一篇文章有文采而缺乏義理森爽,則徒有其表恨豁,華而不實,又豈能震撼人的靈魂拗秘。據(jù)我的編程體會圣絮,編寫程序也與寫文章有相通之處祈惶,義理相當于程序的功能雕旨,是整個程序的最核心和關(guān)鍵的部分,也就是說你這個程序能夠幫助用戶解決哪方面的實際問題捧请;詞章相當于程序的用戶界面凡涩,這是程序能否受用戶歡迎和喜歡的很重要的一個因素,界面友好疹蛉,操作簡單之程序容易被用戶接受活箕。一個真正的編程愛好者會反復(fù)修改完善一個自己編寫的應(yīng)用系統(tǒng),包括功能的增強和完善可款,希望自己的應(yīng)用系統(tǒng)能夠幫助用戶更有效地處理實際工作中面臨的問題育韩,而且會從審美角度反復(fù)修改用戶界面,力求操作方便闺鲸,外形美觀筋讨,就像寫文章需要謀篇布局、遣詞造句一樣摸恍,這是一個精益求精追求完美的過程悉罕,永遠都會發(fā)現(xiàn)不足之處,永遠都在改進之中立镶,好像沒有完成時壁袄,永遠都未完成,等待自己去不斷地完善它媚媒,這幾乎成了我的一種生存習慣嗜逻,追求完美甚于對實際功利的追求,我編寫程序只為自己從中體會到創(chuàng)造的快樂缭召,至于能否幫助我掙到更多的實惠栈顷,我是不會考慮太多的令哟。
程序清單上那一行行、一頁頁的代碼妨蛹,就像一串串歡快優(yōu)美的音符屏富,凝集著程序設(shè)計者無窮的智慧和征服自然的力量。每一個電腦愛好者無不為它的迷人色彩所吸引蛙卤。程序設(shè)計吸引聰明人為之付出一生時光狠半。
自從去年10月份調(diào)到機房工作后,除了完成機房的日常維護工作外颤难,很幸運有機會與胡老師合作神年,為計財科開發(fā)學生收費管理系統(tǒng),要知道這可是我第一次參加實際的應(yīng)用系統(tǒng)的研制開發(fā)工作哦行嗤,因此我投入特別多的時間和熱情已日,整個項目研制工作是這樣分工的,胡老師負責總體結(jié)構(gòu)設(shè)計栅屏,而我主要負責具體的程序設(shè)計飘千,兩人配合得很默契,工作進展地相當順利栈雳。多少個日夜的辛勤工作終于結(jié)束了护奈,所有的汗水和心血都凝聚在那近萬行程序里面,雖然這個系統(tǒng)的功能并不復(fù)雜哥纫,但對于我的意義卻很大霉旗,它標志著我在程序設(shè)計方面邁出了可喜的第一步,這次系統(tǒng)的開發(fā)成功極大地增強了我的信心蛀骇,檢驗了我在數(shù)據(jù)庫程序設(shè)計方面的能力水平厌秒,我在這個研制開發(fā)工作中得到了很大的鍛煉和提高,我會繼續(xù)努力擅憔,爭取今后能編制出更好的應(yīng)用系統(tǒng)鸵闪。
很慶幸,該系統(tǒng)在今年四月份通過市科委的鑒定雕欺,獲得科技進步三等獎岛马,這對我的辛勤工作算是一個肯定,所以我感到那么多個日日夜夜的奮戰(zhàn)得到了應(yīng)有的回報屠列。
寫于2000年1月啦逆。
從去年年底到今年年初的幾個月,沉迷于編寫一個英語學習軟件笛洛。最開始命名為《英語學習助手》夏志,后來增加了一些娛樂功能,因此改名為《快樂學英語》。編寫軟件雖然很辛苦沟蔑,但也苦中有樂湿诊。編完之后,英語系的宋老師覺得蠻好的瘦材,準備拿去用作輔助教學手段厅须,我聽了,也挺高興食棕,反正自己憑著興趣做出的東西朗和,得到別人的認可。
一簿晓、開發(fā)緣由
目前眶拉,英語學習軟件很多,各有所長憔儿。但是每種軟件都有局限性忆植,根據(jù)筆者學習英語的需要,廣泛吸取各類軟件的優(yōu)點谒臼,盡量避免其局限性朝刊,把詞匯、句子和文章三個層次結(jié)合起來屋休,注重知識性和趣味性的結(jié)合坞古,編寫出該軟件。
二劫樟、主要功能
(一)詞匯天地
1、單詞精靈
(1)單詞管理(增刪改织堂、導(dǎo)入導(dǎo)出)
(2)詞庫維護
(3)單詞查找
(4)進度圖例
(5)三種模式:迷你模式叠艳、橢圓模式、屏保模式
2易阳、分類詞匯
(1)詞庫管理(增刪改附较、導(dǎo)入導(dǎo)出)
(2)詞匯查找
(3)全屏模式
3、單詞測驗
(1)出錯單詞
(2)測驗成績
(3)測驗結(jié)果
4潦俺、單項選擇——題庫管理(增刪改)
(二)句子天地
1拒课、英文句子
(1)選擇句子庫
(2)句子查找
(3)句庫管理(增刪改、導(dǎo)入導(dǎo)出)
(4)全屏模式
(5)屏保模式
2事示、句子測驗
(1)出錯句子
(3)測驗結(jié)果
(三)文章天地
1早像、英語文章
(1)文章查找
(2)文章庫管理(增刪改、播放肖爵、導(dǎo)入導(dǎo)出)
2卢鹦、閱讀理解——題庫管理(增刪改)
(四)實用工具
1、資料管家
(1)資料查找
(2)資料庫管理(增刪改劝堪、導(dǎo)入導(dǎo)出)
2冀自、英文朗讀
3揉稚、歲月留影——影集庫管理
(五)休閑娛樂
1、點歌系統(tǒng)
(1)選擇歌曲庫
(2)歌曲管理(增刪改熬粗、播放)
2搀玖、MIDI演奏——句子庫管理
3、填字游戲——游戲結(jié)果
(六)系統(tǒng)設(shè)置
1驻呐、系統(tǒng)配色
2巷怜、數(shù)據(jù)備份
3、數(shù)據(jù)恢復(fù)
4暴氏、設(shè)置口令
2004年11月25日修改程序情況
看到小溫編寫的《職稱英語輔導(dǎo)軟件》滿有意思的延塑,只是覺得其中單詞那個功能模塊不夠完善,于是答渔,我出于想增強其單詞模塊功能的動機关带,開始著手編寫"單詞精靈"軟件,包含每個單詞的單詞沼撕,注釋和例句宋雏。有一些簡單的功能:添加生詞、自動發(fā)音务豺,自動瀏覽磨总,隱藏注釋,簡潔模式笼沥,還能進行詞庫管理蚪燕,即進行詞條的增加、刪除和修改操作奔浅。當時馆纳,編寫的軟件很粗糙,也沒有參考同類型軟件汹桦,只是按照自己的想法在編寫軟件鲁驶,有點閉門造車的味道。
2004年11月28日修改程序情況
根據(jù)自己學習英語的需要舞骆,我覺得光有單詞還不夠钥弯,還得需要有英語文章才行,考研不是要考作文嗎督禽?于是脆霎,我很自然增加了一個模塊"作文",有三個字段:標題赂蠢,正文和注釋绪穆。但是還不能進行增刪改。此時,僅僅有這個模塊玖院,相當?shù)拇植诓ず欤贿^也是日后擴展其他功能的一個很好的起點。
2005年元月7日修改程序情況
今天修改程序难菌,主要有四點:
1试溯、不再使用TTS4.0的TextToSpeech控件來進行文字的朗讀,采用另一種方式郊酒,引用TTS5.0的Microsoft Speech Object Library. 這樣需要定義一個SPVoice對象eVoice遇绞,然后利用其屬性和方法就可以很方便的朗讀文字。而且還可以選擇由Mary, Mike或者Sam來朗讀燎窘,eVoice的Rate屬性控制朗讀速度摹闽,Volume屬性控制朗讀音量。
2褐健、英文句子模塊付鹿,英語文章,資料管家蚜迅,點歌系統(tǒng)舵匾,其搜索功能得到增強,而且能高亮度顯示"關(guān)鍵字"谁不。另外坐梯,英文句子模塊中,既可以朗讀英文刹帕,也可以朗讀中文吵血。英文朗讀器模塊也得到改進。
3轩拨、英語文章践瓷,資料管家,點歌系統(tǒng)亡蓉,"正文"或者"歌詞"文本框可以隨意設(shè)置其字體和顏色。并且設(shè)置的字體和顏色能保存喷舀,下次進入將按照上次的設(shè)置來顯示文字砍濒。
4、單詞精靈模塊下的詞匯總表和詞庫維護提供了"關(guān)鍵字"搜索功能硫麻。涉及"單詞"爸邢、"英文注釋"、"中文注釋"拿愧、"例句"杠河、"記憶方法"、"同義詞"等文本框,并且要高亮度顯示關(guān)鍵字券敌。(后來我做了一些修改)
2005年元月10日修改程序情況
1唾戚、英語文章和點歌系統(tǒng)模塊,不再顯示MMC和RealPlayer控件待诅,而代之以三個命令按鈕:播放叹坦、暫停和停止。這樣做卑雁,使得界面色彩保持一致募书。
2、程序中朗讀者的選擇测蹲,考慮到WinXP在"語音"設(shè)置的默認朗讀者莹捡。
3、界面的色彩做了一些修改扣甲。
4篮赢、英語句子模塊:可以選擇朗讀者:Mary, Mike或Sam。
5文捶、把英語文章荷逞、資料管家、英文句子和點歌系統(tǒng)的修改模塊和刪除模塊的小問題作了處理粹排。主要是當某記錄的類別或標題作了修改后种远,記錄的位置要發(fā)生變化,程序始終要顯示該條記錄顽耳,無論這條記錄跑到何處坠敷。
6、由于在用SQL語句添加和修改記錄時射富,要把英文引號轉(zhuǎn)化成中文引號才行膝迎,因此,我編寫了兩個轉(zhuǎn)化函數(shù):'編寫一個函數(shù)胰耗,能把字符串里的半角單引號全部更改成全角單引號限次;'編寫一個函數(shù),能把字符串里的全角單引號全部更改成半角單引號柴灯。這樣卖漫,無論增刪改,還是查找操作赠群,就要涉及到單引號的半角與全角之間的轉(zhuǎn)化問題羊始,增加了編程的復(fù)雜度。
2005年元月12日修改程序情況
1查描、能夠自動調(diào)整網(wǎng)格的第一列寬度突委,剛好能顯示"類別"字段柏卤。采用了一個小小的技巧才解決的。
2匀油、允許不同類別里添加相同標題的文章缘缚、資料、歌曲钧唐、句子忙灼。例如,在"點歌系統(tǒng)"里钝侠,梅艷芳精選集里有了"親密愛人"這首歌该园,并不妨礙高勝美精選集里也有"親密愛人"這首歌。
3帅韧、音頻文件名=類別名_歌名(標題).mp3(wma, avi, mpg, rm)里初。
2005年元月15日修改程序情況
1、"單詞精靈"模塊的界面作了較大的改動忽舟,代碼也作了很大的改動双妨,可以進行拼寫測試,根據(jù)測試情況叮阅,來確定單詞的學習層次:掌握刁品、了解、生詞浩姥。當然挑随,還可以把層次分得更細:1級、2級勒叠、……
2兜挨、"英文句子"模塊,添加了"編號"字段眯分,代碼作了一些改動拌汇,操作稍微方便些。所有的數(shù)據(jù)都因此更改弊决,工作量比較大噪舀。
3、"英語文章"模塊飘诗,添加了"編號"字段傅联,代碼作了一些改動,操作稍微方便些疚察。所有的數(shù)據(jù)都因此更改,工作量比較大仇奶。涉及音頻文件的問題貌嫡,其中"單引號"的全角與半角之間的轉(zhuǎn)化很麻煩比驻。
2005年元月16日修改程序情況
1、修改了"詞庫維護"與"簡潔模式"中的小問題岛抄,保證它們與"單詞精靈"的單詞同步别惦。
2、單詞測驗夫椭,提供了兩種方式
(1)拼寫測驗掸掸,根據(jù)單詞的發(fā)音正確拼寫出單詞;這在單詞精靈模塊中實現(xiàn)了蹭秋,而且可以按照"順序"扰付、"反序"、"隨機"三種方向進行測驗或者進行瀏覽仁讨,這樣要比原先的僅僅瀏覽要有趣點羽莺,而且我也開始喜歡用這個功能。
(2)給出單詞洞豁,選擇其漢語意思盐固;給出漢語意思,選擇單詞丈挟。
3刁卜、從去年11月底開始編寫這個程序,整個人都陷入了一種迷亂的情緒中曙咽,我被編程的細節(jié)所淹沒蛔趴,盡管我知道設(shè)計比編碼更重要,也更有價值桐绒,但我控制不住自己對編碼的迷戀夺脾,或許,內(nèi)心有一種追求完美的傾向茉继,不能容忍程序出現(xiàn)錯誤咧叭,只要發(fā)現(xiàn)不正確的或不滿意的,一定會花費功夫去改烁竭,直到自己心滿意足菲茬,可是第二天又發(fā)現(xiàn)問題,永無止境的派撕。我的心都被耗費的疲憊不堪婉弹。
2005年元月19日程序修改情況
1、界面修改终吼,能夠統(tǒng)一設(shè)置系統(tǒng)的背景色镀赌,前景色,以及按鈕的背景色际跪。用戶可以選擇自己喜歡的配色方案商佛。
2喉钢、增強"單詞測驗"模塊的功能,選擇詞庫的基礎(chǔ)上還可以按單詞的級別篩選良姆,然后在分組進行測試肠虽;根據(jù)測試情況來改變單詞的級別,如果錯誤玛追,級別降低1税课;如果正確,級別提高1痊剖。這和"單詞精靈"模塊中的拼寫測驗相結(jié)合韩玩,即考察用戶對單詞的拼寫,也考察用戶對單詞意思的理解邢笙,可謂雙管齊下啸如,讓用戶收到更好的學習效果。
2005年元月21日程序修改情況
1氮惯、"單詞精靈"模塊叮雳,增加了如下功能:
(1)初始化學習進度
(2)學習進度圖例
(3)詞庫維護功能:用戶可以增刪改詞庫
2、"英語文章"妇汗、"資料管家"的全屏功能得到增強帘不。雙擊"正文"文本框,將會全屏顯示杨箭,而且可以在全屏窗口中進行圖文編排寞焙,保存到data\article或者data\DataKeeper目錄下,格式是富文本格式互婿,即rtf格式捣郊。
2005年元月25日程序修改情況
此次考研好像也沒有妨礙程序的編寫,那兩天,沒有復(fù)習,倒是在不斷地修改程序榴都。
測試了一些主要模塊鹤啡,修正了很多錯誤蝙茶。增加了句子測驗?zāi)K。
(1)單詞精靈:可以動態(tài)顯示當前詞庫每個學習層次單詞的數(shù)量,當您進行拼寫練習時,每個單詞的學習層次都會根據(jù)您的拼寫正確或錯誤發(fā)生改變琐旁,此時,系統(tǒng)會立即重新統(tǒng)計每個學習層次的單詞數(shù)量猜绣,讓用戶隨時了解自己的學習進度灰殴。
(2)單詞測驗:增加了一個新功能,用戶能根據(jù)實際需要設(shè)置每組單詞的數(shù)量掰邢,假定每組30個验懊,如果當前測驗詞庫的總單詞數(shù)是6000擅羞,那么測驗組數(shù)=6000/30=20;如果當前測驗詞庫沒有單詞义图,那么測驗組數(shù)=0;如果當前測驗詞庫的總單詞數(shù)不能被30整除召烂,例如55碱工,那么測驗組數(shù)=int(55/30)+1=2。
下一步奏夫,準備考慮安全性問題怕篷。有兩個層次的安全:數(shù)據(jù)安全和程序安全。
軟件的編寫凝聚了我很多的心血酗昼,希望我能進一步完善廊谓,發(fā)布后得到用戶的肯定和喜歡。
2005年元月26日程序修改情況
昨晚麻削,做了一個擴充工作蒸痹,英文句子、英語文章呛哟、句子測驗叠荠、資料管家、點歌系統(tǒng)扫责,都各自能提供了9個不同的庫:9個資料庫榛鼎,9個句子庫,9個歌曲庫和9個文章庫鳖孤。最開始者娱,例如針對歌曲庫,我準備用一個窗體來分別訪問9個歌曲庫苏揣,但這樣存在一個問題黄鳍,如果用戶要同時訪問幾個歌曲庫,就要出問題腿准,因此际起,我改變了處理方法,9個歌曲庫分別對應(yīng)9個窗體吐葱,盡管這些窗體界面和功能完全相同街望,但我做了9個,這樣弟跑,9個窗體可以不相互干擾地獨立工作灾前,即表明用戶可以同時打開多個歌曲庫進行查看。同理孟辑,我也處理另外幾個模塊的類似問題哎甲。
在主界面上蔫敲,單擊"英文句子"、"句子測驗"炭玫、"英語文章"奈嘿、"資料管家"、"點歌系統(tǒng)"吞加,都會先彈出一個選擇"庫"的對話框裙犹,用戶可以根據(jù)需要打開某個"庫"進行操作。
做了一個數(shù)據(jù)庫的規(guī)范操作衔憨,給每個詞庫的單詞字段增加一個索引叶圃,不允許重復(fù)。還有文章庫践图、資料庫掺冠、歌曲庫,按類別和標題兩個字段建立組合的主索引码党,也是預(yù)防添加重復(fù)記錄德崭,其實,我在程序里也通過編寫代碼防止了這個問題闽瓢,現(xiàn)在是雙重的控制接癌,一方面是數(shù)據(jù)庫自身的完整性控制,另一方面也在程序里通過代碼保證數(shù)據(jù)的完整性扣讼。
2005年元月27日程序修改情況
1缺猛、在"單詞管理"模塊里,增加"導(dǎo)入單詞"和"導(dǎo)出單詞"兩個很有用的小功能椭符。今天準備把這兩個功能的代碼編寫出來荔燎。
2、單詞精靈和單詞測驗兩個模塊的數(shù)據(jù)訪問有了改動销钝。
原來:<具體詞庫> inner join<詞匯總表>
現(xiàn)在:<具體詞庫> left join<詞匯總表>
兩者有很大的不同呢有咨!聽我說明,如果采用內(nèi)部連接蒸健,那么最終能訪問的單詞必然是<具體詞庫>和<詞匯總表>里都共有的單詞座享;如果采用左連接,那么最終訪問的單詞是<具體詞庫>的全部單詞似忧,哪怕該單詞在<詞匯總表>里不存在渣叛。
3、現(xiàn)在該軟件不是能同時訪問9個不同的資料庫嗎盯捌?可是所有的資料庫全部只能顯示文本資料淳衙,如果資料里有圖片,即我們通常說的那種圖文資料,本軟件原先的做法是另外給每條資料鏈接一個富文本格式的文件箫攀,而富文本文件里允許圖文混排肠牲,當然這是一種解決問題的辦法,但是我現(xiàn)在有另外一種考慮靴跛,我想把第9個資料庫增加一個字段"圖片"缀雳,這樣每條資料都允許插入一張圖片,不是很好嗎汤求?今天準備把這個工作完成俏险,不知道行不行。
一個關(guān)于數(shù)據(jù)庫設(shè)計的問題
最開始扬绪,單詞精靈和單詞測驗兩個模塊所用到的詞庫全部是各自獨立的,即每個詞庫都是相同的多個字段:單詞裤唠、音標挤牛、英文注釋、中文注釋种蘸、學習層次墓赴、記憶方法和相關(guān)詞,這樣必然會造成極大的數(shù)據(jù)冗余航瞭,后來诫硕,我設(shè)置了一個詞匯總表,包含了除學習層次在外的全部字段刊侯,而每個詞庫只含有兩個字段:單詞和學習層次章办,這樣每次打開一個詞庫,就通過數(shù)據(jù)庫的連接操作滨彻,從詞匯總表里去獲得相應(yīng)的音標藕届、注釋、例句亭饵、相關(guān)詞及記憶方法休偶,當然第二種方法可以節(jié)省很多存儲空間,但是也存在一些不好的地方辜羊,按理說踏兜,每個詞庫,特別是專業(yè)詞庫八秃,它的單詞往往有特殊的專業(yè)含義碱妆,現(xiàn)在公用詞匯總表的注釋,就顯得不是很適當喜德。真的有點難辦山橄,現(xiàn)在我也不想再去修改了,否則程序也要跟著做很大的變動。
修改數(shù)據(jù)庫的結(jié)構(gòu)
考慮再三航棱,還是決定每個詞庫擁有自己獨立的注釋(英漢注釋)字段睡雇,而不共用詞匯總表的,當然饮醇,另外幾個字段它抱,如音標、例句朴艰、相關(guān)詞和記憶方法都是每個詞庫共用詞匯總表的观蓄。這樣處理之后,就更便于在"單詞管理"模塊中使用單詞導(dǎo)入功能祠墅。建立單詞列表文件是很簡單的事情侮穿,一個文本文件,單行是單詞毁嗦,雙行是注釋亲茅,利用記事本建立,然后利用導(dǎo)入功能狗准,一下就OK了克锣!
現(xiàn)在,我的主要工作腔长,不再是對程序作大的修改袭祟,而是創(chuàng)建詞庫,這個工作量非常大捞附,但必須得做巾乳,否則那個單詞精靈模塊就是一個空架子,再累也要堅持故俐!
便捷的單詞導(dǎo)入與導(dǎo)出功能
經(jīng)過努力想鹰,終于完成了單詞的導(dǎo)入與導(dǎo)出功能。導(dǎo)入與導(dǎo)出是互逆的药版,可以將導(dǎo)出的單詞列表文件導(dǎo)入另一個詞庫辑舷,這樣可以極大地提高創(chuàng)建詞庫的工作效率。
1槽片、導(dǎo)出:可以導(dǎo)出當前詞庫的全部單詞何缓,也可以利用"搜索"功能篩選符合條件的單詞,然后再導(dǎo)出还栓。
2碌廓、導(dǎo)入:提供了導(dǎo)入單詞列表的預(yù)覽效果,便于用戶檢查剩盒,看單詞列表文件的格式是否符合要求谷婆,而且還提供了定位功能和編輯功能,可以很快發(fā)現(xiàn)問題并給予糾正,這個功能令我很滿意纪挎。
凌晨的欣慰
從昨晚10點到今早凌晨2點期贫,我終于完成了句子的導(dǎo)入和導(dǎo)出,這樣异袄,就可以極大地提高我創(chuàng)建句子庫的速度通砍。單詞的導(dǎo)入和導(dǎo)出,我在其他英語學習類軟件中看到過烤蜕,而句子的導(dǎo)入和導(dǎo)出封孙,不會是我首創(chuàng)吧,不管怎樣讽营,我為自己的這個工作感到欣慰虎忌,很困了,得去休息了橱鹏。
2005年2月2日程序修改情況
1呐籽、修改了單詞精靈中的一個小錯誤。進入全屏模式蚀瘸,如果發(fā)現(xiàn)學習方式是"自動瀏覽",就把它改成"手動瀏覽"才行庶橱,否則每個單詞要重復(fù)發(fā)音贮勃。
2、英文句子苏章、英語文章寂嘉、資料管家等模塊,都有改動枫绅。由于有9個類似窗體泉孩,先只改第一個窗體,等第一個定稿之后并淋,再生成另外8個類似窗體寓搬,免得反復(fù)。
3县耽、昨天句喷,導(dǎo)入英語900句時,發(fā)現(xiàn)下載的資料中兔毙,缺少432句唾琼,然后我在另一個軟件里找到432句,結(jié)果發(fā)現(xiàn)432句與384句相同澎剥,很奇怪锡溯,我那本書找不到了,要不然就可以確認兩個句子究竟該如何。
4祭饭、我昨天完成本軟件的系統(tǒng)功能結(jié)構(gòu)圖的繪制工作芜茵,以及數(shù)據(jù)庫設(shè)計的所有表格。
5甜癞、目前夕晓,我已經(jīng)建立了幾個詞庫,和幾個句子庫悠咱,不過蒸辆,以后的工作還很多很累。
6析既、本軟件提供了單詞躬贡、句子層次的測驗,都是兩種方式的測驗:一個是拼寫測驗眼坏,一個是英漢互譯的測驗拂玻,但是目前還未提供文章層次的測驗,未免覺得有些遺憾宰译,因此檐蚜,我決定增加一個閱讀理解模塊,里面包含兩個方面的內(nèi)容沿侈,一個是題庫管理闯第,另一個是閱讀理解的訓(xùn)練,可能需要幾天才能完成這個工作缀拭。
2005年2月6日程序修改情況
增加了資料管家和英語文章模塊的導(dǎo)入與導(dǎo)出功能咳短。
提供了兩點規(guī)整功能:一個是編號規(guī)范功能,當某個類別的記錄被刪除時蛛淋,會導(dǎo)致該類別的編號不連續(xù)咙好,系統(tǒng)會自動規(guī)整;添加新記錄時褐荷,系統(tǒng)會對正文進行規(guī)整勾效,每個段落首行空兩個漢字,而且段落之間有一個空白行诚卸。因此葵第,添加新記錄的正文無須在乎格式,只管把內(nèi)容放進來合溺,系統(tǒng)會規(guī)整其格式卒密,減少用戶在格式方面的工作量,這是本軟件體貼用戶需要的一個表現(xiàn)棠赛。
閱讀理解題庫模塊采用不同的表操作
這次所有涉及數(shù)據(jù)表操作的模塊哮奇,我全部采用嵌入式的SQL語句來完成膛腐,例如,刪除用delete鼎俘,更新用update哲身,插入用insert into,這樣增加了一個問題贸伐,要用半角單引號做每個字符型字段常量的定界符勘天,于是,如果常量里本來有半角單引號捉邢,在使用update或insert into語句時就會出錯脯丝,逼得我編寫兩個函數(shù)QuoteETC和QuoteCTE來專門負責把字符串中的半角單引號與全角單引號進行相互轉(zhuǎn)化,引進這兩個函數(shù)伏伐,的確能解決單引號問題宠进,同時極大增加了編程工作量,難度也隨著增加藐翎。
對于閱讀理解模塊材蹬,我準備直接用Data控件記錄集Recordset提供的表操作方法AddNew,Edit吝镣,delete來進行堤器,這樣做,可以避免單引號的半角全角轉(zhuǎn)換問題末贾。
統(tǒng)統(tǒng)改用AddNew,Edit,delete方法
所有涉及表操作的模塊中使用SQL語句的吼旧,我準備改用Data.Recordset的AddNew,Edit,delete方法,由于在使用Edit和delete方法之前未舟,要先定位當前記錄,因為Data1.RecordsetType=1或2(動態(tài)集或者快照集)掂为,只能用FindFirst方法裕膀,而不能用Seek方法,這樣勇哗,單引號的全角和半角問題依然存在昼扛,我編寫的那兩個函數(shù),可以用于"類別"和"標題"兩個字段欲诺,而不必用于"正文"字段抄谐。
一個難題
編寫個人影集模塊,遇到一個很難克服的困難扰法,用ADODB的記錄集對象rs的find方法無法定位蛹含,怎么辦呢?原來那個篩選條件不能是復(fù)合條件塞颁。
這個問題已經(jīng)圓滿解決浦箱。不用Find方法吸耿,而是直接設(shè)置ADODB的RecordSoursce屬性,在select查詢語句中可以使用復(fù)合條件酷窥。
最近的進展情況
這段時間咽安,把程序的界面作了一些美化和調(diào)整。引入TreeView控件蓬推,英文句子妆棒、英語文章、資料管家和歲月留影等模塊實現(xiàn)了大綱視圖沸伏,美觀多了糕珊。
增加了一個分類詞匯模塊、單項選擇模塊馋评、閱讀理解模塊放接。
接近尾聲
軟件的編寫,接近尾聲留特,我要做的工作纠脾,有兩條,一個是不斷地補充資料蜕青,第二個是寫編寫軟件的心得體會苟蹈,總結(jié)一下這三個月中我在編寫程序中的經(jīng)驗和教訓(xùn),為今后編寫更好的程序積累一些素材右核。
既然這個軟件是幫助用戶學習英語慧脱,效果如何,我得自己親自試驗贺喝,現(xiàn)在菱鸥,我要利用自己編寫的軟件來幫助自己更好學習英語,從單詞躏鱼、句子和篇章三個層次來加強英語的學習氮采。
寫于2004年12月~2005年2月。