基于vb的瓦斯警報(bào)課程設(shè)計(jì)報(bào)告書_第1頁
基于vb的瓦斯警報(bào)課程設(shè)計(jì)報(bào)告書_第2頁
基于vb的瓦斯警報(bào)課程設(shè)計(jì)報(bào)告書_第3頁
基于vb的瓦斯警報(bào)課程設(shè)計(jì)報(bào)告書_第4頁
基于vb的瓦斯警報(bào)課程設(shè)計(jì)報(bào)告書_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于vb的氣體報(bào)警監(jiān)控系統(tǒng)設(shè)計(jì)摘要計(jì)算機(jī)技術(shù)的發(fā)展推動(dòng)了編程語言的發(fā)展,尤其是面向?qū)ο缶幊陶Z言的出現(xiàn),極大地改進(jìn)了傳統(tǒng)的編程方法。 Visual basic 是一個(gè)功能強(qiáng)大的應(yīng)用程序開發(fā)工具,具有可視化界面設(shè)計(jì)技術(shù)和面向?qū)ο蟮木幊谭椒?。事件?qū)動(dòng)的編程機(jī)制。支持動(dòng)態(tài)數(shù)據(jù)交換(DDE )技術(shù)和對象與嵌入式(OLE )技術(shù),支持?jǐn)?shù)據(jù)庫訪問,支持多媒體和網(wǎng)絡(luò)開發(fā)等特性。VB 的中心思想是讓 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/39175.htm t _blank 程序員使用起來很容易,無論是新手還是專家。 VB 使用的 GUI 系統(tǒng)

2、可以很容易地構(gòu)建應(yīng)用程序,但可以開發(fā)相當(dāng)復(fù)雜的程序。 VB 程序是基于表單的可視組件排列組合,并添加了代碼來指定組件的屬性和方法。因?yàn)榻M件中已經(jīng)定義了一些默認(rèn)的屬性和方法,程序員不用寫太多代碼就可以完成一個(gè)簡單的程序。近年來,煤礦事故頻發(fā),礦難多與瓦斯?jié)舛雀哂嘘P(guān)。因此,對煤礦瓦斯?jié)舛冗M(jìn)行監(jiān)測,采取必要措施避免礦難,勢在必行。氣體報(bào)警監(jiān)測系統(tǒng)是基于可視化基礎(chǔ)語言的氣體濃度監(jiān)測系統(tǒng),可有效監(jiān)測氣體濃度并及時(shí)報(bào)警。從而避免了很多悲劇。因此,氣體報(bào)警系統(tǒng)具有很強(qiáng)的現(xiàn)實(shí)意義。論文主要圍繞visual basic語言的架構(gòu),介紹了氣體監(jiān)測系統(tǒng)的整體分析與設(shè)計(jì),包括用戶管理、功能模塊分析、數(shù)據(jù)采集和數(shù)據(jù)庫設(shè)

3、計(jì)。最后利用數(shù)據(jù)報(bào)表實(shí)現(xiàn)報(bào)表打印,并進(jìn)行了詳細(xì)說明。系統(tǒng)功能的實(shí)現(xiàn)主要通過圖片和代碼的結(jié)合來詳細(xì)說明。關(guān)鍵詞:氣體監(jiān)測系統(tǒng), visual basic,數(shù)據(jù)庫,控制,數(shù)據(jù)報(bào)表目錄單選題的含義41.1 選擇本題的理由41.2 完成本課題所使用的數(shù)據(jù)結(jié)構(gòu)和知識點(diǎn)41.2.1數(shù)據(jù)結(jié)構(gòu)41.2.2知識點(diǎn)4二、系統(tǒng)功能需求分析52.1 本系統(tǒng)主要功能概述52. 2 各模塊的組成和功能52.3 運(yùn)行環(huán)境5三種系統(tǒng)設(shè)計(jì)53.1 設(shè)計(jì)思維53.2 流程圖 . 53.3 數(shù)據(jù)庫設(shè)計(jì) . 6四系統(tǒng)的實(shí)現(xiàn) 74.1 用戶登錄74.1.1Form1代碼設(shè)計(jì)及截圖74.1.2Form2代碼設(shè)計(jì)及截圖94.1.3Form

