vb課程設(shè)計報告---文本編輯器_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  VB課程設(shè)計報告</b></p><p><b>  ——文本編輯器</b></p><p><b>  課程設(shè)計題目</b></p><p>  用Visual Basic程序設(shè)計語言編寫一個簡易的文本編輯器</p><p>  要求:有最基本的

2、文本編輯功能,包括復(fù)制、剪切、粘貼、字體設(shè)置、背景顏色設(shè)置、字體顏色設(shè)置;同時擁有文本管理功能,包括打開文件、保存文件;以及完整的系統(tǒng)運(yùn)行退出等功能,所有的操作可選擇設(shè)定的快捷鍵。</p><p><b>  課程設(shè)計目的</b></p><p> ?。?)目標(biāo):實(shí)現(xiàn)類似與WINDOWS平臺下的記事本程序。</p><p>  (2)涉及功能:

3、新建、打開、保存、另存為、退出、編輯、撤銷、復(fù)制、粘貼、剪切、刪除、查找、全選、打印、格式、字體、顏色、查看、狀態(tài)欄、幫助、關(guān)于等</p><p><b>  課程設(shè)計說明</b></p><p><b>  1創(chuàng)建應(yīng)用程序界面</b></p><p><b>  2設(shè)置屬性</b></p>

4、;<p><b>  3編寫代碼</b></p><p><b>  4保存應(yīng)用程序</b></p><p>  5調(diào)試,運(yùn)行應(yīng)用程序</p><p><b>  6生成可執(zhí)行文件</b></p><p><b>  源代碼 </b><

5、/p><p>  Dim filecount As Integer</p><p>  Dim inputdata As String</p><p>  Dim TargetPosition As Integer</p><p>  Dim pos As Integer</p><p>  Dim targey As S

6、tring</p><p>  Dim neirong As String</p><p>  Private Sub A_Click()</p><p>  On Error Resume Next</p><p>  cmndlg1.Filter = "文本文件|*.txt"</p><p> 

7、 cmndlg1.CancelError = True</p><p>  cmndlg1.Action = 2</p><p>  Open cmndlg1.FileName For Output As #1</p><p>  Print #1, Text1.Text</p><p><b>  Close #1</b&g

8、t;</p><p><b>  End Sub</b></p><p>  Private Sub C_Click()</p><p><b>  End Sub</b></p><p>  Private Sub D_Click()</p><p><b>  

9、End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Text1.Text = ""</p><p>  Text1.Left = 0</p><p>  Text1.Top = 550</p><p>  Text1.Width

10、 = Form1.ScaleWidth</p><p>  Text1.Height = Form1.ScaleHeight</p><p>  mnucut.Enabled = False</p><p>  mnucopy.Enabled = False</p><p>  mnudelete.Enabled = False</p&

11、gt;<p>  mnuselectall.Enabled = False</p><p>  mnupaste.Enabled = True</p><p>  mnuleft.Checked = True</p><p><b>  End Sub</b></p><p>  Private Sub F

12、orm_Resize()</p><p>  '如果窗體不處于最小化text1狀態(tài),改變text1大小以適應(yīng)窗體大小變化</p><p>  If Form1.WindowState <> 1 Then</p><p>  Text1.Width = Form1.Width - 120</p><p>  If Form1

13、.Height < 1200 Then</p><p>  Form1.Height = 1200</p><p><b>  End If</b></p><p>  Text1.Height = Form1.Height - 1350</p><p><b>  End If</b><

14、;/p><p><b>  End Sub</b></p><p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  Dim msg As Integer</p><p>  If Text1.Text <> neirong Then</p>

15、<p>  msg = MsgBox(" 內(nèi)容已被修改,是否保存文件", 48 + vbYesNoCancel, "提示")</p><p>  If msg = vbYes Then</p><p>  On Error GoTo Err</p><p>  cmndlg1.DialogTitle = &quo

16、t;保存文件"</p><p>  cmndlg1.Filter = "文本文件|*.txt"</p><p>  cmndlg1.CancelError = True</p><p>  cmndlg1.ShowSave</p><p>  Open cmndlg1.FileName For Output As

17、 #1</p><p>  Print #1, Text1.Text</p><p><b>  Close #1</b></p><p><b>  Err:</b></p><p>  If Err.Number = cdlCancel Then</p><p>  Ca

