vb課程設(shè)計(jì)報(bào)告---基于visual basic語言的文本編輯器設(shè)計(jì)_第1頁
已閱讀1頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論