4、3代碼設(shè)計(jì)及截圖104.1.4說明124.2 主要形式144.2.1代碼設(shè)計(jì)和截圖144.2.2說明164.3 刪除用戶174.3.1代碼和截圖174.3.2說明184.4 修改密碼194.4.1代碼和截圖194.4.2說明204.5 添加新用戶204.5.1源碼及界面截圖204.5.2說明 224.6 動(dòng)態(tài)曲線數(shù)據(jù)接口224.6.1程序代碼和截圖224.6.2說明 254.7 報(bào)表的顯示與打印254.7.1報(bào)告顯示254.7.2打印報(bào)告26總結(jié)271.1 選擇本題的原因在本次課程設(shè)計(jì)中,出于種種原因,我選擇了氣體報(bào)警監(jiān)控系統(tǒng)這個(gè)課題。首先,這個(gè)話題涉及的知識點(diǎn)非常廣泛。除了其他主題一般涉及的

5、數(shù)據(jù)庫知識外,還涉及到一些visual basic繪圖和vb中常用控件的知識。我認(rèn)為這對我的鍛煉非常重要。效果會(huì)很棒。其次,近年來,瓦斯爆炸事故頻發(fā),對人民群眾生命財(cái)產(chǎn)安全構(gòu)成極大威脅??梢姡擁?xiàng)目具有很強(qiáng)的現(xiàn)實(shí)意義。再次,需要一個(gè)人獨(dú)立完成,這對于鍛煉獨(dú)立完成任務(wù)的能力也很有幫助。1.2 用于完成本主題的數(shù)據(jù)結(jié)構(gòu)和知識點(diǎn)。1.2.1 數(shù)據(jù)結(jié)構(gòu):通過可視化數(shù)據(jù)管理器可以進(jìn)行數(shù)據(jù)庫操作。創(chuàng)建數(shù)據(jù)庫:啟動(dòng)可視化數(shù)據(jù)管理器,創(chuàng)建數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫表,編輯數(shù)據(jù)庫。1.2.2知識點(diǎn):訪問技術(shù):可以開發(fā)關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)庫可以匯集各種信息進(jìn)行查詢、存儲和檢索。數(shù)據(jù)庫(Database)是由一些有意義的、相

6、關(guān)的數(shù)據(jù)(data)組成的。一個(gè)數(shù)據(jù)庫包含多條記錄(Record),每條記錄又由多個(gè)字段(Field)組成,不同的字段存儲不同的數(shù)據(jù)。所以數(shù)據(jù)庫的嚴(yán)格定義是相關(guān)記錄的集合,字段是數(shù)據(jù)庫中最基本的數(shù)據(jù)項(xiàng)和最小的單位。計(jì)算機(jī)中用來幫助我們管理數(shù)據(jù)庫的系統(tǒng)稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS)。數(shù)據(jù)庫管理系統(tǒng)建立在一個(gè)或多個(gè)數(shù)據(jù)庫之上,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行管理和使用。 Access 的偉大之處在于它可以使用數(shù)據(jù)表示或自定義表單來收集信息,這些表單提供了一個(gè)類似 Excel 的電子表格,可以提供數(shù)據(jù)庫的概覽。此外,Access 內(nèi)容創(chuàng)建自定義報(bào)告以打印或輸出數(shù)據(jù)庫中的信息。 Access 還提供了一個(gè)數(shù)據(jù)存儲

