西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁公文辦公論文寫作 → 學生檔案管理系統(tǒng)

學生檔案管理系統(tǒng)

相關軟件相關文章發(fā)表評論 來源:網(wǎng)絡時間:2010/5/3 17:40:47字體大。A-A+

作者:佚名點擊:791次評論:0次標簽: 學生檔案管理系統(tǒng) 計算機論文

  • 類型:遠程監(jiān)控大小:4.6M語言:中文 評分:5.7
  • 標簽:
立即下載

目錄
摘要
ABSTRACT
前言
第一章 為什么要開發(fā)一個學生檔案管理系統(tǒng)?
第二章 計算機已經(jīng)成為我們學習和工作的得力助手
1.1 在中小學中用計算機管理學生檔案的意義
1.2 為將來學校上網(wǎng)做好準備
1.4 學生檔案的設計分析
第三章 怎樣開發(fā)一個學生檔案管理系統(tǒng)?
2.1 編程環(huán)境的選擇
2.2 關系型數(shù)據(jù)庫的實現(xiàn)
2.3 二者的結合(DBA)
第四章 Windows下的Visual Basic 編程環(huán)境簡介
3.1 告別“hello world”的年代
3.2 面對對象的編程
3.3 實現(xiàn)菜單選項
3.4 實現(xiàn)工具欄
3.5 幫助
3.6關于系統(tǒng)
第五章 使用Access2000 實現(xiàn)關系型數(shù)據(jù)庫
4.1 數(shù)據(jù)庫的概念
4.2 新建一個數(shù)據(jù)庫
4.3 修改已建的數(shù)據(jù)庫
4.4 實現(xiàn)數(shù)據(jù)庫之間的聯(lián)系
第五章 系統(tǒng)總體規(guī)劃
5.1 系統(tǒng)功能
5.2 流程圖
第六章 系統(tǒng)具體實現(xiàn)
6.1 用戶界面的實現(xiàn)
6.1.1 封面
6.1.2 主界面
6.1.3 幫助系統(tǒng)
6.2 數(shù)據(jù)庫的實現(xiàn)
6.2.1 學籍數(shù)據(jù)庫
6.2.2 學生成績庫
6.2.3 課程庫
6.3 與VB的連接
第七章 結束語
第八章 主要參考文獻
附錄
--------------摘要--------------

學生檔案管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。
經(jīng)過分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。

關鍵字:控件、窗體、域。

 

 


--------------ABSTRACT--------------

The system of managing student file is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used.
By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a data-base. It can give you a short-cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it.

Keywords: ActiveX , Form , Field .

 

 

--------------前言--------------

學生檔案管理系統(tǒng)是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生檔案管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。
隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。
作為計算機應用的一部分,使用計算機對學生檔案信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。
因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學生檔案管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。
 

--------------------下面就讓我們開始正文的介紹
第一章
為什么要開發(fā)一個學生檔案管理系統(tǒng)?
 計算機已經(jīng)成為我們學習和工作的得力助手:

今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面:
首先,計算機可以代替人工進行許多繁雜的勞動;
其次,計算機可以節(jié)省許多資源;
第三,計算機可以大大的提高人們的工作效率;
第四,計算機可以使敏感文檔更加安全,等等。

 在中小學中用計算機管理學生檔案的意義
現(xiàn)在我國的中小學校中檔案的管理水平還停留在紙介質的基礎上,這樣的機制已經(jīng)不能適應時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代。
我作為一個計算機應用的本科生,希望可以在這方面有所貢獻。改革的總設計師鄧小平同志說過“科學技術是第一生產(chǎn)力”,我希望能用我四年的所學編制出一個實用的程序來幫助中小學進行更有效的學籍管理。
歸納起來,好處大約有以下幾點:
1. 可以存儲歷屆的學生檔案,安全、高效;
2. 只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力;
3. 可以迅速查到所需信息。

 為將來學校上網(wǎng)做好準備
跟據(jù)1999年中國電信的調查報告顯示我國的上網(wǎng)人數(shù)已達到890萬,互聯(lián)網(wǎng)已經(jīng)十分普及,學校往界的畢業(yè)生希望能在世界的任何一個角落查到自己校友的信息,本系統(tǒng)為學校將來的上網(wǎng)作了先期工作,比如數(shù)據(jù)庫的建立。