18、ncel = True</p><p><b>  End If</b></p><p>  ElseIf msg = vbNo Then</p><p><b>  End</b></p><p>  ElseIf msg = vbCancel Then</p><p> 

19、 Cancel = True</p><p><b>  End If</b></p><p><b>  Else</b></p><p><b>  End</b></p><p><b>  End If</b></p><p&g

20、t;<b>  End Sub</b></p><p>  Private Sub mnucopy_Click() '復(fù)制 利用SetText 方法,將選中的文本放入剪貼板上</p><p>  Clipboard.SetText Text1.SelText</p><p><b>  End Sub</b>&

21、lt;/p><p>  Private Sub mnucut_Click() '剪切</p><p>  Clipboard.SetText Text1.SelText</p><p>  Text1.SelText = ""</p><p><b>  End Sub</b></p>

22、<p>  Private Sub mnudelete_Click() '刪除</p><p>  Text1.SelText = ""</p><p><b>  End Sub</b></p><p>  Private Sub mnuedit_Click() '編輯 菜單項(xiàng)代碼<

23、;/p><p>  ' 如果文本框中沒有選中的內(nèi)容,則剪切\(zhòng)復(fù)制\刪除和粘貼菜單無效,否則有效</p><p>  If Text1.SelLength <> 0 Then</p><p>  mnucut.Enabled = True</p><p>  mnucopy.Enabled = True</p>&

24、lt;p>  mnudelete.Enabled = True</p><p>  mnupaste.Enabled = True</p><p><b>  Else</b></p><p>  mnucut.Enabled = False</p><p>  mnucopy.Enabled = False<

25、;/p><p>  mnudelete.Enabled = False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub mnuexit_Click() '退出</p><p>

26、;<b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub mnufind_Click() '查找</p><p>  FindText 1</p><p>  mnuNext.Enabled = True</p>

27、;<p><b>  End Sub</b></p><p>  Private Sub mnufont_Click() '字體</p><p>  On Error GoTo A:</p><p>  cmndlg1.Flags = cdlCFBoth Or cdlCFEffects</p><

28、p>  cmndlg1.ShowFont</p><p>  If cmndlg1.FontName > "" Then</p><p>  Text1.FontName = cmndlg1.FontName</p><p><b>  End If</b></p><p>  Text1

29、.FontSize = cmndlg1.FontSize</p><p>  Text1.FontBold = cmndlg1.FontBold</p><p>  Text1.FontItalic = cmndlg1.FontItalic</p><p>  Text1.FontStrikethru = cmndlg1.FontStrikethru</p&g

30、t;<p>  Text1.FontUnderline = cmndlg1.FontUnderline</p><p>  Text1.FontBold = cmndlg1.FontBold</p><p>  Text1.ForeColor = cmndlg1.Color</p><p><b>  A:</b></p&g

31、t;<p>  If Err.Number < 0 Then</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Su

32、b mnufontcolor_Click() '字體顏色</p><p>  cmndlg1.ShowColor</p><p>  Text1.ForeColor = cmndlg1.Color</p><p><b>  End Sub</b></p><p>  Private Sub mnuleft_

33、Click() '左對齊</p><p>  Text1.Alignment = 0</p><p>  mnuleft.Checked = True</p><p>  mnuright(1).Checked = False</p><p>  mnuright(2).Checked = False</p><

34、;p><b>  End Sub</b></p><p>  Private Sub mnunew_Click() '新建</p><p>  Text1.Text = ""</p><p><b>  End Sub</b></p><p>  Private

35、 Sub FindTex(ByVal start_at As Integer)</p><p>  targey = targey</p><p>  pos = InStr(start_at, Text1.Text, targey)</p><p>  If pos > 0 Then '找到了匹配字符串</p><p>  T

36、argetPosition = pos</p><p>  Text1.SelStart = TargetPosition - 1</p><p><b>  '選中找到的字符串</b></p><p>  Text1.SelLength = Len(targey)</p><p>  Text1.SetFocu

37、s</p><p>  Else '沒有找到匹配的字符串</p><p>  MsgBox "沒找到匹配的字符串", 48, "提示"</p><p>  Text1.SetFocus</p><p><b>  End If</b></p><p>