7、庫,可用于將數(shù)據(jù)庫文件放置在使用桌面數(shù)據(jù)庫文件的網(wǎng)絡(luò)文件服務(wù)器上,并與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)提供了許多優(yōu)勢,將桌面數(shù)據(jù)庫的便利性與關(guān)系數(shù)據(jù)庫的強(qiáng)大功能集于一身。結(jié)構(gòu)化查詢語言 SQL:結(jié)構(gòu)化查詢語言 (SQL) 是一種用于訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。使用 SQL 語言,可以從數(shù)據(jù)庫中獲取數(shù)據(jù),創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫對象,添加和修改數(shù)據(jù),實(shí)現(xiàn)復(fù)雜的查詢功能。 .它是實(shí)現(xiàn)本系統(tǒng)的基礎(chǔ)。使用Data控件訪問數(shù)據(jù)庫:主要使用Data控件和數(shù)據(jù)綁定控件來編寫數(shù)據(jù)庫應(yīng)用程序。使用ADO控件訪問數(shù)據(jù)庫:主要使用ADO控件和數(shù)據(jù)綁定控件編寫數(shù)據(jù)庫應(yīng)用程序。使用數(shù)據(jù)報(bào)表控件制作

8、報(bào)表:主要使用數(shù)據(jù)報(bào)表設(shè)計(jì)器制作報(bào)表用線法畫線:用線法用Timer控件畫出氣體濃度的實(shí)時(shí)動(dòng)態(tài)曲線。器編輯菜單:使用菜單編輯器設(shè)計(jì)各種下拉菜單。二、系統(tǒng)功能需求分析2.1 本系統(tǒng)主要功能概述本系統(tǒng)的主要功能包括三個(gè)方面:1、制作登錄系統(tǒng),實(shí)現(xiàn)用戶登錄、注銷、新用戶、刪除用戶、修改用戶密碼,實(shí)現(xiàn)不同類型用戶的不同登錄形式。2、使用隨機(jī)函數(shù)模擬氣體濃度,同時(shí)將氣體濃度錄入數(shù)據(jù)庫,實(shí)現(xiàn)氣體濃度曲線的動(dòng)態(tài)顯示3. 顯示和打印報(bào)告。2.2各模塊組成及功能Access實(shí)現(xiàn)了數(shù)據(jù)的存儲和提取功能,構(gòu)成了系統(tǒng)的核心部分。該組件用于用戶管理和氣體濃度監(jiān)測。 VB龐大的控件和模塊為系統(tǒng)提供支持,Data Repor

9、t實(shí)現(xiàn)報(bào)表的打印,使氣體濃度數(shù)據(jù)更加直觀和可打印。2.3 運(yùn)行環(huán)境系統(tǒng)可以在visual basic程序中運(yùn)行,也可以轉(zhuǎn)換為exe格式,無需安裝即可在任何環(huán)境下運(yùn)行。三系統(tǒng)設(shè)計(jì)3.1 設(shè)計(jì)思維近年來,燃?xì)馐鹿暑l發(fā),基于Visual Basic語言可實(shí)現(xiàn)對燃?xì)鉂舛鹊谋O(jiān)測。我的基本思路是: 1.創(chuàng)建一個(gè)數(shù)據(jù)庫,預(yù)先輸入一些用戶名和密碼,用戶分為普通用戶和管理員兩種。其中,只有管理員可以添加和刪除用戶,一般用戶只能修改自己的密碼。然后,在同一個(gè)數(shù)據(jù)庫中創(chuàng)建一個(gè)氣體濃度數(shù)據(jù)表,輸入氣體濃度。二、利用隨機(jī)函數(shù)模擬各個(gè)串口的氣體濃度,利用Timer控件、ADO控件、 Data控件將表格與數(shù)據(jù)庫連接起來,將