學生檔案的設計分析
根據(jù)實際情況,我們使用原型法(Rapid Prototyping)即以少量代價快速地構造一個可執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模塊也發(fā)展成為最終產(chǎn)品了。
第二章
怎樣開發(fā)一個學生檔案管理系統(tǒng)?


 編程環(huán)境的選擇

微軟公司的Visual Basic 6.0是Windows應用程序開發(fā)工具,使目前最為廣泛的、易學易用的面向對象的開發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。


 關系型數(shù)據(jù)庫的實現(xiàn)

Access2000 就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。Access 是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關系數(shù)據(jù)庫的強大功能。


 二者的結合(DBA)
微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Visual Basic 來訪問數(shù)據(jù)庫并對其進行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。
DATA 控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic程序之間架起了一座橋梁。我們可以設置DATA控件的各個屬性,告訴它要調用那個數(shù)據(jù)庫的哪個部分。缺省情況下,DATA控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)表建立一個dynaset-type(動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài)的也就意味著,當原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會隨之改變。DATA控件還提供了用來瀏覽不同記錄的各種跳轉按鈕。將DATA控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系。
 

 

第三章
Windows下的Visual?????????????


?????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?

?????????????????
?????????????????????????????????????????????????)。 Visual Basic應用程序基本的構建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性、事件和 方法)。開發(fā)人員可以最有效利用所創(chuàng)建的每一個對象。使用應用程序具有可通用性可說擴展性和強有力的功能。
Visual Basic應用由一系列對象組成,包括有函數(shù)、菜單、函數(shù)、結構和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應用中重復使用。


實現(xiàn)菜單選項
菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護,Visual Basic也提供了強大的創(chuàng)建菜單功能是程序更加標準。
您可以使用Visual Basic的Application Wizard也可以使用Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單。


 實現(xiàn)工具欄
CoolBar控件與Office97種看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你局可以向用戶提供更好的靈活性和義用性。
Toolbar 是工具條控件,是實現(xiàn)工具條的主體。其中的按鈕可以顯示圖像和標題,并按功能分組或加入分隔符,還可以圍棋設置鼠標停留在其上顯示的提示字符。Toolbar也是一個控件容器且具有Style屬性,并可以為其增加下拉按鈕和平滑按鈕等。
選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。其屬性及對象如下:
1. Align屬性定義工具條在窗體中的位置
2. ToolTipText屬性是字符串類型,定義控件的提示字符
3. Style屬性定義按鈕外觀。
4. ImageList屬性定義與數(shù)據(jù)條對應的ImageList控件名,該控件定義工具條按鈕顯示的圖像。
5. HotImangeList屬性設置一個ImageList控件名,該控件定義按鈕獲得熱點時顯示的圖像。
6. DisabledImageList屬性定義工具條按鈕無效時顯示的圖像。
創(chuàng)建工具條包括ImageList和Toolbar控件
ImageList用于為其他控件提供圖像庫,將ImageList控件加入到工具箱的操作于前述Toolbar控件相同。


 幫助
專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量的用戶使用,還是僅僅局限于公司內部有限的使用者,我們都應該為用戶提供詳細的、易于理解的聯(lián)機幫助文檔。微軟的Help Workshop4.0 是一套獨立于Visual Basic 的用來協(xié)助我們創(chuàng)建、運行于32位Windows 操作系統(tǒng)下的幫助文件的工具。使用它我們可以為我們編寫的應用程序生成一組幫助文件。


 關于版本
為了是程序顯得更具有專業(yè)風格,首先可以在其中加入通常的應用程序信息。這些信息包括公司名稱、版本號、修訂號以及其他類似信息。Visual Basic允許你使用APP對象來保存這些信息,APP對象是一個預定義對象,不需要在程序中創(chuàng)建它。APP對象的大多數(shù)屬性被應用程序用來提供常規(guī)的信息,通過使用這些APP提供的屬性,可以在應用程序和用戶之間交流重要信息,在項目屬性框中可以設置它的屬性。

 


第四章
使用Access2000 實現(xiàn)關系型數(shù)據(jù)庫


 數(shù)據(jù)庫的概念