38、;<b>  End Sub</b></p><p>  Private Sub mnuNext_Click() '查找下一個</p><p>  FindTex TargetPosition + 1</p><p><b>  End Sub</b></p><p>  Private

39、Sub mnuopen_Click() '打開</p><p>  Dim inputdata As String</p><p>  On Error GoTo nofile</p><p>  cmndlg1.Filter = "文本文件|*.txt"</p><p>  cmndlg1.CancelErro

40、r = True</p><p>  cmndlg1.ShowOpen</p><p>  Text1.Text = ""</p><p>  If cmndlg1.FileName <> "" Then</p><p>  Open cmndlg1.FileName For Input A

41、s #1</p><p>  Do While Not EOF(1)</p><p>  Line Input #1, inputdata</p><p>  Text1.Text = Text1.Text & inputdata & vbCr</p><p><b>  Loop</b></p&g

42、t;<p><b>  Close #1</b></p><p><b>  End If</b></p><p><b>  Exit Sub</b></p><p><b>  nofile:</b></p><p>  If Err.N

43、umber = 32755 Then Exit Sub</p><p><b>  End Sub</b></p><p>  Private Sub FindText(ByVal start_at As Integer)</p><p>  '獲取用戶輸入的要查找的字符串</p><p>  targey =

44、InputBox("請輸入要查找的內(nèi)容", "查找")</p><p>  pos = InStr(start_at, Text1.Text, targey)</p><p>  If pos > 0 Then '找到了匹配字符串</p><p>  TargetPosition = pos</p>

45、<p>  Form1.Text1.SelStart = TargetPosition - 1</p><p><b>  '選中找到的字符串</b></p><p>  Form1.Text1.SelLength = Len(targey)</p><p>  Form1.Text1.SetFocus</p>

46、<p>  Else '沒有找到匹配的字符串</p><p>  MsgBox "沒找到匹配的字符串", 48, "提示"</p><p>  Form1.Text1.SetFocus</p><p><b>  End If</b></p><p><b

47、>  End Sub</b></p><p>  Private Sub mnupaste_Click() '粘貼 用GetText1 方法,將剪切板中的內(nèi)容粘貼到光標(biāo)所在位置</p><p>  Text1.SelText = Clipboard.GetText()</p><p><b>  End Sub</b

48、></p><p>  Private Sub mnuprint_Click() '打印</p><p>  On Error Resume Next</p><p>  cmndlg1.ShowPrinter</p><p>  Printer.Copies = cmndlg1.Copies</p><p&

49、gt;  Printer.Print Text1.Text</p><p><b>  End Sub</b></p><p>  Private Sub mnuright_Click(Index As Integer) '右對齊\居中菜單代碼</p><p>  Select Case Index</p><p&

50、gt;<b>  Case 1</b></p><p>  Text1.Alignment = 1</p><p>  mnuleft.Checked = False</p><p>  mnuright(1).Checked = True</p><p>  mnuright(2).Checked = False<

51、;/p><p><b>  Case 2</b></p><p>  Text1.Alignment = 2</p><p>  mnuleft.Checked = False</p><p>  mnuright(1).Checked = False</p><p>  mnuright(2).Ch

52、ecked = True</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub mnusave_Click() '保存</p><p>  On Error Resume Next</p><p>  c

53、mndlg1.DialogTitle = "保存文件"</p><p>  cmndlg1.Filter = "文本文件|*.txt"</p><p>  cmndlg1.CancelError = True</p><p>  cmndlg1.ShowSave</p><p>  Open cmndl

54、g1.FileName For Output As #1</p><p>  Print #1, Text1.Text</p><p><b>  Close #1</b></p><p><b>  End Sub</b></p><p>  Private Sub mnuselectall_Cl

55、ick() '全選</p><p>  Text1.SelStart = 0</p><p>  Text1.SelLength = Len(Text1.Text)</p><p><b>  End Sub</b></p><p>  Private Sub Text1_Change()</p>

56、;<p>  If Text1.Text = "" Then</p><p>  mnufind.Enabled = False</p><p>  mnuNext.Enabled = False</p><p><b>  Else</b></p><p>  mnufind.Enab

57、led = True</p><p>  mnuselectall.Enabled = True</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Toolbar1_ButtonClick(ByVal B

58、utton As MSComctlLib.Button)</p><p>  Select Case Button</p><p><b>  Case "新建"</b></p><p>  Call mnunew_Click</p><p><b>  Case "打開"