10、相關(guān)數(shù)據(jù)輸入數(shù)據(jù)庫。三、報(bào)表顯示與打印。3.2 流程圖系統(tǒng)功能設(shè)計(jì)流程圖如圖瓦斯報(bào)警監(jiān)控系統(tǒng)瓦斯報(bào)警監(jiān)控系統(tǒng)數(shù)據(jù)處理用戶管理數(shù)據(jù)庫用戶刪除用戶登錄新增用戶注冊用戶密碼修改數(shù)據(jù)獲取實(shí)時(shí)曲線的繪制報(bào)警隨機(jī)函數(shù)報(bào)表的打印報(bào)表的制作3.3 數(shù)據(jù)庫設(shè)計(jì)本課程設(shè)計(jì)需要以下數(shù)據(jù)表一張是管理員數(shù)據(jù)表和普通用戶數(shù)據(jù)表,這兩張表用來存放他們的信息和密碼。數(shù)據(jù)結(jié)構(gòu)為表字段名稱類型闡明文字_記錄管理員(普通用戶)密碼文字_管理員密碼(普通用戶)此外,應(yīng)建立各監(jiān)測點(diǎn)的氣體濃度表,記錄各監(jiān)測點(diǎn)的氣體濃度。由于系統(tǒng)中有三個(gè)模擬監(jiān)控點(diǎn),所以需要建立三個(gè)表。它們的數(shù)據(jù)結(jié)構(gòu)如下字段名稱類型闡明時(shí)間文字_記錄當(dāng)前時(shí)間氣體濃度文字_

11、用于記錄當(dāng)前時(shí)間的氣體濃度實(shí)時(shí)值系統(tǒng)的實(shí)施4.1 用戶登錄這部分一共涉及三種形式4.1.1Form1 代碼設(shè)計(jì)和截圖私有子 Command1_Click()如果 Combo1.Text = 一般用戶 那么Form1.隱藏Form2.顯示Form2.Text1.SetFocus別的Form1.隱藏Form3.顯示Form3.Text1.SetFocus萬一結(jié)束子私有子 Command2_Click()結(jié)尾結(jié)束子私有子 Timer1_Timer()如果 Label1.Left + Label1.Width 0 那么Label1.Move Label1.Left - 50別的Label1.Left

12、= Form1.ScaleWidth萬一結(jié)束子Form1Form1截圖4.1.2For m 2代碼設(shè)計(jì)與截圖私有子 form_load()Text2.PasswordChar = *結(jié)束子私有子 Command1_Click()如果 Text1.Text = 那么MsgBox 不能為空! , vbOKOnly + vbExclamation, 提示Text1.Text = Text2.Text = Text1.SetFocus萬一如果 Text2.Text = 那么MsgBox 密碼不能為空! , vbOKOnly + vbExclamation, 提示Text1.Text = Text2.T

13、ext = Text1.SetFocus萬一Adodc1.RecordSource = select*from normal user where = & Text1.Text & and password = & Text2.Text & Adodc1.Refresh如果 Adodc1.Recordset.EOF = True 那么MsgBox 或者密碼錯(cuò)誤,請重新輸入, vbOKOnly + vbExclamation, 提示Text1.SetFocusText1.Text = Text2.Text = 別的Form2.隱藏Form4.顯示Form4.zengjiaxinyonghu.En

14、abled = FalseForm4.shanchuyonghu.Enabled = FalseMe.Text1.Text = Me.Text2.Text = 萬一結(jié)束子私有子 Command2_Click()Form2.隱藏Form1.顯示結(jié)束子FForm2截圖4.1.3Form 3代碼設(shè)計(jì)和截圖私有子 form_load()Text2.PasswordChar = *結(jié)束子私有子 Command1_Click()如果 Text1.Text = 那么MsgBox 不能為空! , vbOKOnly + vbExclamation, 提示Text1.Text = Text2.Text = Tex

15、t1.SetFocus別的如果 Text2.Text = 那么MsgBox 密碼不能為空! , vbOKOnly + vbExclamation, 提示Text1.Text = Text2.Text = Text1.SetFocus別的Adodc1.RecordSource = select*from admin where = & Text1.Text & and password = & Text2.Text & Adodc1.Refresh如果 Adodc1.Recordset.EOF = True 那么MsgBox 或密碼錯(cuò)誤,請重新輸入, vbOKOnly + vbExclamati