數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表達信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機的數(shù)據(jù)庫可以分為兩類:非關系數(shù)據(jù)庫(flat-file)和關系數(shù)據(jù)庫(relational)。關系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術語,象記錄、域等。
 

新建一個數(shù)據(jù)庫
創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結構的過程被認為是數(shù)據(jù)模型設計。
1. 標識需要的數(shù)據(jù);
2. 收集被標識的字段到表中;
3. 標識主關鍵字字段;
4. 繪制一個簡單的數(shù)據(jù)圖表;
5. 規(guī)范數(shù)據(jù);
6. 標識指定字段的信息;
7. 創(chuàng)建物理表。


 修改已建的數(shù)據(jù)庫
數(shù)據(jù)庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由Visual Basic 創(chuàng)建的程序來完成,下面的章節(jié)將詳細描述實現(xiàn)的具體方法。


 實現(xiàn)數(shù)據(jù)庫之間的聯(lián)系
數(shù)據(jù)庫之間的關系指明兩個庫之間共享一個共同的關鍵字值。一個連接是指一種虛擬的表,這種表是在當用戶要求從相互關聯(lián)的各個不同的表中獲取信息時建立的,關鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的紀錄中由重復數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關鍵字:主關鍵字、組合關鍵字和外關鍵字。在表中使用的關鍵字類型用于描述庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關系。
第五章
系統(tǒng)總體規(guī)劃


 系統(tǒng)功能
1. 可以進行文本操作;
2. 添加一個數(shù)據(jù)庫項目;
3. 刪除一個數(shù)據(jù)庫項目;
4. 修改一個數(shù)據(jù)庫項目;
5. 查詢信息;
6. 察看課程表。


 流程圖



 

 

 










第六章
系統(tǒng)具體實現(xiàn)


 用戶界面的實現(xiàn)
6.1.1 封面
具體實現(xiàn)見 圖_6.1.1



 

圖_6.1.1
6.1.2 主界面
 具體實現(xiàn)見.圖_6.1.2
圖_6.1.2

主界面包含三方面的內容,以下一一介紹:
1.記錄操作
打開記錄操作,進入記錄操作菜單項分別由文件、視圖及幫助三個選項。
1.1文件包括:新建
打開
打開寫字板---------如圖<6.1.4> (源程序見附錄清單6.1 )
保存
另存
打印
退出
<圖6.1.4>
1.2視圖包括:狀態(tài)條
工具欄
背景顏色
顯示
課程表---------如圖<6.1.5>
文本編輯器
網(wǎng)絡瀏覽
<圖6.1.5>
1. 3幫助包括:內容
關于幫助
2.記錄操作
打開記錄操作進入記錄操作選項頁分別由瀏覽記錄、查找等三個選項組成。
2.1瀏覽記錄:
學生學籍庫
課程庫
成績庫
2.2查找記錄
2.3備注
3.系統(tǒng)信息
打開系統(tǒng)信息進入選項頁分別由系統(tǒng)信息、信息采集等組成。

6.1.3 幫助系統(tǒng)
具體實現(xiàn)見6.1.3

 圖6.1.3

 數(shù)據(jù)庫的實現(xiàn)
6.2.1學籍數(shù)據(jù)庫
學籍數(shù)據(jù)庫里存儲了學生的檔案包括:學號、姓名、年齡等 表如<6.2.6>

列名(中文)列名(英文)數(shù)據(jù)類型寬度小數(shù)點位數(shù)是否為空姓名Name Date8No學號CodeInteger6No性別SexDate2No年齡AgeDate6No民族NationDate6No政治面貌Visage...Date2...Yes...家庭住址AddressDate10No備注RecordDate15No 表<6.2.6>
學籍模塊:
該模塊主要完成學生基本信息的錄入、刪除 、更新等功能。在此模塊中定義了八個域名來進行學生的信息存儲。如果用戶修改某一紀錄中的某一項,可單添加按鈕進行學生記錄的編輯,此窗口使用數(shù)據(jù)窗口的FREEDOM風格(典型的錄入界面)。該種風格特點是列標題緊挨著數(shù)據(jù)列在此窗口還可以增加新學生紀錄。