59、;</b></p><p>  Call mnuopen_Click</p><p><b>  Case "剪切"</b></p><p>  Call mnucut_Click</p><p><b>  Case "復(fù)制"</b></p

60、><p>  Call mnucopy_Click</p><p><b>  Case "粘貼"</b></p><p>  Call mnupaste_Click</p><p><b>  Case "保存"</b></p><p>

61、  Call mnusave_Click</p><p><b>  Case "查找"</b></p><p>  Call mnufind_Click</p><p>  End Select</p><p><b>  End Sub</b></p><

62、p>  Private Sub tre_Click()</p><p>  Shell ("notepad 使用說明.txt")</p><p><b>  End Sub</b></p><p>  Private Sub xufeng_Click()</p><p>  Form2.Visi

63、ble = True</p><p><b>  End Sub</b></p><p><b>  運(yùn)行結(jié)果</b></p><p><b>  保存功能</b></p><p><b>  查找功能</b></p><p>&l

64、t;b>  打開功能</b></p><p><b>  顏色修改功能</b></p><p><b>  字體修改功能</b></p><p><b>  七、心得體會</b></p><p>  作為一名計算機(jī)專業(yè)的學(xué)生,在接觸了C語言、數(shù)據(jù)結(jié)構(gòu)與C++課

65、程后,對計算機(jī)語言有了一定的興趣,于是在這個學(xué)期我毫不猶豫的選擇了VB課程(算法與程序設(shè)計)。</p><p>  VB程序設(shè)計的入門學(xué)習(xí)并不難,但卻是一個十分重要的過程,因?yàn)槌绦蛟O(shè)計思想的形成,以及之前學(xué)習(xí)積累的經(jīng)驗(yàn),很快就對VB有了一定的了解。下面就是我這段時間學(xué)習(xí)的新的與體會。</p><p>  我認(rèn)為作為學(xué)習(xí)程序設(shè)計最重要的一點(diǎn)是要注重理解一些重要的概念.VB程序設(shè)計本身并不復(fù)雜

66、,翻開一本程序設(shè)計學(xué)習(xí)的書籍,看到的無非就是變量,函數(shù),條件語句,循環(huán)語句等概念.但要真正能進(jìn)行程序設(shè)計,需要深入理解這些概念.因此,在 程序入門階段還是應(yīng)該重視概念的學(xué)習(xí).我們學(xué)習(xí)VB并沒有從正常的途徑,可以說VB語言相對來說比其他語言簡單,從他的語法就可以看出</p><p>  其次,自己動手編寫程序。程序設(shè)計入門階段要經(jīng)常自己動手抄寫或編寫一些小程序,親自動手進(jìn)行程序設(shè)計是創(chuàng)造性思維應(yīng)用的體現(xiàn),是培養(yǎng)邏輯

67、思維的好方法.因此一定要多動手編寫程序,而且要從小程序開發(fā)開始,逐漸提高寫程序的能力.只有不斷的從自己的程序中積累經(jīng)驗(yàn),從中進(jìn)步,才能寫出好的程序。程序設(shè)計課是高強(qiáng)度的腦力勞動,不是聽會的,也不是看會的,而是練會的.只有自己動手,編寫一些程序,才會有成就感,進(jìn)而對課程產(chǎn)生興趣,學(xué)起來才比較從容.動手能力的培養(yǎng)是這門課和以往課程最大的不同之處.重點(diǎn)放在思路,算法,編程構(gòu)思和程序?qū)崿F(xiàn)上.語句只是表達(dá)工具,要求堂上積極思考,盡量當(dāng)堂學(xué)懂,并做

68、到靈活應(yīng)用. 編程序不像做其它的事情,寫程序之前一定要計劃周詳,把所有的可能性都想到,并想好相應(yīng)的解決方法,不然思想會很混亂,很容易出現(xiàn)錯誤。還有就是編程序最重要的其實(shí)是思想,思想確定之后用什么語言或什么方法就簡單了,接下來就是設(shè)計并寫成代碼的事情了</p><p>  好的程序員就是這樣一步一步煉成的。</p><p>  在者,閱讀,借簽別人設(shè)計的好程序。多看別人設(shè)計好的程序代碼,包括

溫馨提示

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

評論

0/150

提交評論