16、on, 提示Text1.SetFocusText1.Text = Text2.Text = 別的Form3.隱藏Form4.顯示萬一萬一萬一結(jié)束子私有子 Command2_Click()Form3.隱藏Form1.顯示結(jié)束子FForm3截圖4.1.4闡明登錄界面由form1、form2、form3三個(gè)接口組成,實(shí)現(xiàn)用戶的登錄。通過form1 中設(shè)置的ComboBox (組合框) ,用戶可以選擇自己所屬的用戶類型,讓不同的類型可以通過不同的路徑登錄。同時(shí),我還在窗體中添加了一個(gè)Timer控件來增強(qiáng)標(biāo)題的動(dòng)態(tài)效果。在form2和form3中,使用了ADO控件,這個(gè)控件的主要作用是實(shí)現(xiàn)表單與數(shù)據(jù)庫的

17、連接。 A DO 控制的設(shè)置步驟如下1、右鍵單擊ADO控件,在彈出的快捷菜單中選擇“ADODC屬性”選項(xiàng)。2、在彈出的屬性頁面中,點(diǎn)擊“生成”,然后在彈出的“數(shù)據(jù)連接屬性”中選擇或輸入數(shù)據(jù)庫名稱3、點(diǎn)擊“測試連接”,如果顯示“測試連接成功”,則表示已經(jīng)成功連接到數(shù)據(jù)庫。在本課程設(shè)計(jì)中,ADO控制的應(yīng)用極為廣泛。以下表格中涉及的ADO控件的設(shè)置方法與此處類似,屆時(shí)不再贅述。4.2 主要形式通過登錄界面完成登錄后,進(jìn)入主窗體( Form4 ) ,然后完成修改密碼、添加和注銷用戶、查看氣體濃度實(shí)時(shí)動(dòng)態(tài)曲線等各項(xiàng)功能。4.2.1代碼設(shè)計(jì)和截圖私分查勘劍孔店分布圖_Click()我隱藏Form5.顯示結(jié)

18、束子私有子dayinerhao_Click()我隱藏Form14.顯示結(jié)束子私人子 dayinsanhao_Click()我隱藏Form15.顯示結(jié)束子Private Sub dayinyihao_Click()Form4.隱藏Form10.顯示結(jié)束子私有子 erhao_Click()Form4.隱藏Form12.顯示結(jié)束子私有子 fanhui_Click()我隱藏Form1.顯示結(jié)束子Private Sub liaojiebenxitong_Click()我隱藏Form11.顯示結(jié)束子私有子 sanhao_Click()我隱藏Form13.顯示結(jié)束子私有子 shanchuyonghu_Cli

19、ck()我隱藏Form6.顯示結(jié)束子私有子 tongshi_Click()我隱藏Form16.顯示結(jié)束子私有子 xiugaimima_Click()Form4.隱藏Form7.顯示結(jié)束子私有子 yihao_Click()Form4.隱藏Form8.顯示結(jié)束子私有子 zengjiaxinyonghu_Click()Form4.隱藏Form9.顯示結(jié)束子FForm4截圖4.2.2闡明此表單使用菜單編輯器來編輯下拉菜單。下拉菜單的好處是可以使操作界面整潔美觀,程序的應(yīng)用和操作變得非常直觀方便。每個(gè)菜單項(xiàng)的屬性設(shè)置如下表所示。標(biāo)題姓名縮寫評論用戶管理雍湖館里沒有任何添加新用戶曾家新永湖刪除用戶永湖ch