6.2.2成績數(shù)據(jù)庫
成績數(shù)據(jù)庫里存儲了學生的成績包括:學號、成績、等如表<6.2.7 >

列名(中文)列名(英文)數(shù)據(jù)類型寬度小數(shù)點位數(shù)是否為空姓名Name Date8No學號CodeInteger6No成績ScoreDate10No備注RecordDate15No 表<6.2.7>
成績模塊:
該模塊主要完成學生成績的基本信息的錄入、刪除 、更新等功能。在此模塊中定義了四個域名來進行學生的信息存儲。

6.2.3課程數(shù)據(jù)庫
課程數(shù)據(jù)庫利存儲了課程的信息:課程名、作者、出版社等如表<6.2.8>

列名(中文)列名(英文)數(shù)據(jù)類型寬度小數(shù)點位數(shù)是否為空課程IDCourseDate8No課程名NameDate15No出版社PublisherDate20No作者ScoreDate18No備注RecordDate15No 表<6.2.8>
課程模塊:
該模塊主要完成存儲課程的所有信息及錄入、刪除 、更新等功能


 與VB的連接
Visual Basic提供了與底層數(shù)據(jù)庫系統(tǒng)緊密的連接。Visual Basic 支持不同的關系數(shù)據(jù)庫管理系統(tǒng)并充分發(fā)揮每一個數(shù)據(jù)庫的特長。生成獨立應用或脫離服務器運行的服務以上的應用,Visual Basic連接數(shù)據(jù)庫的方式有兩種:
&middot;通過使用Visual Basic的 DATA控件。
&middot;通過使用由Visual Basic提供的專用的直接與數(shù)據(jù)庫相連的接口
第七章


結束語
經(jīng)過三個多月的設計和開發(fā),中小學檔案管理系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成學生學籍的存儲和成績的查詢以及各類相關報表的打印。并提供部分系統(tǒng)維護功能,使用戶方便進行數(shù)據(jù)備份和恢復、數(shù)據(jù)刪除。,對于數(shù)據(jù)的一致性的問題也通過程序進行了有效的解決。
但是由于畢業(yè)設計時間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如聯(lián)機文檔比較少,用戶界面不夠美觀,出錯處理不夠等多方面問題。這些都有待進一步改善。

致謝

在本次畢業(yè)設計中,我從指導老師雷震甲老師身上學到了很多東西。雷老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高這對于我以后的工作和學習都有一種巨大的幫助,感謝他耐心的輔導。
另外,在系統(tǒng)開發(fā)過程中雷老師的助手張彥明老師也給于我很大的幫助,幫助解決了不少的難點,使得系統(tǒng)能及時開發(fā)完成,還有同組的同學同樣給與我不少幫助,這里一并表示感謝。

 

 


第八章


主要參考文獻

 

 

[1] Visual Basic 6.0 使用指南
作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.
出版社:電子工業(yè)出版社
[2] 中文版Microsoft Office 97 自學通
作者:Ned Snell
出版社:機械工業(yè)出版社
[3] Visual Basic 6.0 中文版控件大全
作者:Microsoft
出版社;電子工業(yè)出版社
[4] 中文Access 2000 24學時教程
作者:Craig Eddy ,Timothy Buchanan
出版社:機械工業(yè)出版社

 

 

 

 

附錄程序清單及注釋
程序清單6.1
Option Explicit
Dim FileName As String '文件名,用于打開、保存文件
Dim UndoString As String '用于 Undo 操作
Dim UndoNew As String '用于 Undo 操作

Private Sub ImgUndoDisable()
'禁用&ldquo;Undo&rdquo;按鈕
UndoString = ""
UndoNew = ""
ImgUndo.Enabled = False
ImgUndo.Picture = ImageDisable.ListImages("Undo").Picture
End Sub

Private Sub ImgUndoEnable()
'有效&ldquo;Undo&rdquo;按鈕
ImgUndo.Enabled = True
ImgUndo.Picture = ImageUp.ListImages("Undo").Picture
End Sub

Private Sub Check_ImgPaste()
'設置粘貼按鈕
If Len(Clipboard.GetText) > 0 Then
ImgPaste.Enabled = True
ImgPaste.Picture = ImageUp.ListImages("Paste").Picture
Else
ImgPaste.Enabled = False
ImgPaste.Picture = ImageDisable.ListImages("Paste").Picture
End If
End Sub

