版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單 位 分院(系)</p><p> 專 業(yè) </p><p> 學(xué) 號(hào) </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p>&l
2、t;p> 完成日期 二零一零年 七 月 五 日</p><p> 我們?nèi)粘I钪袝?huì)用到許多軟件,有聊天、娛樂等等。也會(huì)瀏覽許多網(wǎng)站,但我們經(jīng)常使用的卻不多,此外,我們每天要做的事也需要有備忘,以及我們的聯(lián)系簿等。此軟件就是依舊人們的這些需求而編寫的。內(nèi)容包括對(duì)常用的網(wǎng)站操作,聯(lián)系簿和備忘錄的操作。本軟件采用Visual Basic語言來編寫,實(shí)現(xiàn)的需求功能。</p><p&
3、gt; Visual Basic語言簡(jiǎn)便易學(xué),有許多優(yōu)點(diǎn),例如:可編寫標(biāo)準(zhǔn)模塊,在多個(gè)窗體中調(diào)用相同的程序,也可自定義函數(shù),在同一工程中自由調(diào)用,可以添加多個(gè)專用部件,為編程帶來了方便,為編寫使用方便、功能強(qiáng)大的生活小助手軟件提供了良好的平臺(tái)。</p><p> 軟件功能編寫中使用了access數(shù)據(jù)庫,通過對(duì)數(shù)據(jù)庫的調(diào)用實(shí)現(xiàn)了數(shù)據(jù)的管理。大量調(diào)用事件、過程、函數(shù)及窗體,實(shí)現(xiàn)了需求的功能。</p>
4、<p> 論文首先介紹了生活小助手開發(fā)涉及的相關(guān)技術(shù),主要圍繞Visual Basic語言的相關(guān)對(duì)象和事件。其次,介紹了生活小助手的總體分析與設(shè)計(jì),包括需求分析、功能模塊分析和程序設(shè)計(jì)。最后,通過Visual Basic語言的開發(fā)界面檢驗(yàn)了該程序的可用性,并以具體描述與展示代碼相結(jié)合的方式詳細(xì)地?cái)⑹隽讼到y(tǒng)功能的實(shí)現(xiàn)。</p><p> 關(guān)鍵詞:Visual Basic語言、生活小助手軟件、數(shù)據(jù)庫。
5、</p><p><b> 目 錄</b></p><p> 第一章選題的意義7</p><p> 第二章系統(tǒng)功能需求分析9</p><p> 2.2 系統(tǒng)的構(gòu)成9</p><p> 2.3 各模塊的功能10</p><p> 第三章系統(tǒng)代碼12
6、</p><p> 第四章系統(tǒng)實(shí)現(xiàn)55</p><p><b> 第五章總結(jié)57</b></p><p><b> 選題的意義</b></p><p> 生活小助手是對(duì)日常生活使用的軟件的管理的應(yīng)用軟件。選擇自己編寫軟件程序是因?yàn)槟芨羁痰亓私釼isual Basic軟件的應(yīng)用,并且
7、能夠?qū)W習(xí)到簡(jiǎn)易軟件的編寫、開發(fā)過程。</p><p> 通過本次實(shí)習(xí)的程序制作,使學(xué)生進(jìn)一步掌握了Visual Basic的基礎(chǔ)知識(shí)、規(guī)范和高級(jí)語言程序設(shè)計(jì)的基本方法,理解事件驅(qū)動(dòng)的特性,能夠閱讀由Visual Basic編寫的程序。</p><p> 了解并學(xué)會(huì)了對(duì)數(shù)據(jù)庫的增刪改查等基本的功能運(yùn)用,通過數(shù)據(jù)庫對(duì)一般數(shù)據(jù)的管理。并掌握一般的程序設(shè)計(jì)方法,具有一定的程序調(diào)試能力,為后續(xù)的
8、計(jì)算機(jī)課程打下堅(jiān)實(shí)的基礎(chǔ)。 本次實(shí)習(xí)我們學(xué)到的知識(shí)有:熟悉Visual Basic集成開發(fā)環(huán)境,了解Visual Basic中對(duì)象的概念和事件驅(qū)動(dòng)程序的基本特性,掌握基本的數(shù)據(jù)結(jié)構(gòu)和常用算法,學(xué)會(huì)了數(shù)據(jù)庫的方法使用,數(shù)據(jù)的管理,能夠編寫和調(diào)試Visual Basic程序。</p><p> 我們?cè)O(shè)計(jì)該軟件的主要目的是: </p><p>
9、; 1. 通過該題目的設(shè)計(jì),掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;</p><p> 2. 掌握菜單的使用方法;</p><p> 3. 掌握多窗體的調(diào)用方法;</p><p> 4. 掌握數(shù)據(jù)庫的應(yīng)用;</p><p> 5.?dāng)?shù)據(jù)庫的調(diào)用,及對(duì)數(shù)據(jù)的管理。</p><p>&
10、lt;b> 系統(tǒng)功能需求分析</b></p><p><b> 系統(tǒng)概述</b></p><p> 我設(shè)計(jì)的軟件,模仿了萬能收藏窗體布局、其中部分功能與它相似。窗體大致分為:標(biāo)題欄、菜單欄、工具欄、工作區(qū)、狀態(tài)欄幾個(gè)部分。系統(tǒng)擁有網(wǎng)址的保存、修改、刪除,和瀏覽網(wǎng)頁;聯(lián)系簿的保存、修改、刪除;及備忘等功能。</p><p>
11、;<b> 系統(tǒng)的構(gòu)成</b></p><p> 我們?cè)O(shè)計(jì)的軟件,窗體布局簡(jiǎn)潔,方便實(shí)用。軟件主要有氣個(gè)窗體構(gòu)成,登陸、主窗口、添加網(wǎng)址、添加聯(lián)系人,備忘錄、數(shù)據(jù)查找窗體、標(biāo)準(zhǔn)模塊。</p><p> 登錄窗口主要包括combo、text錄入。驗(yàn)證碼的使用、數(shù)據(jù)庫的鏈接等</p><p> 主窗口主要包括viewtree、dgbrid顯
12、示數(shù)據(jù),快捷鍵的使用、菜單欄、數(shù)據(jù)庫的鏈接等</p><p> 添加窗體主要包括combo輸入及下拉菜單的使用、數(shù)據(jù)的顯示、數(shù)據(jù)庫的鏈接等</p><p> 備忘錄窗體主要包括欄、文本編輯、文字計(jì)數(shù)、數(shù)據(jù)庫的鏈接等。</p><p> 數(shù)據(jù)查找窗體主要包括combo輸入及下拉菜單的使用、dbgrid數(shù)據(jù)顯示數(shù)據(jù)庫的鏈接等。</p><p&g
13、t; 標(biāo)準(zhǔn)模塊主要包括各種函數(shù)、全局變量的聲明,文件初始化等功能。</p><p><b> 各模塊的功能</b></p><p> 登錄窗體與數(shù)據(jù)庫鏈接實(shí)現(xiàn)單對(duì)單(一個(gè)賬戶對(duì)應(yīng)一個(gè)密碼)登陸模式,實(shí)用隨機(jī)數(shù)產(chǎn)生驗(yàn)證碼限制登錄。</p><p> 主窗體使用viewtree與dbgrid顯示數(shù)據(jù)庫內(nèi)容,同時(shí)是viewtree中節(jié)點(diǎn)與db
14、grid相連,實(shí)現(xiàn)隨時(shí)變化。菜單欄中添加、修改按鈕能實(shí)現(xiàn)對(duì)其他窗體的調(diào)用,同時(shí)改變顯示窗體的標(biāo)題欄屬性;菜單欄中的刪除按鈕可以刪除對(duì)應(yīng)項(xiàng)在數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容,并同時(shí)改變dbgrid格內(nèi)容;菜單欄中的查看網(wǎng)址按鈕可打開瀏覽器瀏覽相應(yīng)網(wǎng)頁;查找按鈕可查找數(shù)據(jù)庫中相應(yīng)內(nèi)容。下方的狀態(tài)欄可以顯示操作人的信息,與系統(tǒng)詳細(xì)時(shí)間等內(nèi)容。</p><p> 添加窗體與數(shù)據(jù)庫相連,單擊保存改變數(shù)據(jù)庫中數(shù)據(jù),取消關(guān)閉相應(yīng)窗口。<
15、;/p><p> 修改窗體可讀取顯存數(shù)據(jù)庫中的內(nèi)容,并進(jìn)行修改,取消關(guān)閉相應(yīng)窗口。當(dāng)改變關(guān)系與類型與數(shù)據(jù)庫中無相符內(nèi)容時(shí),則改變數(shù)據(jù)樹內(nèi)容。</p><p> 編輯菜單項(xiàng)具有編輯文本文件的最基本、最常見的功能,復(fù)制菜單項(xiàng)可以復(fù)制已選定的文本,剪切菜單項(xiàng)可以剪切已選定的文本,粘貼菜單項(xiàng)可以可以再光標(biāo)插入點(diǎn)處插入一已復(fù)制或已剪切的文本。全選菜單項(xiàng)可以把當(dāng)前文本全部選中。同時(shí)字體菜單可改變字體屬
16、性。在文本框中內(nèi)容改變時(shí),統(tǒng)計(jì)其中字?jǐn)?shù)顯示在下方,當(dāng)字?jǐn)?shù)超出一定限制是給出提示。</p><p><b> 系統(tǒng)的運(yùn)行環(huán)境</b></p><p> 系統(tǒng)的運(yùn)行環(huán)境是win7、Vista 、XP等常用系統(tǒng)軟件。</p><p><b> 各模塊的功能</b></p><p> 軟件具有儲(chǔ)存修
17、改網(wǎng)址、聯(lián)系簿、備忘錄的功能。</p><p> 登錄窗口有數(shù)據(jù)庫連接,實(shí)現(xiàn)單對(duì)單(一個(gè)賬號(hào)對(duì)應(yīng)一個(gè)密碼)登陸系統(tǒng)。使用隨機(jī)數(shù)產(chǎn)生驗(yàn)證碼限制登錄情況。</p><p> 主窗口使用viewtree顯示數(shù)據(jù)庫中類型表的顯示,使用dbgrid顯示數(shù)據(jù)中的詳細(xì)數(shù)據(jù),菜單欄是文件功能的具體體現(xiàn)者,具有對(duì)其他窗體的顯示的調(diào)用功能。新建菜單調(diào)用添加網(wǎng)址、添加聯(lián)系人或添加備忘窗體;修改菜單調(diào)用修改網(wǎng)
18、址、修改聯(lián)系人或修改備忘窗體;點(diǎn)擊刪除會(huì)在數(shù)據(jù)庫中刪除相應(yīng)項(xiàng);查找聯(lián)系人會(huì)調(diào)用查找窗體,查看網(wǎng)址會(huì)啟動(dòng)瀏覽器查看相應(yīng)網(wǎng)頁。</p><p> 當(dāng)點(diǎn)擊添加時(shí),窗體的caption屬性為添加,當(dāng)點(diǎn)擊確定時(shí)改變數(shù)據(jù)庫內(nèi)容;取消退出窗體。</p><p> 當(dāng)點(diǎn)擊修改時(shí),窗體的caption屬性會(huì)變?yōu)樾薷?,同時(shí)讀取數(shù)據(jù)庫文件顯示相應(yīng)數(shù)據(jù),當(dāng)內(nèi)容數(shù)據(jù)發(fā)生改變時(shí)對(duì)數(shù)據(jù)庫內(nèi)容進(jìn)行修改;點(diǎn)擊取消突出窗
19、體。</p><p> 當(dāng)窗體中的類型或關(guān)系框中內(nèi)容與數(shù)據(jù)庫中內(nèi)容不符,則同時(shí)在類型數(shù)據(jù)表中進(jìn)行修改。</p><p> 備忘錄菜單中菜單欄編輯菜單項(xiàng)具有編輯文本文件的最基本、最重要、也是最常見的功能,復(fù)制菜單項(xiàng)可以復(fù)制已選定的文本,剪切菜單項(xiàng)可以剪切已選定的文本,粘貼菜單項(xiàng)可以可以再光標(biāo)插入點(diǎn)處插入一已復(fù)制或已剪切的文本。全選菜單項(xiàng)可以把當(dāng)前文本全部選中。</p>&l
20、t;p><b> 系統(tǒng)代碼</b></p><p><b> 主窗體代碼</b></p><p> Option Explicit</p><p> Const treewide = 2000 'TREEVIEW的最小寬度</p><p> Const biaowide =
21、2000 'DBGRID的最小寬度</p><p> Private Sub Form_Load()</p><p> imgPointer.Left = ReadIni("chuangti", "imgpointerleft", "1200") '從ini文件中確定窗體大小</p>
22、;<p> Me.Move ReadIni("chuangti", "formleft", "100"), ReadIni("chuangti", "formtop", "100"), ReadIni("chuangti", "formwidth", "
23、2400"), ReadIni("chuangti", "formheight", "2400")</p><p> 'Me關(guān)鍵字像是隱含聲明的變量。這個(gè)關(guān)鍵字適用于類模塊中的每個(gè)過程。當(dāng)類有多個(gè)實(shí)例時(shí),Me在代碼正在執(zhí)行的地方提供引用具體實(shí)例的方法。要把當(dāng)前執(zhí)行類實(shí)例的有關(guān)信息傳遞到另一個(gè)模塊的過程,Me非常有用</p>
24、<p> Data1.DatabaseName = dizhi & "shuju.mdb"</p><p> Set Datashuju = Workspaces(0).OpenDatabase(dizhi & "shuju.mdb", False, False)</p><p><b> ListTre
25、e</b></p><p> lianxibiao</p><p><b> End Sub</b></p><p> Private Sub Form_Resize() '當(dāng)一個(gè)對(duì)象第一次顯示或當(dāng)一個(gè)對(duì)象的窗口狀態(tài)改變時(shí)該事件發(fā)生</p><p> On Error Resume Next
26、' resume在錯(cuò)誤處理程序結(jié)束后,恢復(fù)原先的運(yùn)行。如果錯(cuò)誤和錯(cuò)誤處理程序出現(xiàn)在同一個(gè)程序中,則從緊隨產(chǎn)生錯(cuò)誤的語句的下個(gè)語句恢復(fù)運(yùn)行。如果錯(cuò)誤發(fā)生在被調(diào)用的過程中,則對(duì)最后一次調(diào)用包含錯(cuò)誤處理程序的過程的語句(或OnErrorResumeNext語句),從緊隨該語句之后的語句處恢復(fù)運(yùn)行</p><p> If Me.Width < treewide + biaowide Then Me.Wid
27、th = treewide + biaowide</p><p> If Me.WindowState <> 1 Then chicun imgPointer.Left 'windowstate返回或設(shè)置一個(gè)值,該值用來指定在運(yùn)行時(shí)窗體窗口的可視狀態(tài)。0為正常,1最小化,2最大化</p><p><b> End Sub</b></p&g
28、t;<p> Private Sub chicun(X As Long)</p><p> X = treewide</p><p> TreeView1.Width = X</p><p> imgPointer.Left = X + 40</p><p> DBGrid1.Left = X + 40</p&g
29、t;<p> DBGrid1.Width = Me.Width - (TreeView1.Width + 100)</p><p> TreeView1.Top = Toolbar1.Height</p><p> DBGrid1.Top = TreeView1.Top + 2</p><p> imgPointer.Top = TreeVie
30、w1.Top</p><p> picMove.Top = TreeView1.Top</p><p> TreeView1.Height = Me.ScaleHeight - TreeView1.Top - 300 '設(shè)置 height</p><p&g
31、t; DBGrid1.Height = TreeView1.Height</p><p> imgPointer.Height = TreeView1.Height</p><p> picMove.Height = TreeView1.Height</p><p> StatusBar1.Top = Me.ScaleHeight - TreeView1.H
32、eight - TreeView1.Top - 300</p><p> StatusBar1.Height = 300</p><p><b> End Sub</b></p><p> Public Sub ListTree() '顯示樹形
33、列表</p><p> Dim a As Node</p><p> Dim b As Long</p><p><b> '添加地址薄類型</b></p><p> TreeView1.Nodes.Clear</p><p> Set a = TreeView1.Nodes.A
34、dd(, , "l", "聯(lián)系人") 'object.Add (relative, relationship, key, text, image, selectedimage)</p><p> With Datashuju.OpenRecordset("select * from list where book='lia
35、nxiren'")</p><p> While Not .EOF</p><p><b> b = b + 1</b></p><p> Set a = TreeView1.Nodes.Add("l", tvwChild, "l" & b, !Type) 'Tv
36、wChild4(缺?。┳庸?jié)點(diǎn)。該Node節(jié)點(diǎn)是relative命名節(jié)點(diǎn)的子節(jié)點(diǎn)</p><p><b> .MoveNext</b></p><p><b> Wend</b></p><p><b> End With</b></p><p> a.EnsureVis
37、ible</p><p><b> '添加網(wǎng)址薄類型</b></p><p> Set a = TreeView1.Nodes.Add(, , "W", "網(wǎng)址薄")</p><p> With Datashuju.OpenRecordset("select * from list
38、 where book='wangzhi'")</p><p> While Not .EOF</p><p><b> b = b + 1</b></p><p> Set a = TreeView1.Nodes.Add("W", tvwChild, "W" &
39、b, !Type)</p><p><b> .MoveNext</b></p><p><b> Wend</b></p><p><b> End With</b></p><p> a.EnsureVisible</p><p><b
40、> '添加備忘列表</b></p><p> Set a = TreeView1.Nodes.Add(, , "b", "備忘錄")</p><p> With Datashuju.OpenRecordset("select * from list where book='beiwang'&q
41、uot;)</p><p> While Not .EOF</p><p><b> b = b + 1</b></p><p> Set a = TreeView1.Nodes.Add("b", tvwChild, "b" & b, !Type)</p><p>&
42、lt;b> .MoveNext</b></p><p><b> Wend</b></p><p><b> End With</b></p><p> a.EnsureVisible</p><p><b> End Sub</b></p&g
43、t;<p> Public Sub lianxibiao(Optional strRelation As String)</p><p> Dim a As String</p><p> a = "select 姓名,關(guān)系,電話,地址,qq,Email,備注 from lianxiren"</p><p> If strR
44、elation <> "" Then a = a & " where 關(guān)系='" & strRelation & "'"</p><p> Data1.RecordSource = a 'ecordSource 設(shè)置一個(gè)數(shù)據(jù)控件的底層表、sql語句或querydef</p&g
45、t;<p> Data1.Refresh</p><p> shujudbg 7, "lianxiren"</p><p> If strRelation <> "" Then DBGrid1.Columns(1).Visible = True</p><p><b> End Su
46、b</b></p><p> Public Sub wangzhibiao(Optional strType As String)</p><p> Dim a As String</p><p> a = "select 名稱,網(wǎng)址,類型,備注 from wangzhi"</p><p> If st
47、rType <> "" Then a = a & " where 類型='" & strType & "'"</p><p> Data1.RecordSource = a 'ecordSource 設(shè)置一個(gè)數(shù)據(jù)控件的底層表、sql語句或querydef
48、</p><p> Data1.Refresh</p><p> shujudbg 4, "wangzhi"</p><p><b> End Sub</b></p><p> Public Sub beiwangbiao(Optional strType As String)</p&g
49、t;<p> Dim a As String</p><p> a = "select 文件名,內(nèi)容 from beiwang"</p><p> If strType <> "" Then a = a & " where 類型='" & strType & &quo
50、t;'"</p><p> Data1.RecordSource = a 'ecordSource 設(shè)置一個(gè)數(shù)據(jù)控件的底層表、sql語句或querydef</p><p> Data1.Refresh</p><p> shujudbg 2, "beiwang"</p&
51、gt;<p><b> End Sub</b></p><p> Private Sub shujudbg(lieshu As Long, shujukuming As String)</p><p> Dim yuanlieshu As Long, i As Integer, b As Integer</p><p>
52、yuanlieshu = DBGrid1.Columns.Count</p><p> b = lieshu - yuanlieshu</p><p> For i = 1 To b</p><p> DBGrid1.Columns.Add (1)</p><p><b> Next</b></p>
53、<p> For lieshu = 0 To lieshu - 1 '設(shè)置字段、寬度</p><p> DBGrid1.Columns(lieshu).Width = ReadIni(shujukuming, "colwid" & lieshu, 2000)</p><p><b>
54、Next</b></p><p><b> End Sub</b></p><p> Private Sub treeview1_NodeClick(ByVal Node As ComctlLib.Node)</p><p> Select Case Node.Key</p><p><b>
55、 Case "l"</b></p><p> lianxibiao</p><p> Case "l1" To "l9", "l10" To "l99"</p><p> lianxibiao Node.Text</p><p&
56、gt;<b> Case "W"</b></p><p> wangzhibiao</p><p> Case "W1" To "W9", "W10" To "W99"</p><p> wangzhibiao Node.Text<
57、/p><p><b> Case "b"</b></p><p> beiwangbiao</p><p> Case "b1" To "b9", "b10" To "b99"</p><p> beiwangbiao
58、 Node.Text</p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)</p><p> Cancel = True
59、 '取消標(biāo)簽編輯操作</p><p><b> End Sub</b></p><p> Private Sub men_Click(Index As Integer) '點(diǎn)擊菜單事件</p><p> Select Case Index</p><p><b> Case
60、1</b></p><p> lianxiadd.liancaozuo = 1</p><p> lianxiadd.Show vbModal, Me</p><p><b> Case 2</b></p><p><b> shanlian</b></p><
61、;p><b> Case 3</b></p><p> lianxiadd.liancaozuo = 2</p><p> lianxiadd.Show vbModal, Me</p><p><b> Case 4</b></p><p> chazhao.Show</p&g
62、t;<p> End Select</p><p><b> End Sub</b></p><p> Private Sub wang_Click(Index As Integer) '點(diǎn)擊菜單事件</p><p> Dim a As Long</p><p> Select Case
63、Index</p><p><b> Case 1</b></p><p> wangzhiadd.wangcaozuo = 1</p><p> wangzhiadd.Show vbModal, Me</p><p><b> Case 2</b></p><p>
64、<b> shanwang</b></p><p><b> Case 3</b></p><p> wangzhiadd.wangcaozuo = 2</p><p> wangzhiadd.Show vbModal, Me</p><p><b> Case 4</b&
65、gt;</p><p> If InStr(Data1.RecordSource, "wangzhi") > 0 Then</p><p> With Data1.Recordset</p><p> If Not .EOF And Not .BOF Then '指針處于中間位置</p><p> I
66、f Left(!網(wǎng)址, 7) = "http://" Then</p><p> a = ShellExecute(Me.hwnd, "Open", !網(wǎng)址, "", App.Path, 1)</p><p><b> Else</b></p><p> 'shellex
67、ecute(byval hwand as Long ,byval ipoperation as String ,byval ipfile as String ,byval ipparamelers as String ,byval ipdirectory as String ,byval nshowcmd as Long)</p><p> 'shellexecute函數(shù):查找與制定相關(guān)程序的文件名&l
68、t;/p><p> 'hwnd 制定一個(gè)窗口的句柄,有時(shí)候windows程序有必要在創(chuàng)建自己的主窗口前顯示一個(gè)消息框</p><p> 'ipoperation 制定字符串"open"來打開ipfile文檔,或指定"print"來打印它</p><p> 'ipfile 想用關(guān)聯(lián)程序打印或打開一個(gè)程序
69、名或文件名</p><p> 'ippatameters 如果ipszfile是可執(zhí)行文件,則這個(gè)字符串包括傳遞給執(zhí)行程序的參數(shù)</p><p> 'ipkirectory 使用的完整路徑</p><p> 'nshowsmd 定義了如何顯示啟動(dòng)程序的常數(shù)值</p><p> a = ShellExecute(
70、Me.hwnd, "Open", "http://" & !網(wǎng)址, "", App.Path, 1) '</p><p><b> End If</b></p><p><b> End If</b></p><p><b> En
71、d With</b></p><p><b> End If</b></p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub bei_Click(Index As Integer) '點(diǎn)擊菜單事件
72、</p><p> Select Case Index</p><p><b> Case 1</b></p><p> beiwanglu.beicaozuo = 1</p><p> beiwanglu.Show vbModal, Me</p><p><b> Case
73、2</b></p><p><b> shanbei</b></p><p><b> Case 3</b></p><p> beiwanglu.beicaozuo = 2</p><p> beiwanglu.Show vbModal, Me</p><p
74、> End Select</p><p><b> End Sub</b></p><p> Private Sub shanwang()</p><p> Dim a As String, b As String</p><p> With Data1.Recordset</p><
75、p> a = MsgBox("確定刪除" & vbCrLf & !網(wǎng)址 & " ?", vbQuestion + vbYesNo)</p><p> If a = vbYes Then</p><p> Data1.Recordset.Delete</p><p> Data1.Recor
76、dset.MoveNext</p><p> If Data1.Recordset.EOF Then Data1.Recordset.MoveLast</p><p><b> End If</b></p><p><b> End With</b></p><p><b> Li
77、stTree</b></p><p><b> End Sub</b></p><p> Private Sub shanlian()</p><p> Dim a As String, b As String</p><p> With Data1.Recordset</p><
78、p> a = MsgBox("確定刪除" & vbCrLf & !姓名 & " ?", vbQuestion + vbYesNo)</p><p> If a = vbYes Then</p><p> Data1.Recordset.Delete</p><p> Data1.Recor
79、dset.MoveNext</p><p> If Data1.Recordset.EOF Then Data1.Recordset.MoveLast</p><p><b> End If</b></p><p><b> End With</b></p><p><b> Li
80、stTree</b></p><p><b> End Sub</b></p><p> Private Sub shanbei()</p><p> Dim a As String, b As String</p><p> With Data1.Recordset</p><p
81、> a = MsgBox("確定刪除" & vbCrLf & !備忘 & " ?", vbQuestion + vbYesNo)</p><p> If a = vbYes Then</p><p> Data1.Recordset.Delete</p><p> Data1.Record
82、set.MoveNext</p><p> If Data1.Recordset.EOF Then Data1.Recordset.MoveLast</p><p><b> End If</b></p><p><b> End With</b></p><p><b> Lis
83、tTree</b></p><p><b> End Sub</b></p><p> Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)</p><p> If Button.Index < 5 Then</p><p
84、> men_Click (Button.Index)</p><p> ElseIf Button.Index > 5 Then</p><p> wang_Click (Button.Index - 5)</p><p><b> End If</b></p><p><b> End
85、Sub</b></p><p> 'Private Sub StatusBar1_PanelClick(ByVal Panel As ComctlLib.Panel)</p><p> 'If denglu.Combo1.Text = dou Then StatusBar1.Panels.Item(1).Text = "操作者:竇軍強(qiáng)"&
86、lt;/p><p> 'If denglu.Combo1.Text = gao Then StatusBar1.Panels.Item(1).Text = "操作者:高樹青"</p><p> 'StatusBar1.Panels.Item(2).Text = Format(Date, "yyyy年mm月dd日")</p>
87、<p> 'n = Weekday(Data)</p><p> 'If n = 1 Then StatusBar1.Panels.Item(3).Text = "星期日"</p><p> 'If n = 2 Then StatusBar1.Panels.Item(3).Text = "星期一"</
88、p><p> 'If n = 3 Then StatusBar1.Panels.Item(3).Text = "星期二"</p><p> 'If n = 4 Then StatusBar1.Panels.Item(3).Text = "星期三"</p><p> 'If n = 5 Then Sta
89、tusBar1.Panels.Item(3).Text = "星期四"</p><p> 'If n = 6 Then StatusBar1.Panels.Item(3).Text = "星期五"</p><p> 'If n = 7 Then StatusBar1.Panels.Item(3).Text = "星期六&
90、quot;</p><p> 'StatusBar1.Panels.Item(4).Text = Time</p><p><b> 'End Sub</b></p><p><b> 登錄窗體代碼</b></p><p> Private Sub Form_Load()&l
91、t;/p><p><b> Randomize</b></p><p> Data1.DatabaseName = App.Path & "\shuju.mdb"</p><p> X = Int(Rnd * 10)</p><p> Y = Int(Rnd * 10)</p>
92、<p> z = Int(Rnd * 10)</p><p> m = Int(Rnd * 10)</p><p> Label3.Caption = X & Y & z & m</p><p> Label3.Font = 宋體</p><p> 'Combo1.AddItem = &
93、quot;qing"</p><p> 'Combo1.AddItem = "dou"</p><p><b> End Sub</b></p><p> Private Sub Command1_Click()</p><p> Dim a As String, b As
94、String, c As String</p><p> a = Trim(Combo1)</p><p> Data1.RecordSource = "select * from yonghu where yonghu ='" & a & "' and mima= '" & Text2.Text
95、& "'"</p><p> Data1.Refresh</p><p> If a = "" Then</p><p> MsgBox "用戶名不能為空,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "錯(cuò)誤"</p><
96、p> Combo1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Text2.Text = "" Then</p><p> MsgBox "請(qǐng)輸入密碼&qu
97、ot;, vbOKOnly + vbExclamation, "錯(cuò)誤"</p><p> Text2.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Text1.Text <
98、;> Trim(Label3.Caption) And a <> "" And Text2.Text <> "" Then</p><p> MsgBox "驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "錯(cuò)誤"</p><p> Text1
99、.Text = ""</p><p> Text1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> b = Data1.Recordset.Fields("yonghu&qu
100、ot;)</p><p> c = Data1.Recordset.Fields("mima")</p><p> If Combo1.Text = b And Text2.Text = c Then</p><p> Load frmmain</p><p> frmmain.Show</p>&l
101、t;p><b> Unload Me</b></p><p> ElseIf Combo1.Text <> b Then</p><p> MsgBox "查無此用戶,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "錯(cuò)誤"</p><p> ElseIf
102、Combo1.Text = b And Text2.Text <> c Then</p><p> MsgBox "密碼錯(cuò)誤,請(qǐng)重新輸入密碼!", vbOKOnly + vbExclamation, "錯(cuò)誤"</p><p> Text2.SetFocus</p><p><b> Exit Sub
103、</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub text2_keypress(keyascii As Integer)</p><p> If keyascii = 13 The
104、n</p><p> Call Command1_Click</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b>
105、; End</b></p><p><b> End Sub</b></p><p><b> 添加聯(lián)系人窗體代碼</b></p><p> Option Explicit</p><p> Public liancaozuo As Long</p><p&
106、gt; Public jialeixing As Boolean</p><p> Private Sub Form_Load()</p><p> Data1.DatabaseName = dizhi & "shuju.mdb"</p><p> With Datashuju.OpenRecordset("select
107、 * from list where book='lianxiren'")</p><p> While Not .EOF</p><p> Combo1.AddItem !Type</p><p><b> .MoveNext</b></p><p><b> Wend<
108、;/b></p><p> Combo1 = ReadIni("lianxiren", "type")</p><p><b> End With</b></p><p> If liancaozuo = 1 Then</p><p> Me.Caption = &q
109、uot;添加聯(lián)系人"</p><p><b> Else</b></p><p> Me.Caption = "修改聯(lián)系方式"</p><p> Command2.Caption = "取消"</p><p> xianshuju1</p><
110、p><b> End If</b></p><p> jialeixing = False</p><p><b> End Sub</b></p><p> Private Sub text1_GotFocus(Index As Integer)</p><p> Text1(In
111、dex).SelStart = 0</p><p> Text1(Index).SelLength = Len(Text1(Index)) '得到焦點(diǎn)時(shí)選中文本框里全部內(nèi)容</p><p><b> End Sub</b></p><p> Private Sub Ok_Click()</p><
112、;p> If Trim(Text1(0)) = "" Then</p><p><b> Beep</b></p><p> MsgBox "姓名不可為空。請(qǐng)重新輸入!", vbExclamation</p><p> Text1(0).SetFocus</p><p&g
113、t;<b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(Combo1) = "" Then</p><p><b> Beep</b></p><p> MsgBox "關(guān)
114、系不可為空。請(qǐng)重新輸入!", vbExclamation</p><p> Combo1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> frmmain.Data1.RecordSource =
115、 "list"</p><p> frmmain.Data1.Refresh</p><p> If Combo1.Text <> frmmain.Data1.Recordset.Fields("type") Then</p><p> With frmmain.Data1.Recordset</p&g
116、t;<p><b> .AddNew</b></p><p> .Fields("type").Value = Combo1</p><p> .Fields("book").Value = "lianxiren"</p><p><b> .Updat
117、e</b></p><p> jialeixing = True</p><p><b> End With</b></p><p> frmmain.Data1.RecordSource = "lianxiren"</p><p> frmmain.Data1.Refresh&l
118、t;/p><p><b> End If</b></p><p> If liancaozuo = 1 Then</p><p> zhengshuju1</p><p><b> Else</b></p><p><b> gaishuju1</b&g
119、t;</p><p><b> End If</b></p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub gaishuju1()</p><p><
120、;b> '添加聯(lián)系人</b></p><p> With frmmain.Data1.Recordset</p><p><b> .Edit</b></p><p> .Fields("姓名").Value = Text1(0)</p><p> .Fields(
121、"地址").Value = Text1(1)</p><p> .Fields("關(guān)系").Value = Combo1</p><p> .Fields("電話").Value = Val(Text1(2))</p><p> .Fields("qq").Value = Val(
122、Text1(3))</p><p> .Fields("備注").Value = Text1(4)</p><p><b> .Update</b></p><p><b> End With</b></p><p><b> End Sub</b>
123、</p><p> Private Sub zhengshuju1()</p><p> Dim a As Long</p><p> Dim neirong As TextBox</p><p> '設(shè)置data控件到聯(lián)系人</p><p> With frmmain</p><
124、p> If Right(.Data1.RecordSource, 7) <> "lianxiren" Then</p><p> .lianxibiao</p><p> Set .TreeView1.SelectedItem = .TreeView1.Nodes.Item("W")</p><p>&
125、lt;b> End If</b></p><p><b> End With</b></p><p> With frmmain.Data1.Recordset</p><p><b> .AddNew</b></p><p> .Fields("姓名"
126、;).Value = Text1(0)</p><p> .Fields("地址").Value = Text1(1)</p><p> .Fields("關(guān)系").Value = Combo1</p><p> .Fields("電話").Value = Val(Text1(2))</p>
127、;<p> .Fields("qq").Value = Val(Text1(3))</p><p> .Fields("備注").Value = Text1(4)</p><p><b> .Update</b></p><p><b> End With</b>
128、;</p><p> a = WritePrivateProfileString("wang", "type", Combo1, dizhi & ININAME)</p><p> 'writeprivateprofilestring(byval ipapplicationname as String ,byval ipkeyna
129、me as String ,byval ipstring as String ,byval ipfilename as String )as Long</p><p> '函數(shù)在win.ini初始化文件指定小節(jié)內(nèi)設(shè)置一個(gè)字符串。</p><p> 'ipapplicationname要寫入的新字符串的小節(jié)名稱,字符串不區(qū)分大小寫。</p><p>
130、; 'ipkeyname要設(shè)置的項(xiàng)目名,不區(qū)分大小寫。</p><p> 'ipstring指定為這個(gè)項(xiàng)寫入的字符串值。用vbnullstring表示刪除這個(gè)項(xiàng)現(xiàn)有的字符。</p><p> 'ipfilename初始化文件名字,如果沒有指定完整的路徑,系統(tǒng)會(huì)自動(dòng)在windows目錄下查找文件,如果沒有找到系統(tǒng)會(huì)自動(dòng)創(chuàng)建</p><p>
131、; For Each neirong In Me.Text1</p><p> neirong = ""</p><p><b> Next</b></p><p> Text1(0).SetFocus</p><p><b> End Sub</b></p>
132、;<p> Private Sub xianshuju1()</p><p> Dim a As Long, b As Long</p><p> a = Val(Text1(2))</p><p> b = Val(Text1(3))</p><p> With frmmain.Data1.Recordset<
133、/p><p> Text1(0) = .Fields("姓名").Value</p><p> Text1(1) = .Fields("地址").Value</p><p> Combo1 = .Fields("關(guān)系").Value</p><p> a = .Fields(&q
134、uot;電話").Value</p><p> b = .Fields("qq").Value</p><p> Text1(4) = .Fields("備注").Value</p><p><b> End With</b></p><p><b>
135、End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Form_Unload(Cance
136、l As Integer)</p><p> If jialeixing Then frmmain.ListTree</p><p> Set lianxiadd = Nothing</p><p><b> End Sub</b></p><p><b> 添加網(wǎng)址代碼</b></p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- visual_basic課程設(shè)計(jì)報(bào)告---文本編輯器
- vb課程設(shè)計(jì)報(bào)告----文本編輯器
- vb課程設(shè)計(jì)報(bào)告---文本編輯器
- vb課程設(shè)計(jì)文本編輯器
- c語言課程設(shè)計(jì)--文本編輯器
- 文本編輯器課程設(shè)計(jì)報(bào)告
- 文本編輯器課程設(shè)計(jì)
- 簡(jiǎn)易文本編輯器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--文本編輯器
- java課程設(shè)計(jì)---文本編輯器
- java課程設(shè)計(jì)---文本編輯器
- java課程設(shè)計(jì)(文本編輯器)
- c_文本編輯器課程設(shè)計(jì)
- 文本編輯器_java課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--文本編輯器
- 操作系統(tǒng)課程設(shè)計(jì)---文本編輯器
- java課程設(shè)計(jì)報(bào)告-- 文本編輯器的設(shè)計(jì)與實(shí)現(xiàn)
- java 課程設(shè)計(jì)報(bào)告---用 java 設(shè)計(jì)文本編輯器mytxt
- vb編輯器課程設(shè)計(jì)報(bào)告
- 微機(jī)原理課程設(shè)計(jì)—簡(jiǎn)易文本編輯器
評(píng)論
0/150
提交評(píng)論