20、ange PasswordxiugaimimaCheckcakanMonitoring point No. 1Yihao _Monitoring point No. 2E rhaoMonitoring point No. 3sanhaoView at the same timetongshiprint reportdayinbaobiaoPrint monitoring point No. 1Dayinyihao _print monitoring point 2Dayinerhao _Print Monitoring Point No. 3Dayinsanhao _learnliaojie了

21、解這個(gè)系統(tǒng)聊結(jié)本喜通查看監(jiān)控點(diǎn)分布圖茶坎劍孔店粉布圖返回登錄界面繁會(huì)4.3 刪除用戶4.3.1代碼和截圖私有子 form_load()Text3.PasswordChar = *結(jié)束子私有子 Command1_Click()如果 Text1.Text = 那么MsgBox 請輸入您要?jiǎng)h除的用戶, vbOKOnly + vbInformation, 提示Text1.SetFocus萬一如果 Text2.Text = 那么MsgBox 請輸入您的, vbOKOnly + vbInformation, 提示Text2.SetFocus萬一如果 Text3.Text = 那么MsgBox 請輸入密碼,

22、 vbOKOnly + vbInformation, 提示Text3.SetFocus萬一Data1.RecordSource = select*from admin where = & Text2.Text & and password = & Text3.Text & 數(shù)據(jù)1.刷新如果 Data1.Recordset.EOF = True 那么MsgBox 您或您的密碼不正確,請重新輸入, vbOKOnly + vbExclamation, 提示Text2.SetFocusText3.Text = Text2.Text = 別的Data2.RecordSource = select*fro

23、m general user where = & Text1.Text & 數(shù)據(jù)2.刷新如果 Data2.Recordset.EOF = True 那么MsgBox 要?jiǎng)h除的用戶不存在,請重試, vbOKOnly + vbExclamation, 提示別的暗淡為整數(shù)m = MsgBox(用戶刪除后無法恢復(fù),確定要?jiǎng)h除嗎? , 4 + 32 + 256, 提示)如果 m = vb是 那么Data2.RecordSource = select*from general user where = & Text1.Text & 數(shù)據(jù)2.刷新Data2.Recordset.DeleteData2.Rec

24、ordset.MoveNextIfData2.Recordset.EOFthen Data1.Recordset.MoveLast: MsgBox 這是最后一條記錄,確定要?jiǎng)h除嗎? , vbOKOnly + vbExclamation, Alert 萬一萬一萬一結(jié)束子私有子 Command2_Click()我隱藏Form4.顯示結(jié)束子FForm6截圖4.3.2闡明此表單用于刪除用戶。根據(jù)系統(tǒng)設(shè)置,只有“管理員”才能刪除用戶。管理員只需按要求輸入要?jiǎng)h除的用戶自己的用戶名和密碼,然后點(diǎn)擊“確定”即可刪除該用戶。數(shù)據(jù)控件主要用于實(shí)現(xiàn)表單與數(shù)據(jù)庫的連接。實(shí)現(xiàn)刪除特定字段的功能。4.4 更改密碼4.4.

25、1代碼和截圖私有子 form_load()Text2.PasswordChar = *Text3.PasswordChar = *Text4.PasswordChar = *結(jié)束子私有子 Command1_Click()如果 Text4.Text Text3.Text 那么MsgBox 兩次輸入的密碼不同,請重新輸入, vbOKOnly + vbExclamation, 溫馨提示Text3.Text = Text4.Text = Text3.SetFocus萬一如果 Text1.Text = 那么MsgBox 請輸入您的, vbOKOnly + vbExclamation, 溫馨提示Text1

26、.SetFocus萬一Adodc1.RecordSource = select*from & Combo1.Text & where = & Text1.Text & and Password = & Text2.Text & Adodc1.Refresh如果 Adodc1.Recordset.EOF = True 那么MsgBox 或密碼錯(cuò)誤,請重新輸入, vbOKOnly + vbExclamation, 提示Text1.SetFocusText1.Text = Text2.Text = Text3.Text = Text4.Text = Text1.SetFocus別的Adodc1.Re