Private Sub Check_ImgCutCopy()
'設置剪切、復制按鈕
If Text1.SelLength > 0 Then
ImgCut.Enabled = True
ImgCut.Picture = ImageUp.ListImages("Cut").Picture
ImgCopy.Enabled = True
ImgCopy.Picture = ImageUp.ListImages("Copy").Picture
Else
ImgCut.Enabled = False
ImgCut.Picture = ImageDisable.ListImages("Cut").Picture
ImgCopy.Enabled = False
ImgCopy.Picture = ImageDisable.ListImages("Copy").Picture
End If
End Sub
Private Sub BackColor_Click()
CommonDialog1.ShowColor
Text1.BackColor = CommonDialog1.Color
End Sub

Private Sub Box_Click()
'顯停工具欄
If Box.Checked Then
'將停顯工具欄
Box.Checked = False
CoolBar1.Visible = False
Else
Box.Checked = True
CoolBar1.Visible = True
End If

Form_Resize '重新調整控件位置
End Sub

Private Sub Close_Click()
Dim FileNum As Integer

If Len(FileName) > 0 Then
'有輸入文件名
FileNum = FreeFile() '獲得可用文件號
Open FileName For Output As FileNum '打開輸出文件
'如果無指定文件,則創(chuàng)建新文件
Print #FileNum, Text1.Text '輸出文本
Close FileNum '關閉文件
End If

Text1.Text = ""
FileName = ""
End Sub

Private Sub ComboSize_Click()
Text1.FontSize = Val(ComboSize.Text)
End Sub

Private Sub ComboFont_Click()
Text1.FontName = ComboFont.Text
End Sub

Private Sub Copy_Click()
Clipboard.SetText Text1.SelText '復制文本到剪裁板
End Sub

Private Sub Cut_Click()
Clipboard.SetText Text1.SelText '復制文本到剪裁板
Text1.SelText = "" '清選擇的文本
End Sub

Private Sub DataTime_Click()
Text1.SelText = Now
End Sub

Private Sub Delete_Click()
Text1.SelText = "" '清選擇的文本
End Sub

Private Sub Edit_Click()
'當程序顯示&ldquo;編輯&rdquo;子菜單前,觸發(fā)該程序
If Text1.SelLength > 0 Then
'文本框中有選中的文本
Cut.Enabled = True
Copy.Enabled = True
Delete.Enabled = True
Else
Cut.Enabled = False
Copy.Enabled = False
Delete.Enabled = False
End If

If Len(Clipboard.GetText()) > 0 Then
'剪裁板中有文本數(shù)據(jù)
Paste.Enabled = True
Else
'沒有可粘貼的文本
Paste.Enabled = False
End If
End Sub

Private Sub Exit_Click()
Unload Me
End Sub

Private Sub FindText_KeyPress(KeyAscii As Integer)
Dim BeginPos As Long

If KeyAscii = 13 Then
BeginPos = InStr(1, Text1.Text, FindText.Text, vbTextCompare)
If BeginPos > 0 Then
Text1.SelStart = BeginPos - 1
Text1.SelLength = Len(FindText.Text)
End If
End If
End Sub

Private Sub Fontcolor_Click()
CommonDialog1.ShowColor
Text1.ForeColor = CommonDialog1.Color
End Sub

Private Sub Form_Load()
Dim i As Integer

'加載圖像
ImgNew.Picture = ImageUp.ListImages("New").Picture
ImgOpen.Picture = ImageUp.ListImages("Open").Picture
ImgSave.Picture = ImageUp.ListImages("Save").Picture
ImgUndo.Picture = ImageDisable.ListImages("Undo").Picture
Check_ImgPaste
Check_ImgCutCopy

'加載系統(tǒng)字體
For i = 0 To Screen.FontCount - 1
ComboFont.AddItem Screen.Fonts(i)
Next i
End Sub

Private Sub Form_Resize()
Dim TextTop As Long

'修改工具條大小
CoolBar1.Top = Me.ScaleTop
?????????????????????????????
??????????????????????????????????
???????????
????????????????????????????
??????????
????????????????????????????????????????????
????????
???????????????????
??????????
?????????????????????????????????????
???????????????? Me.ScaleLeft
Text1.Width = Me.ScaleWidth
If Me.ScaleHeight > CoolBar1.Height Then
Text1.Height = Me.ScaleHeight - TextTop
Else
Text1.Height = 0
End If
End Sub

Private Sub ImgCopy_Click()
Copy_Click '復制
Check_ImgPaste
Check_ImgCutCopy
End Sub

Private Sub ImgCopy_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'&ldquo;按下&rdquo;按鈕
If Button = 1 Then
ImgCopy.Picture = ImageDown.ListImages("Copy").Picture
End If
End Sub

Private Sub ImgCopy_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "將選擇的文本復制到剪裁板"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgCopy.Picture = ImageDown.ListImages("Copy").Picture
ElseIf Button = 1 Then
ImgCopy.Picture = ImageUp.ListImages("Copy").Picture
End If
End Sub
Private Sub ImgCopy_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgCopy.Picture = ImageUp.ListImages("Copy").Picture
End If
End Sub

Private Sub ImgCut_Click()
'If Text1.SelLength > 0 Then
Cut_Click '剪切
Check_ImgPaste
Check_ImgCutCopy
'End If
End Sub

Private Sub ImgCut_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;按下&rdquo;按鈕
ImgCut.Picture = ImageDown.ListImages("Cut").Picture
End If
End Sub

Private Sub ImgCut_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "剪切選擇的文字到剪裁板"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgCut.Picture = ImageDown.ListImages("Cut").Picture
ElseIf Button = 1 Then
ImgCut.Picture = ImageUp.ListImages("Cut").Picture
End If
End Sub

Private Sub ImgCut_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgCut.Picture = ImageUp.ListImages("Cut").Picture
End If
End Sub

Private Sub ImgNew_Click()
New_Click
End Sub

Private Sub ImgNew_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;按下&rdquo;按鈕
ImgNew.Picture = ImageDown.ListImages("New").Picture
End If
End Sub

Private Sub ImgNew_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "創(chuàng)建新文件" '修改提示信息

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgNew.Picture = ImageDown.ListImages("New").Picture
ElseIf Button = 1 Then
ImgNew.Picture = ImageUp.ListImages("New").Picture
End If
End Sub

Private Sub ImgNew_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgNew.Picture = ImageUp.ListImages("New").Picture
End If
End Sub

Private Sub ImgOpen_Click()
Open_Click
End Sub

Private Sub ImgOpen_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'&ldquo;按下&rdquo;按鈕
If Button = 1 Then
ImgOpen.Picture = ImageDown.ListImages("Open").Picture
End If
End Sub
Private Sub ImgOpen_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "選擇文件名并打開文件"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgOpen.Picture = ImageDown.ListImages("Open").Picture
ElseIf Button = 1 Then
ImgOpen.Picture = ImageUp.ListImages("Open").Picture
End If
End Sub

Private Sub ImgOpen_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgOpen.Picture = ImageUp.ListImages("Open").Picture
End If
End Sub

Private Sub ImgPaste_Click()
Paste_Click '粘貼
End Sub

Private Sub ImgPaste_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;按下&rdquo;按鈕
ImgPaste.Picture = ImageDown.ListImages("Paste").Picture
End If
End Sub

Private Sub ImgPaste_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "粘貼文本到當前光標位置"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgPaste.Picture = ImageDown.ListImages("Paste").Picture
ElseIf Button = 1 Then
ImgPaste.Picture = ImageUp.ListImages("Paste").Picture
End If
End Sub

Private Sub ImgPaste_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
???????????
??????????????????????????????????????????????????????????????
??????????
???????

???????????????????????????
?????????????????????????????????
????
?????????????????????????????
?????????
?????????????????????????????????????
????????????????eName For Output As FileNum '打開輸出文件
'如果無指定文件,則創(chuàng)建新文件
Print #FileNum, Text1.Text '輸出文本
Close FileNum '關閉文件
ImgUndoDisable
Else
MsgBox "不能保存無名文件" + Chr(13) + Chr(10) + "請選擇&ldquo;文件&rdquo;菜單的&ldquo;保存&rdquo;項", , "警告"
End If
End Sub