27、cordSource = select*from & Combo1.Text & where = & Text1.Text & and password= & Text2.Text & Adodc1.RefreshAdodc1.Recordset.Fields(密碼) = Text3.TextAdodc1.Recordset.UpdateMsgBox 密碼更改錯(cuò)誤, vbOKOnly + vbInformation, 提示Text1.Text = Text2.Text = Text3.Text = Text4.Text = Form7.隱藏Form4.顯示萬一結(jié)束子私有子 Command2_C

28、lick()Form7.隱藏Form4.顯示結(jié)束子FForm7截圖4.4.2闡明本程序的原理與上一個(gè)程序基本相同,只是不是刪除一個(gè)字段,而是重寫該字段的一條記錄。4.5 添加新用戶4.5.1源代碼和界面截圖私有子 form_load()Text2.PasswordChar = *Text3.PasswordChar = *結(jié)束子私有子 Command1_Click()如果 Text1.Text = 那么MsgBox 請輸入新用戶!, vbOKOnly + vbExclamation, 提示Text1.SetFocus別的Adodc1.RecordSource = select*from nor

29、mal users where = & Text1.Text & Adodc1.Refresh如果不是 Adodc1.Recordset.EOF 則MsgBox 用戶名已經(jīng)存在,請重新輸入, vbOKOnly + vbExclamation, 提示Text1.SetFocusText1.Text = Text2.Text = Text3.Text = 別的如果 Text2.Text Text3.Text 那么MsgBox 兩次輸入的密碼不同,請重試, vbOKOnly + vbExclamation, 提示Text2.SetFocus別的Adodc1.RecordSource = select

30、*from general user Adodc1.Recordset.AddNewAdodc1.Recordset.Fields() = Text1.TextAdodc1.Recordset.Fields(密碼) = Text2.TextAdodc1.Recordset.UpdateMsgBox 用戶添加成功, vbOKOnly + vbExclamation, 添加用戶我隱藏Form4.顯示萬一萬一萬一結(jié)束子私有子 Command2_Click()Form9.隱藏Form4.顯示Me.Text1.Text = Me.Text2.Text = Me.Text3.Text = 結(jié)束子FForm

31、9截圖4.5.2闡明本方案的原理與上一個(gè)方案基本相同,此處不再贅述。4.6 動(dòng)態(tài)曲線數(shù)據(jù)接口這部分實(shí)現(xiàn)了氣體濃度的動(dòng)態(tài)監(jiān)測,即可以同時(shí)查看多個(gè)監(jiān)測點(diǎn)的氣體濃度變化,游客可以單獨(dú)查看特定的監(jiān)測點(diǎn)。4.6.1程序代碼和截圖這部分與Form8 (顯示1號氣體濃度監(jiān)測點(diǎn)的氣體濃度值動(dòng)態(tài)變化) 、Form12 (顯示2號氣體濃度監(jiān)測點(diǎn)的氣體濃度值動(dòng)態(tài)變化) 、Form13有關(guān)(顯示3號氣體濃度值)濃度監(jiān)測點(diǎn)氣體濃度值動(dòng)態(tài)變化) , Form16(同時(shí)顯示各氣體濃度監(jiān)測點(diǎn)氣體濃度值動(dòng)態(tài)變化) 。由于這些表單代碼的原理基本相同,這里我僅以Form8的代碼為例,其他表單的代碼不再贅述。Form8的代碼如下Op

32、tion Explicit 強(qiáng)制顯式聲明變量Dim DataFromCom As Integer 從串口讀取的實(shí)時(shí)值Dim DataFromComLast As Integer 最后一個(gè)串口值Dim TimeCount As Integer計(jì)時(shí)私有子 form_load()PicScale 圖片圖片中線圖片結(jié)束子Private Sub PicScale(picX As PictureBox) 定義了一個(gè)名為PicScale的過程來調(diào)整圖像框的坐標(biāo)系picX.Scale (0, picX.ScaleHeight)-(picX.ScaleWidth, -picX.ScaleHeight)結(jié)束子Pr