Private Sub ImgSave_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
ImgSave.Picture = ImageDown.ListImages("Save").Picture
End If
End Sub

Private Sub ImgSave_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "保存當前文件"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgSave.Picture = ImageDown.ListImages("Save").Picture
ElseIf Button = 1 Then
ImgSave.Picture = ImageUp.ListImages("Save").Picture
End If
End Sub

Private Sub ImgSave_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgSave.Picture = ImageUp.ListImages("Save").Picture
End If
End Sub

Private Sub ImgUndo_Click()
Text1.Text = UndoString
End Sub

Private Sub ImgUndo_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;按下&rdquo;按鈕
ImgUndo.Picture = ImageDown.ListImages("Undo").Picture
End If
End Sub

Private Sub ImgUndo_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "取消當前操作"

'判斷鼠標位置,顯示不同圖像
If Button = 1 And (X > 0 And X < ImgNew.Width And Y > 0 And Y < ImgNew.Height) Then
ImgUndo.Picture = ImageDown.ListImages("Undo").Picture
ElseIf Button = 1 Then
ImgUndo.Picture = ImageUp.ListImages("Undo").Picture
End If
End Sub

Private Sub ImgUndo_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'&ldquo;抬起&rdquo;按鈕
ImgUndo.Picture = ImageUp.ListImages("Undo").Picture
End If
End Sub
Private Sub New_Click()
FileName = ""
Text1 = ""
ImgUndoDisable
End Sub

Private Sub Open_Click()
Dim FileNum As Integer
Dim buffer As String
Dim buffer1 As String
Dim FileSize As Long
Dim MaxLen As Long

MaxLen = 32768 '文件最大長度

CommonDialog1.ShowOpen '顯示"打開文件"對話框

If Len(CommonDialog1.FileName) > 0 Then
'有輸入文件名
FileName = CommonDialog1.FileName '保存文件名
FileSize = FileLen(FileName) '獲得文件長度
If FileSize > MaxLen Then
'文件超長
MsgBox "該文件過大,只能顯示部分文本", , "警告"
Exit Sub
End If

Screen.MousePointer = 11 '設置鼠標為沙漏

FileNum = FreeFile() '獲得可用文件號
Open FileName For Input As FileNum '以順序輸入方式打開文件

Do While Not EOF(FileNum) And Len(buffer) < MaxLen '讀必須文本小于 32K
Line Input #FileNum, buffer1 '讀一行文字
buffer = buffer + buffer1 + Chr(13) + Chr(10) '加入回車換行符
Loop '循環(huán)體

Close FileNum '關閉文件

ImgUndoDisable '取消 Undo 功能

Text1.Text = buffer '顯示文本
UndoNew = buffer '保存文本
buffer = "" '釋放內存
buffer1 = ""
Screen.MousePointer = 0 '恢復鼠標指針
Me.Caption = "記事本 - " + FileName '修改標題顯示
End If
End Sub

Private Sub Paste_Click()
Text1.SelText = Clipboard.GetText
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1 = "工具欄"
End Sub

Private Sub Picture1_Resize()
If Picture1.Width > Label1.Left Then
Label1.Width = Picture1.ScaleWidth - Label1.Left
End If
End Sub

Private Sub Save_Click()
Dim FileNum As Integer '文件句柄號

CommonDialog1.ShowSave '顯示保存對話框
If Len(CommonDialog1.FileName) > 0 Then
'有輸入文件名
FileName = CommonDialog1.FileName '保存文件名
FileNum = FreeFile() '獲得可用文件號
Open FileName For Output As FileNum '打開輸出文件
'如果無指定文件,則創(chuàng)建新文件
Print #FileNum, Text1.Text '輸出文本
Close FileNum '關閉文件
Me.Caption = "記事本 - " + FileName '修改標題顯示
ImgUndoDisable
End If
End Sub

Private Sub Text1_Change()
If Not ImgUndo.Enabled Then
'使&ldquo;Undo&rdquo;按鈕可用
ImgUndoEnable
End If
UndoString = UndoNew
UndoNew = Text1
End Sub

Private Sub Text1_Click()
Check_ImgCutCopy
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Check_ImgCutCopy
End sub
 

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)