33、ivate Sub PicMidleLine(picX As PictureBox) 定義一個(gè)名為PicMidleLine的進(jìn)程,作用是使用Line方法在圖像框內(nèi)繪制中心線picX.Line (0, 0)-(picX.ScaleWidth, 0), vbGreen結(jié)束子Private Sub DrawRealLine(picX As PictureBox, TimeCountX As Integer, DataFromComX As Integer, DataFromComLastX As Integer) 定義一個(gè)叫做DrawRealLine的過程來繪制氣體濃度的動(dòng)態(tài)曲線如果 TimeCou

34、ntX - 1 0 那么picX.Line (TimeCountX 1 ) *10, DataFromComLastX)-(TimeCountX *10 , DataFromComX), vbWhite 使用Line方法將表示上一時(shí)刻氣體濃度值的點(diǎn)與表示氣體濃度值的點(diǎn)連接起來在當(dāng)前時(shí)刻用一條直線萬一結(jié)束子私有子 Timer1_Timer()DataFromComLast = DataFromCom隨機(jī)化DataFromCom = 3000 * Rnd 使用隨機(jī)函數(shù)模擬從串口讀取的實(shí)時(shí)值時(shí)間計(jì)數(shù) = 時(shí)間計(jì)數(shù) + 1DrawRealLine Pic, TimeCount, DataFromCom

35、, DataFromComLast 繪制實(shí)時(shí)曲線Text1.Text = Str(DataFromCom)如果 DataFromCom 2900 那么MsgBox 1號監(jiān)測點(diǎn)氣體濃度超標(biāo), vbOKOnly, 警告萬一結(jié)束子私有子 Timer2_Timer()Label2.Caption = Hour(Now) & : & Minute(Now) & : & Second(Now)結(jié)束子私有子 Timer3_Timer()1號監(jiān)測點(diǎn)的氣體濃度表中選擇*其中time = & Hour(Now) & : & Minute(Now) & : & Second(Now) & 每 1 秒內(nèi)將數(shù)據(jù)寫入對應(yīng)

36、的數(shù)據(jù)庫Adodc1.RecordSource = select*from監(jiān)測點(diǎn) 1 號氣體濃度表其中氣體濃度= & DataFromCom & Adodc1.RefreshAdodc1.RecordSource = select*from gas Adodc1.Recordset.AddNewAdodc1.Recordset.Fields( Time ) = Hour(Now) & : & Minute(Now) & : & Second(Now)Adodc1.Recordset.Fields(氣體濃度) = DataFromComAdodc1.Recordset.Update結(jié)束子私有子 Command1_Click()卸載我Form4.顯示結(jié)束子FForm8截圖4.6.2闡明該部分主要用于實(shí)現(xiàn)氣體濃度曲線的動(dòng)態(tài)顯示。這部分是整個(gè)課程設(shè)計(jì)中最復(fù)雜、難度最大的部分。它涉及到很多方面的知識,比如進(jìn)程調(diào)用圖的繪制,需要我們有很強(qiáng)的綜合能力。在這個(gè)程序中,我寫了幾個(gè)程序來繪制函數(shù)圖像,提前編寫程序程序可以使調(diào)用更加方便。在本地程序中,將數(shù)據(jù)寫入數(shù)據(jù)庫的代碼是我之前沒有學(xué)過的,所以在寫這部分程序的時(shí)候,我查了很多資料才完成這部分。為了解決每秒向數(shù)據(jù)庫寫入數(shù)據(jù)的問題,我將向數(shù)據(jù)庫寫入數(shù)據(jù)的語句置于Timer控制之下,從而解決了這個(gè)問題。4.7 報(bào)告的顯示和打印各監(jiān)

溫馨提示

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

最新文檔

評論

0/150

提交評論