第一篇:VB課程設(shè)計(jì)-文本編輯器
學(xué)院名稱學(xué)生姓名專業(yè)名稱班
級(jí)VB課程設(shè)計(jì)報(bào)告
——文本編輯器
: : : :
一、課程設(shè)計(jì)題目
用Visual Basic程序設(shè)計(jì)語言編寫一個(gè)簡易的文本編輯器
要求:有最基本的文本編輯功能,包括復(fù)制、剪切、粘貼、字體設(shè)置、背景顏色設(shè)置、字體顏色設(shè)置;同時(shí)擁有文本管理功能,包括打開文件、保存文件;以及完整的系統(tǒng)運(yùn)行退出等功能,所有的操作可選擇設(shè)定的快捷鍵。
二、課程設(shè)計(jì)目的
雖然本學(xué)期的Visual Basic課程是自學(xué)的,相對于課堂學(xué)習(xí)有些不足,但通過平時(shí)的上機(jī)實(shí)驗(yàn),初步掌握了VB程序設(shè)計(jì)的各種方法,學(xué)會(huì)了編寫最基本的VB程序;對于完整的VB程序設(shè)計(jì)來講是很不足的,平時(shí)掌握的只是單獨(dú)的窗體(Form)程序編寫,以及各種簡單控件的使用,沒有做到很好連貫性,所以有必要做一次完整的VB程序設(shè)計(jì),結(jié)合所學(xué)的基本知識(shí),使用多個(gè)窗體自成一套系統(tǒng),加上各種控件的綜合運(yùn)用,初步設(shè)計(jì)一個(gè)合格的VB應(yīng)用程序;這樣在鞏固VB所學(xué)的同時(shí),更好地學(xué)會(huì)程序設(shè)計(jì)的一些思想和方法,對于以后的編程學(xué)習(xí)或是工作有重要的實(shí)踐意義。
三、課程設(shè)計(jì)說明
題目為文本編輯器,即是最基本的文本編輯程序,首先必須做好文本編輯器本身的功能,然后對其完善,做成一個(gè)完整的小程序
功能設(shè)計(jì)說明:功能是這個(gè)文本編輯器的核心內(nèi)容,也就是程序的作用,它是用來做什么的;本程序就是用來編寫文本的,編寫過程中要利用到窗體(Form)一個(gè),控件包括:RichTextBox1(超文本框)、CommonDialog(通用對話框),以及InputBox(消息框)、菜單編輯器等。要做的工作就是編寫代碼把這些控件和窗體等結(jié)合為一體,使得程序能夠成為一體,順暢運(yùn)行。
本次設(shè)計(jì)在按照題目要求的前提下,為了完整地展示一個(gè)應(yīng)用程序,在最初就設(shè)計(jì)為最基本的文本的編輯器,所以取名為“易記本”,就是簡易記事本的簡稱,然后加入圖標(biāo),在程序完成之后還進(jìn)行了大包操作,得到應(yīng)用程序的安裝文件,最后安裝在電腦上運(yùn)行使用。四.源代碼
Private Sub Command1_Click()Dim i As Integer If Text2.Text <> “123456” Then i = MsgBox(“密碼錯(cuò)誤”, 5 + vbExclamation, “警告”)If i <> 6 Then End Else Text2.Text = “" Text2.SetFocus End If End If Form1.Hide Form2.Show End Sub
Private Sub Form_Load()Text1.Text = ”“ Text1.MaxLength = 6
Text2.Text = ”“ Text2.MaxLength = 6 Text2.PasswordChar = ”*“ End Sub
Private Sub Text1_LostFocus()If Not IsNumeric(Text1.Text)Then MsgBox ”帳號(hào)必須為數(shù)字“, , ”警告“ Text1.Text = ”“ Text1.SetFocus End If End Sub
Private Sub Command1_Click()Form2.Hide Form3.Show End Sub
Private Sub Command2_Click()Form2.Hide Form4.Show End Sub
Private Sub Command3_Click()Form2.Hide Form5.Show End Sub
Private Sub Color_Click()CommonDialog1.Action = 3 Text1.ForeColor = CommonDialog1.Color End Sub
Private Sub Command1_Click()Form3.Hide Form2.Show End Sub
Private Sub Copy_Click()Dim st As String st = Text1.SelText End Sub
Private Sub Cut_Click()
Dim st As String st = Text1.SelText Text1.SelText = ”“ End Sub
Private Sub Exit_Click()End End Sub
Private Sub Font_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.Action = 4 Text1.FontName = CommonDialog1.FileName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline Text1.ForeColor = CommonDialog1.Color End Sub
Sub New_Click()Text1.Text = ”“ Me.Caption = File End Sub
Sub Open_Click()CommonDialog1.Action = 1 Text1.Text = ”“ Open CommonDialog1.FileName For Input As #1 Do While Not EOF(1)Line Input #1, inputdata Text1.Text = Text1.Text + inputdata + vbCrLf Loop Close #1 End Sub
Private Sub Paste_Click()Text1.SelText = st End Sub
Private Sub Print_Click()CommonDialog1.Action = 5 For i = 1 To CommonDialog1.Copies
Printer.Print Text1.Text Next i Printer.EndDoc End Sub
Private Sub SaveAs_Click()CommonDialog1.FileName = ”vb課設(shè)用.txt“ CommonDialog1.DefaultExt = ”txt" CommonDialog1.Action = 2 Open CommonDialog1.FileName For Output As #1 Print #1, Text1.Text End Sub
Dim arr As Long, sum As Long, a As Integer Private Sub Command1_Click()a = HScroll1.Value Text1.Text = plus(a)Call isprime(a)End Sub
Private Sub Command2_Click()End End Sub
Private Sub HScroll1_Change()Label2.Caption = HScroll1.Value End Sub Sub isprime(max As Integer)Dim x As Integer, i As Integer, j As Integer For i = 2 To max x = 0 For j = 2 To ictP * 2 Show1 ctDu(I), &HFFFFFF /(ctDuS + 1)* I * 0.6 Next Dim x As Single, y As Single Static J As Single Picture1.DrawWidth = 15 x0 = Picture1.ScaleWidth * 0.5: y0 = Picture1.ScaleHeight * 0.5 Picture1.PSet(x0, y0), 255 x = 1200: y = 0: J = JJ x = S * Cos(J + ToJ): y = S * Sin(J + ToJ)End Sub Private Sub Command1_Click()End End Sub
五、運(yùn)行結(jié)果
六. 心得體會(huì)
通過本次課程設(shè)計(jì),使我對VB的認(rèn)識(shí)更加深入了一層,VB主要由兩部分組成,一個(gè)是Visual可視化界面設(shè)計(jì),另一個(gè)是Basic程序設(shè)計(jì)。對于第一部分,我覺得還是比較容易的,因?yàn)樗容^直觀。就目前我所學(xué)的,對于第二部分還是比較困難。在做設(shè)計(jì)的過程中發(fā)現(xiàn)自己存在不少問題,由于word知識(shí)欠缺,我沒有辦法為我的課程設(shè)計(jì)創(chuàng)建目錄,這讓我覺得很遺憾,尤其是對VB編程語句的不熟悉而造成在運(yùn)行過程的很多次出錯(cuò)。具體說文本編輯器的設(shè)計(jì),首先是控件的使用要注意,例如不能使用平時(shí)一般的Text文本框,因?yàn)槠渲贿m用于一般的文本顯示,使用RichTextBox,可擁有文本的完整功能,不用再添加滾動(dòng)條等控件,而是使用其自帶的滾動(dòng)條;其實(shí)是菜單的設(shè)計(jì),應(yīng)注意菜單的名稱書寫,不能出現(xiàn)重復(fù)現(xiàn)象,否則要使用索引,不僅增加麻煩更不利于程序編寫,然后編寫代碼的時(shí)候應(yīng)注意必須與菜單中的名字一一對應(yīng),否則會(huì)出現(xiàn)錯(cuò)誤;最后要注意程序的完整性以及實(shí)用性、便捷性,能夠有友好的UI設(shè)計(jì),給用戶最好的體驗(yàn)。
第二篇:VB 課程設(shè)計(jì)
學(xué)生成績管理系統(tǒng)一、功能描述
首先簡單地闡述本人所要實(shí)現(xiàn)系統(tǒng)的目的,然后應(yīng)較詳細(xì)的敘述本系統(tǒng)所要實(shí)現(xiàn)的功能。
************ *******
二、概要設(shè)計(jì)
1、系統(tǒng)功能模塊框圖設(shè)計(jì)
根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個(gè)系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。
程序流程框圖如圖所示:(僅供參考)
圖1 程序流程圖
2、數(shù)據(jù)庫設(shè)計(jì)
包括數(shù)據(jù)庫的組成說明,數(shù)據(jù)庫中各表的結(jié)構(gòu)說明(包括字段名、字段類型等),可以包含圖片例如下表:
表1 學(xué)生信息表
三、詳細(xì)設(shè)計(jì)
詳細(xì)說明主要窗體的實(shí)現(xiàn)過程,包括窗體的設(shè)計(jì)圖片及其上所包含的控件名和屬性設(shè)置;
詳細(xì)說明主要操作的代碼實(shí)現(xiàn)過程,包括過程間的調(diào)用關(guān)系(注:在此給出不完全代碼)。如下所示:
1、賬號(hào)登錄
帳號(hào)登錄模塊中登錄與注冊兩按鈕,單擊注冊會(huì)進(jìn)入注冊模塊中,單擊登錄會(huì)進(jìn)入系統(tǒng)進(jìn)行下一步的操作,帳號(hào)文本框與數(shù)據(jù)庫相連接,當(dāng)在帳號(hào)文本框輸入帳號(hào)后點(diǎn)擊登錄按鈕后,會(huì)在數(shù)據(jù)庫中進(jìn)行查詢看數(shù)據(jù)庫中是否會(huì)有該帳號(hào),且該帳號(hào)的密碼是否與密碼框中輸入的相同,如果相同會(huì)進(jìn)入系統(tǒng),如果不存在該賬號(hào)或密碼與帳號(hào)不相匹配,則會(huì)提示“帳號(hào)或密碼錯(cuò)誤”,帳號(hào)文本框會(huì)得到焦點(diǎn),讓重新輸入。
(1)窗體截圖(如圖2)
圖2 注冊窗體
(2)功能實(shí)現(xiàn)
2、學(xué)生信息查詢窗體
圖3 查詢窗體
四、調(diào)試中存在的問題及解決方法
包括調(diào)試過程中遇到的主要問題及采取的解決方法。例如:
1、注冊賬號(hào)出現(xiàn)的錯(cuò)誤
數(shù)據(jù)庫中帳號(hào)被設(shè)為主鍵,當(dāng)注冊時(shí)的帳號(hào)與數(shù)局庫中的帳號(hào)有相同時(shí)就會(huì)出錯(cuò)。
2、解決方法:在寫入數(shù)據(jù)庫前先進(jìn)行查詢數(shù)據(jù)庫
五、心得體會(huì)
本人在本次實(shí)習(xí)中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統(tǒng)的不足之處,將要改進(jìn)的思想等。
六、參考文獻(xiàn)
[1] 羅朝盛.Visual Basic 6.0程序設(shè)計(jì)教程(第3版).人民郵電出版社,2009年2月
[2] [3]
七、附錄
包括全部源程序清單(程序中應(yīng)有足夠的注釋)。
第三篇:VB課程設(shè)計(jì)
課程設(shè)計(jì)
學(xué) 院 班 級(jí)
指導(dǎo)老師
姓 名 學(xué) 號(hào) 成 績
2013年 月 10
日
一.課程設(shè)計(jì)題目
學(xué)生管理系統(tǒng)
二.功能描述
按設(shè)定的用戶名密碼進(jìn)行登錄后,可按需求進(jìn)行對數(shù)據(jù)庫中已有的學(xué)生信息及成績進(jìn)行查詢,添加,刪除,修改等操作。
三.概要設(shè)計(jì)
登錄界面功能:讓用戶進(jìn)行登錄。主界面功能:讓用戶選擇進(jìn)行哪項(xiàng)操作。
查詢學(xué)生信息菜單功能:輸入學(xué)生學(xué)號(hào),對該學(xué)生的個(gè)人信息以
及成績進(jìn)行查詢,若直接點(diǎn)擊查詢按鈕,則顯示全部學(xué)生個(gè)人信息及成績。
編輯學(xué)生信息菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生信息進(jìn)行查
詢,添加,刪除,修改等操作。
學(xué)生信息維護(hù)菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生成績進(jìn)行查
詢,添加,刪除,修改等操作。
四.詳細(xì)設(shè)計(jì)
五.效果以及存在問題
說明系統(tǒng)的運(yùn)行效果(附上運(yùn)行界面圖片)、存在哪些不足以及預(yù)期的解決辦法。
登錄界面
登錄學(xué)生管理系統(tǒng)
按查詢條件查詢
打開修改學(xué)生信息子窗口
學(xué)生成績維護(hù)子窗口
垂直窗口排列
關(guān)于窗口
不足:1.沒有實(shí)現(xiàn)用戶登錄界面中的注冊功能
2.沒有實(shí)現(xiàn)主界面中文件下的新建和保存功能。
六.心得體會(huì)
經(jīng)過幾天的苦戰(zhàn),終于把課程設(shè)計(jì)粗略的做完了。剛開始做的時(shí)候,毫無頭緒,一片茫然。好在書本上有類似的實(shí)驗(yàn),可以供參考。盡管如此,真正做起項(xiàng)目來,還是有著這樣那樣的困難,有時(shí)一個(gè)空格少打都會(huì)出錯(cuò),導(dǎo)致我檢查了半天才發(fā)現(xiàn)問題所在。由于VB語法還運(yùn)用不熟練,很多代碼都是模仿書本上的敲的,許多代碼往往能編譯通過,但很多都會(huì)拋出各種異常,讓人頭疼。有時(shí)系統(tǒng)就給出個(gè)有個(gè)參數(shù)沒有被指定值,就可以讓人搞的焦頭爛額。因此,寫程序真的也很需要強(qiáng)大的耐心,只要熬下去了,當(dāng)你做出程序時(shí),也會(huì)倍有成就感。目前,程序是基本寫完了,平常學(xué)的理論都得到了運(yùn)用,感覺自己的能力也增強(qiáng)了。一句話,實(shí)踐才是硬道理。
七.附錄代碼
(附上各模塊代碼)
1.登錄界面
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Static n As Integer
If txtName.Text = “abc” And txtPassWord.Text = “123” Then
Dim form2 As New Form2()
form2.Show()
Me.Close()
Else
n = n + 1
If n < 5 Then
MsgBox(“請輸入正確的用戶名和密碼!”, MsgBoxStyle.Critical)
Else
MsgBox(“請輸入正確的用戶名和密碼!”, MsgBoxStyle.Critical)
Button1.Enabled = False
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click
Me.Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.Click
Dim form3 As New Form3()
form3.Show()
Me.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
End Sub End Class
2.查詢學(xué)生菜單代碼
Public Class Form6
Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS_KC As New OleDb.OleDbDataAdapter
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS_KC As New OleDb.OleDbCommand
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS_KC As New DataSet
Dim objDsXS As New DataSet
objConn.ConnectionString = “Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'”
objCommXS.CommandText = “ Select * From XS ”
objCommXS_KC.CommandText = “ Select * From XS_KC ”
objCommXS_KC.Connection = objConn
objDaXS_KC.SelectCommand = objCommXS_KC
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS_KC.Fill(objDsXS_KC, “XS_KC”)
objDaXS.Fill(objDsXS, “XS”)
objConn.Close()
DataGridView1.DataSource = objDsXS_KC.Tables(“XS_KC”)
DataGridView2.DataSource = objDsXS.Tables(“XS”)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS_KC As New OleDb.OleDbDataAdapter
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS_KC As New OleDb.OleDbCommand
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS_KC As New DataSet
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = “"
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號(hào)like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS “
objCommXS_KC.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
objCommXS_KC.CommandText = objCommXS_KC.CommandText & ”where“ & WhereStr
End If
objCommXS_KC.Connection = objConn
objDaXS_KC.SelectCommand = objCommXS_KC
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS_KC.Fill(objDsXS_KC, ”XS_KC“)
objDaXS.Fill(objDsXS, ”XS“)
objConn.Close()
DataGridView1.DataSource = objDsXS_KC.Tables(”XS_KC“)
DataGridView2.DataSource = objDsXS.Tables(”XS“)
End Sub End Class
3編輯學(xué)生信息菜單
Public Class Form7
Dim objDs As New DataSet
Dim objxstable As DataTable
Dim objda As New OleDb.OleDbDataAdapter
Dim wherestr As String
Public Sub refreshdata()
objda.Update(objDs, ”XS“)
objxstable.Clear()
bindgridview(wherestr)
End Sub
Public Sub bindgridview(ByVal strXH As String)
Dim objConn As New OleDb.OleDbConnection
Dim objComm As New OleDb.OleDbCommand
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
wherestr = ” 學(xué)號(hào)like“ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:XSCJ.mdb'“
objComm.CommandText = ” Select * From XS “
If WhereStr <> ”“ Then
objComm.CommandText = objComm.CommandText & ”where“ & WhereStr
End If
'把objConn設(shè)置為objConn的數(shù)據(jù)連接
objComm.Connection = objConn
objda.SelectCommand = objComm
'創(chuàng)建INSERT Command
Dim InsCommand As New OleDb.OleDbCommand(”INSERT INTO XS(學(xué)號(hào),姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注)VALUES(?,?,?,?,?,?,?)“, objConn)
InsCommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.VarChar, 6, ”學(xué)號(hào)“)
InsCommand.Parameters.Add(”姓名“, OleDb.OleDbType.VarChar, 8, ”姓名“)
InsCommand.Parameters.Add(”專業(yè)名“, OleDb.OleDbType.VarChar, 10, ”專業(yè)名“)
InsCommand.Parameters.Add(”性別“, OleDb.OleDbType.VarChar, 2, ”性別“)
InsCommand.Parameters.Add(”出生日期“, OleDb.OleDbType.Date, Nothing, ”出生日期“)
InsCommand.Parameters.Add(”總學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”總學(xué)分“)
InsCommand.Parameters.Add(”備注“, OleDb.OleDbType.VarChar, Nothing, ”備注“)
objda.InsertCommand = InsCommand
'創(chuàng)建Delte Command
Dim delcommand As New OleDb.OleDbCommand(”DELETE * from XS where 學(xué)號(hào)=?“, objConn)
delcommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.Char, 6, ”學(xué)號(hào)“)
objda.DeleteCommand = delcommand
'創(chuàng)建Update Command
Dim updCommand As New OleDb.OleDbCommand(”UPDATE XS SET 學(xué)號(hào)=?,姓名=?,專業(yè)名=?,性別=?,出生日期=?,總學(xué)分=?,備注=? WHERE 學(xué)號(hào)=?“, objConn)
updCommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.VarChar, 6, ”學(xué)號(hào)“)
updCommand.Parameters.Add(”姓名“, OleDb.OleDbType.VarChar, 8, ”姓名“)
updCommand.Parameters.Add(”專業(yè)名“, OleDb.OleDbType.VarChar, 10, ”專業(yè)名“)
updCommand.Parameters.Add(”性別“, OleDb.OleDbType.VarChar, 2, ”性別“)
updCommand.Parameters.Add(”出生日期“, OleDb.OleDbType.Date, Nothing, ”出生日期“)
updCommand.Parameters.Add(”總學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”總學(xué)分“)
updCommand.Parameters.Add(”備注“, OleDb.OleDbType.VarChar, Nothing, ”備注“)
updCommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.VarChar, 6, ”學(xué)號(hào)“)
objda.UpdateCommand = updCommand
objConn.Open()
'打開數(shù)據(jù)庫連接
objda.Fill(objDs, ”XS“)'填充數(shù)據(jù)
objxstable = objDs.Tables(”XS“)
objConn.Close()
'關(guān)閉數(shù)據(jù)集
'把DataGrid1的DataSource屬性設(shè)置為剛剛?cè)〉降臄?shù)據(jù)表,這樣就可以顯示數(shù)據(jù)了
DataGridView1.DataSource = objDs.Tables(”XS“)
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellContentClick
TxtStuXH.Text = DataGridView1.CurrentRow.Cells.Item(0).Value.ToString '顯示學(xué)號(hào)
TxtStuXM.Text = DataGridView1.CurrentRow.Cells.Item(1).Value.ToString '顯示姓名
TxtZY.Text = DataGridView1.CurrentRow.Cells.Item(2).Value.ToString '顯示專業(yè)
TxtXB.Text = DataGridView1.CurrentRow.Cells.Item(3).Value.ToString '顯示性別
TxtCSRQ.Text = DataGridView1.CurrentRow.Cells.Item(4).Value.ToString '顯示出生日期
TxtStuZXF.Text = DataGridView1.CurrentRow.Cells.Item(5).Value.ToString '顯示總學(xué)分
TxtBZ.Text = DataGridView1.CurrentRow.Cells.Item(6).Value.ToString '顯示備注
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號(hào)like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
End If
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS.Fill(objDsXS, ”XS“)
objConn.Close()
DataGridView1.DataSource = objDsXS.Tables(”XS“)
End Sub
Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
wherestr = ”“
bindgridview(wherestr)
End Sub
Private Sub butAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butAdd.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要添加記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow = objxstable.NewRow()
myRow(”學(xué)號(hào)“)= TxtStuXH.Text
myRow(”姓名“)= TxtStuXM.Text
myRow(”專業(yè)名“)= TxtZY.Text
myRow(”性別“)= TxtXB.Text
myRow(”出生日期“)= TxtCSRQ.Text
myRow(”總學(xué)分“)= TxtStuZXF.Text
myRow(”備注“)= TxtBZ.Text
objxstable.Rows.Add(myRow)
refreshdata()
End If
End Sub
Private Sub butEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butEdit.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要修改記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'修改學(xué)號(hào)
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(0)= TxtStuXH.Text
'修改姓名
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(1)= TxtStuXM.Text
'修改專業(yè)
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(2)= TxtZY.Text
'修改性別
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(3)= TxtXB.Text
'修改出生日期
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(4)= TxtCSRQ.Text
'修改總學(xué)分
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(5)= TxtStuZXF.Text
'修改備注
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(6)= TxtBZ.Text
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub butDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butDelete.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要?jiǎng)h除記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'除學(xué)生成績表當(dāng)前記錄
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Delete()
refreshdata()'更新并刷新顯示
End If
End Sub End Class
4.學(xué)生成績維護(hù)菜單
Public Class Form4
Dim objDs As New DataSet
Dim objXSTable As DataTable
Dim objDa As New OleDb.OleDbDataAdapter
Dim WhereStr As String
Public Sub refreshdata()
objDa.Update(objDs, ”XS_KC“)
objXSTable.Clear()
bindgridview(WhereStr)
End Sub
Public Sub bindgridview(ByVal strXH As String)
Dim objConn As New OleDb.OleDbConnection
Dim objComm As New OleDb.OleDbCommand
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號(hào)like“ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:XSCJ.mdb'“
objComm.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objComm.CommandText = objComm.CommandText & ”where“ & WhereStr
End If
'把objConn設(shè)置為objConn的數(shù)據(jù)連接
objComm.Connection = objConn
objDa.SelectCommand = objComm
'創(chuàng)建INSERT Command
Dim InsCommand As New OleDb.OleDbCommand(”INSERT INTO XS_KC(學(xué)號(hào),課程號(hào),成績,學(xué)分)VALUES(?,?,?,?)“, objConn)
InsCommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.VarChar, 6, ”學(xué)號(hào)“)
InsCommand.Parameters.Add(”課程號(hào)“, OleDb.OleDbType.VarChar, 4, ”課程號(hào)“)
InsCommand.Parameters.Add(”成績“, OleDb.OleDbType.Integer, Nothing, ”成績“)
InsCommand.Parameters.Add(”學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”學(xué)分“)
objDa.InsertCommand = InsCommand
'創(chuàng)建Delte Command
Dim delcommand As New OleDb.OleDbCommand(”DELETE * from XS_KC where 序號(hào)=?“, objConn)
delcommand.Parameters.Add(”序號(hào)“, OleDb.OleDbType.Char, 6, ”序號(hào)“)
objDa.DeleteCommand = delcommand
'創(chuàng)建Update Command
Dim updCommand As New OleDb.OleDbCommand(”UPDATE XS_KC set 學(xué)號(hào)=?,課程號(hào)=?,成績=?,學(xué)分=? where 序號(hào)=?“, objConn)
updCommand.Parameters.Add(”學(xué)號(hào)“, OleDb.OleDbType.VarChar, 6, ”學(xué)號(hào)“)
updCommand.Parameters.Add(”課程號(hào)“, OleDb.OleDbType.VarChar, 4, ”課程號(hào)“)
updCommand.Parameters.Add(”成績“, OleDb.OleDbType.Integer, Nothing, ”成績“)
updCommand.Parameters.Add(”學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”學(xué)分“)
updCommand.Parameters.Add(”序號(hào)“, OleDb.OleDbType.Integer, Nothing, ”序號(hào)“)
objDa.UpdateCommand = updCommand
objConn.Open()
'打開數(shù)據(jù)庫連接
objDa.Fill(objDs, ”XS_KC“)'填充數(shù)據(jù)
objXSTable = objDs.Tables(”XS_KC“)
objConn.Close()
'關(guān)閉數(shù)據(jù)集
'把DataGrid1的DataSource屬性設(shè)置為剛剛?cè)〉降臄?shù)據(jù)表,這樣就可以顯示數(shù)據(jù)了
DataGridView1.DataSource = objDs.Tables(”XS_KC“)
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellContentClick
txtStuXKID.Text = DataGridView1.CurrentRow.Cells.Item(0).Value.ToString '顯示ID
txtStuXH.Text = DataGridView1.CurrentRow.Cells.Item(1).Value.ToString '顯示學(xué)號(hào)
txtStuKCH.Text = DataGridView1.CurrentRow.Cells.Item(2).Value.ToString '顯示課程號(hào)
txtStuCJ.Text = DataGridView1.CurrentRow.Cells.Item(3).Value.ToString '顯示成績
txtStuXF.Text = DataGridView1.CurrentRow.Cells.Item(4).Value.ToString '顯示學(xué)分
End Sub
Private Sub btnDdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butAdd.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要添加記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow = objXSTable.NewRow()
myRow(”學(xué)號(hào)“)= txtStuXH.Text
myRow(”課程號(hào)“)= txtStuKCH.Text
myRow(”成績“)= txtStuCJ.Text
myRow(”學(xué)分“)= txtStuXF.Text
objXSTable.Rows.Add(myRow)
refreshdata()
End If
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butEdit.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要修改記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'修改學(xué)號(hào)
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(1)= txtStuXH.Text
'修改課程號(hào)
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(2)= txtStuKCH.Text
' 修改成績
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(3)= txtStuCJ.Text
'修改學(xué)分
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(4)= txtStuXF.Text
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butDelete.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要?jiǎng)h除記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'除學(xué)生成績表當(dāng)前記錄
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Delete()
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號(hào)like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
End If
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS.Fill(objDsXS, ”XS_KC“)
objConn.Close()
DataGridView1.DataSource = objDsXS.Tables(”XS_KC“)
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
WhereStr = ”"
bindgridview(WhereStr)
End Sub End Class
5.主菜單界面代碼
Public Class Form2
Private Sub quitMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles quitMenuItem.Click
Me.Close()
End Sub
Private Sub importscoreMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles importscoreMenuItem.Click
Dim form4 As New Form4
form4.MdiParent = Me
form4.WindowState = FormWindowState.Normal
form4.Show()
End Sub
Private Sub updateinfoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles updateinfoMenuItem.Click
Dim form7 As New Form7
form7.MdiParent = Me
form7.WindowState = FormWindowState.Normal
form7.Show()
End Sub
Private Sub selectinfoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles selectinfoMenuItem.Click
Dim form6 As New Form6
Form6.MdiParent = Me
form6.WindowState = FormWindowState.Normal
form6.Show()
End Sub
Private Sub cascadeMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles cascadeMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
Private Sub horizonMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles horizonMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub verticalMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles verticalMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
Private Sub aboutMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles aboutMenuItem.Click
Dim form5 As New Form5
form5.MdiParent = Me
form5.WindowState = FormWindowState.Normal
form5.Show()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton1.Click
selectinfoMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton2.Click
updateinfoMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton3.Click
importscoreMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton4.Click
cascadeMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton5.Click
aboutMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton6.Click
quitMenuItem.PerformClick()
End Sub
Private Sub ToolStripStatusLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripStatusLabel1.Click
aboutMenuItem.PerformClick()
End Sub End Class
八.參考文庫
百度文庫,百度知道
第四篇:vb課程設(shè)計(jì)
Visual Basic課程設(shè)計(jì)報(bào)告
題目1: 貪吃蛇 難度:**** 題目2: 難度: 指導(dǎo)教師:
姓 名: 學(xué) 號(hào): 專 業(yè): 班 級(jí): 學(xué) 院:
日 期:
目錄
1、題目簡介...................................................................................................錯(cuò)誤!未定義書簽。
2、設(shè)計(jì)思路與總體方案.................................................................................................................3
2.1 窗體Form1.vb【設(shè)計(jì)】...................................................................................................3 2.2窗體Form2.vb【設(shè)計(jì)】..................................................................................................11 2.3窗體Form3.vb【設(shè)計(jì)】..................................................................................................14 2.4 窗體Form4.vb【設(shè)計(jì)】.................................................................................................14 2.5窗體Form5.vb【設(shè)計(jì)】....................................................................................................2.6窗體Form6.vb【設(shè)計(jì)】..................................................................錯(cuò)誤!未定義書簽。2.6 標(biāo)準(zhǔn)模塊..........................................................................................................................14
3、設(shè)計(jì)過程遇到的主要問題及解決方法...................................................................................16
4、設(shè)計(jì)中尚存的不足分析...........................................................................................................16
5、心得體會(huì)...................................................................................................................................17
6、參考文獻(xiàn)...................................................................................................................................17
1.題目簡介
貪吃蛇是一種很流行的電子游戲。如圖1所示,一條蛇在棋盤狀的格子平面上爬行,由鍵盤控制其轉(zhuǎn)彎;格子上隨機(jī)出現(xiàn)五個(gè)數(shù)字(1~5),當(dāng)蛇的頭部碰到數(shù)字時(shí)會(huì)將數(shù)字“吃掉”,蛇的身體會(huì)變長。當(dāng)蛇的頭撞到障礙物時(shí)或碰到自己身體時(shí),游戲結(jié)束。游戲結(jié)束時(shí),蛇身體越長的分越高。
圖1 程序啟動(dòng)時(shí)界面如圖1所示,游戲平面有20*20個(gè)方格構(gòu)成。使用回車鍵可以暫
停(如圖2所示),蛇爬到邊界時(shí),如果未遇到障礙物,會(huì)從一側(cè)爬出再從另一側(cè)爬入。如果運(yùn)動(dòng)過程中,其頭部碰到障礙物或自己,則被撞死,游戲結(jié)束。
圖2 如果該用戶的成績超過記錄成績,則會(huì)顯示圖3所示的對話框提示輸入用戶名,以供記錄成績,排行榜界面如圖4所示。
圖3
圖4
選擇“設(shè)置”菜單命令,打開圖5所示的“設(shè)置”對話框。在該對話框中可以選
擇不同的障礙物形狀,也可指定背景和障礙物顏色。
圖5 為了使效果更好,我加了背景音樂和速度控制。
2、設(shè)計(jì)思路與總體方案
(說明用到哪些控件并進(jìn)行難點(diǎn)分析,說明所使用到的模塊、過程、變量、數(shù)組、自定義數(shù)據(jù)類型及其相互關(guān)系,必要時(shí)給出系統(tǒng)結(jié)構(gòu)圖等圖表。
對如下事項(xiàng)逐步進(jìn)行必要的分析、說明:
? 程序設(shè)計(jì)的主要思想,程序功能是如何實(shí)現(xiàn)的?
? 設(shè)計(jì)了幾個(gè)程序模塊(有幾個(gè)窗體模塊、幾個(gè)標(biāo)準(zhǔn)模塊),各個(gè)功能模塊的作者及想到之間的關(guān)系(模塊間是如何傳遞信息和數(shù)據(jù)的,采用什么方式,為什么?)?
? 程序中定義了哪些主要的變量(分別定義了哪些過程級(jí)變量?模塊級(jí)變量和全局變量),這些變量起什么作用?是否全局變量? 這里不需要給出大段的源程序,只需要給出關(guān)鍵的實(shí)現(xiàn)代碼即可。)2.1 窗體Form1.vb【設(shè)計(jì)】
這是主界面,但也是最難的環(huán)節(jié),之后要用到的控件與顯示都要在其基礎(chǔ)上發(fā)展。首先我們要將背景網(wǎng)格和蛇身畫出來,由于受到了動(dòng)態(tài)添加控件的啟發(fā),我用了powerpacks中的ovalshape來構(gòu)造蛇身,lineshape來構(gòu)造線,為了滿足蛇的身體長長,用到了數(shù)組。由于代碼之間有許多調(diào)配,在此我所舉的代碼皆主要起說明作用,實(shí)際情況可看源代碼。代碼如下:
Public num As Integer = 4 ‘記錄蛇的長度,即ovalshape的個(gè)數(shù)
Public j As String‘記錄Inputstring的字符串
Public p As Integer = 1‘記錄MsgBox所產(chǎn)生的值
Dim w As Integer
Dim d As Integer ‘為鍵盤方向確定一固定值
Dim recordname As String‘記錄玩家名字
Dim bnum As Integer = 1‘記錄障礙物的個(gè)數(shù)
Public recordlist(7)As String ‘記錄成績
Public recordscore(7)As Integer
Public gametime As Integer ‘記錄游戲進(jìn)行所用時(shí)間
Public gameinterval As Integer = 200 ‘記錄游戲Timer控件interval值
Public score As Integer ‘記錄得分
Public direction As Integer
Public line(41)As LineShape
Public food(4)As RectangleShape
Public eye(2)As OvalShape '蛇的眼睛
Public a(num)As OvalShape '蛇的身體
Public word(4)As Label
Imports Microsoft.VisualBasic.PowerPacks Public a(num)As OvalShape ‘a(chǎn)()為定義蛇身的數(shù)組,變量num用來記錄蛇身個(gè)數(shù)
Public line(41)As LineShape Dim canvas = New Microsoft.VisualBasic.PowerPacks.ShapeContainer
For i = 4 To 0 Step-1 a(i)= New OvalShape
a(i).Size = New Size(20, 20)a(i).Top = 360 a(i).Left = 120 + 20 * i a(i).FillStyle = FillStyle.Solid a(i).FillColor = Color.Yellow a(i).Parent = canvas Next
a(0).FillColor = Color.Red ‘給蛇上色 a(0).BackColor = Color.Red Dim i As Integer
canvas.parent = Me.Panel1 For i = 0 To 20 '形成網(wǎng)格,以兩點(diǎn)坐標(biāo)來確定線的位置
line(i)= New LineShape line(i).X1 = 0 line(i).X2 = 400 line(i).Y1 = 20 * i
line(i).Y2 = 20 * i line(i).Parent = canvas Next
For i = 21 To 41 line(i)= New LineShape line(i).X1 = 20 *(i21)line(i).Y1 = 0 line(i).Y2 = 400 line(i).Parent = canvas 蛇已經(jīng)做好,那么我們可以進(jìn)行下一步:讓蛇隨鍵盤的上下左右運(yùn)動(dòng)起來。這一步曾經(jīng)困擾我很久,但通過上網(wǎng)我發(fā)現(xiàn)每一個(gè)鍵盤都對應(yīng)著一個(gè)代碼,如:左37,上38,右39,下40。首先得讓控件響應(yīng)鍵盤事件,其次讓蛇動(dòng),而蛇的運(yùn)動(dòng)可看作蛇頭移動(dòng),蛇身跟隨前一個(gè)身體。由此可以用以下代碼解決:
Private Sub form_keydown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)Handles Me.KeyDown Select Case e.KeyCode Case 37 If d <> 2 Then d = 0 ‘這樣能讓蛇不往回走
Case 38 If d <> 1 Then d = 3 Case 39 If d <> 0 Then d = 2 Case 40 If d <> 3 Then d = 1 End Select
End Sub Select Case d Case 2 For i = num To 1 Step-1 a(i).Left = a(i1).Top Next
a(0).Left += 20 Case 1 For i = num To 1 Step-1 a(i).Left = a(i1).Top Next
a(0).Top += 20 Case 0 For i = num To 1 Step-1
a(i).Left = a(i1).Top Next
a(0).Left-= 20 Case 3 For i = num To 1 Step-1 a(i).Left = a(i1).Top Next
a(0).Top-= 20 End Select 然后我們可以來設(shè)置食物來讓蛇吃,我用rectangleshape控件來制造食物,就像和畫出蛇身一樣寫,但是每當(dāng)被吃后它有出現(xiàn),而且不能出現(xiàn)在蛇身上。首先,它是隨機(jī)出現(xiàn)的,我們可用隨機(jī)函數(shù),然后可通過判斷讓它不出現(xiàn)在蛇身上。對于數(shù)字1,2,3,4,5;我用lebal控件,然后讓其和食物坐標(biāo)同步,這樣看起來就像數(shù)字在食物上一樣。代碼如下:
For i = 0 To 4 If a(0).Top = food(i).Top And a(0).Left = food(i).Left Then ‘判斷是否吃到
score += i + 1 ‘分?jǐn)?shù)增加 num += i + 1 ‘蛇身的個(gè)數(shù)增加 food(i).Visible = False word(i).Visible = False
ReDim Preserve food(4)ReDim Preserve word(4)food(i)= New RectangleShape food(i).Size = New Size(20, 20)Randomize()food(i).Left = Int(Rnd()* 20)* 20 ‘隨機(jī)確定新坐標(biāo)
food(i).Top = Int(Rnd()* 20)* 20 L2: For g = 0 To num1 If food(i).Left = a(g).Left And food(i).Top = a(g).Top Then
Call setloction(i)GoTo L2 End If
Next
food(i).FillStyle = FillStyle.Solid food(i).Parent = canvas word(i)= New Label word(i).Text = i + 1 word(i).Size = New Size(10, 10)
word(i).Top = food(i).Top + 5 word(i).Left = food(i).Left + 5 word(i).Parent = canvas ReDim Preserve a(num)‘蛇長長,重新定義動(dòng)態(tài)數(shù)組
For k = numii1 If a(0).Top = barrier(k).Top And a(0).Left = barrier(k).Left Then
Timer1.Enabled = False a(0).FillColor = Color.Red lifetime-= 1 If score < 3 Then
If lifetime < 1 Then
MsgBox(“GAME OVER!”, 64, “貪吃蛇”)recordname = InputBox(“GAME OVER!” & Chr(13)& “你的成績?yōu)椤?& Int(score)& “分用時(shí)” & _ Int(gameinterval * gametime / 1000)& ”秒。“ & Chr(13)& ”請留下大名“, ”貪吃蛇“, ”無名氏“)Else
p = MsgBox(”Do you want to continue?“, vbYesNo, ”生命值“ & lifetime)If p = 6 Then
Exit For
End If
End If
Else
If lifetime < 1 Then
recordname = InputBox(”GAME OVER!“ & Chr(13)& ”你的成績?yōu)椤?& Int(score)& ”分用時(shí)” & _ Int(gameinterval * gametime / 1000)& “秒?!?& Chr(13)& “請留下大名?”, “貪吃蛇”, “無名氏”)Else
p = MsgBox(“Do you want to continue?”, vbYesNo, “生命值” & lifetime)If p = 6 Then
Exit For
End If
End If
End If
Call record()Call initialize()Exit For
End If
Next 想要形成障礙物,在此我們需要用到文件的讀操作。主要代碼如下:
FileOpen(1, filelacation, OpenMode.Input)' 讀取墻壁,形成迷宮 bnum = 1 Dim L As Integer
Dim T As Integer
For i = 1 To 419 j = InputString(1, 2)If Val(j)= 1 Then
barrier(bnum)= New RectangleShape barrier(bnum).Left = 20 * L barrier(bnum).Top = 20 * T barrier(bnum).Size = New Size(20, 20)barrier(bnum).FillColor = barriercolor barrier(bnum).FillStyle = FillStyle.Solid barrier(bnum).Parent = canvas bnum += 1 End If
If Val(j)= 0 Then ‘用此方法使讀出的內(nèi)容與坐標(biāo)對應(yīng)
End If
If j = vbCrLf Then L-= 1 End If L += 1
If L = 20 Then L = 0 : T += 1 End If
Next
FileClose(1)在此基礎(chǔ)上便可調(diào)用其它的過程,比較簡單。代碼如下:
Private Sub 開始ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 開始ToolStripMenuItem.Click If Timer1.Enabled = False Then Timer1.Enabled = True
Exit Sub
End If
If Timer1.Enabled = True Then Timer1.Enabled = False
End If
End Sub
Private Sub 新開局ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 新開局ToolStripMenuItem.Click Call initialize()End Sub
Private Sub 關(guān)于ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 關(guān)于ToolStripMenuItem.Click MsgBox(“貪吃蛇vb2010.2016.3.20”, 64, “版本說明”)End Sub
Private Sub 幫助ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 幫助ToolStripMenuItem1.Click Form3.Show()End Sub
Private Sub 設(shè)置ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 設(shè)置ToolStripMenuItem.Click Form2.Show()End Sub
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 退出ToolStripMenuItem.Click
End
End Sub
Private Sub 排行榜ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 排行榜ToolStripMenuItem.Click Form6.Show()End Sub
2.2窗體Form2.vb【設(shè)計(jì)】
這個(gè)界面是第二重要的,當(dāng)然它的設(shè)計(jì)也較麻煩。設(shè)計(jì)的障礙物的類型用到了listbox控件,也用到了菜單欄與pictureBox控件。而調(diào)用的過程shapeview所用到的內(nèi)容與Form1.vb中的類似,因此方便好多。
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load ListBox1.Items.Add(“方盒形”)ListBox1.Items.Add(“隧道形”)ListBox1.Items.Add(“螺旋形”)ListBox1.Items.Add(“路障形”)ListBox1.Items.Add(“彎曲形”)ListBox1.Items.Add(“怪異形”)ListBox1.Items.Add(“無障礙形”)PictureBox2.BackColor = Color.DarkGray PictureBox1.BackColor = Color.Aqua TextBox1.Text = lifetime Call shapeview()End Sub Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)Handles ListBox1.SelectedIndexChanged
If ListBox1.SelectedIndex = 0 Then filelacation = “maze1方盒形.txt” filename = “方盒形” mazenum = 1 End If
If ListBox1.SelectedIndex = 1 Then filelacation = “maze1隧道形.txt” filename = “隧道形” mazenum = 2 End If
If ListBox1.SelectedIndex = 2 Then filelacation = “maze1螺旋形.txt” filename = “螺旋形”
mazenum = 3 End If
If ListBox1.SelectedIndex = 3 Then filelacation = “maze1路障形.txt” filename = “路障形” mazenum = 4 End If
If ListBox1.SelectedIndex = 4 Then filelacation = “maze1彎曲形.txt” filename = “彎曲形” mazenum = 5 End If
If ListBox1.SelectedIndex = 5 Then filelacation = “maze1怪異形.txt” filename = “怪異形” mazenum = 6 End If
If ListBox1.SelectedIndex = 6 Then
filelacation = “maze1無障礙形.txt” filename = “無障礙形” mazenum = 7 End If
For k = 1 To oldnum121)line1(i).X2 = 10 *(i單車.wav“
'musicname = ”MUSIC陳奕迅-單車.wav“
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & ”MUSIC陳奕迅-單車.wav“)End If
End Sub
Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles RadioButton6.CheckedChanged If RadioButton6.Checked = True Then
'Form1.AxWindowsMediaPlayer1.Ctlcontrols.stop()
My.Computer.Audio.Stop()End If
End Sub End Class
2.6窗體Form5.vb[設(shè)計(jì)】
此窗體用來調(diào)節(jié)蛇運(yùn)動(dòng)的快慢程度。
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles TrackBar1.Scroll
Dim v As Integer v = TrackBar1.Value timeinterval = 500 /(2 ^ v)Label3.Text = TrackBar1.Value End Sub
2.7窗體Form6.vb[設(shè)計(jì)】
此窗體用來顯示玩家的成績,用到了listBox控件來顯示成績,點(diǎn)擊清除所有記錄可還原,recordlist()用來記錄文件中的每一行。Public Class Form6
Public Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load For i = 1 To 7 ListBox1.Items.Add(Form1.recordlist(i))Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click ListBox1.Items.Clear()FileOpen(1, My.Application.Info.DirectoryPath & ”clear.txt“, OpenMode.Input)For i = 1 To 7 Form1.recordlist(i)= LineInput(1)ListBox1.Items.Add(Form1.recordlist(i))Next
FileClose(1)End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Close()End Sub End Class
2.8標(biāo)準(zhǔn)模塊
定義各種變量
Imports Microsoft.VisualBasic.PowerPacks Module Module1
Public barriercolor As System.Drawing.Color = Color.DarkGray
‘記錄障礙物的顏色
Public panalcolor As System.Drawing.Color = Color.Aqua ‘記錄面板的顏色
Public oldnum As Integer
Public oldnum1 As Integer
Public bnum1 As Integer
Public filelacation As String = ”maze1螺旋形.txt“
Public filename As String = ”螺旋形"
Public timeinterval As Integer = 1000 Public mazenum As Integer = 2 ‘為每一個(gè)障礙物類型做標(biāo)記
Public lifetime As Integer = 1 ‘生命次數(shù)
Public barrier(400)As RectangleShape End Module
3、設(shè)計(jì)過程遇到的主要問題及解決方法
3.1剛開始時(shí)對于畫出后面的線條時(shí)我是添加了41個(gè)Lineshape控件,一個(gè)個(gè)確定等距的坐標(biāo)將其畫下,廢了我好大的氣力,但后來受到了動(dòng)態(tài)添加控件的觸動(dòng)用數(shù)組將其解決。
3.2如何引發(fā)鍵盤事件曾一度困擾我,了解了鍵盤下所代表的代碼意義,之前一直使用的是select case keycode代碼,怎么也無法使其響應(yīng)。后來看看課本上關(guān)于鍵盤的代碼,隨便使用了select case e.keycode代碼,令我欣慰的是竟然成功了。
3.3下一個(gè)是如何在界面上顯示出障礙物。根據(jù)所提供的文件夾,了解起大概用法,為了讓我編程更容易,我對其文件做了一定的修改。
3.4最難的是過程之間的調(diào)用與聯(lián)系,解決的辦法就是不斷的進(jìn)行調(diào)試,修改。比如在我編寫重新開局的菜單代碼時(shí)總是會(huì)出現(xiàn)兩只蛇;又如在編寫排行榜時(shí)便不是很方便的能使用listbox.Items.remove這行代碼,因此我得另辟蹊徑。
4、設(shè)計(jì)中尚存的不足分析
4.1由于我采用的編寫方法是將完成這個(gè)貪吃蛇游戲所需滿足的要求分開,一個(gè)一個(gè)的進(jìn)行攻破,我會(huì)發(fā)現(xiàn)越往后編寫越要考慮到之前的內(nèi)容,在解決程序之間的關(guān)系會(huì)越麻煩,調(diào)試的次數(shù)更多。而且編完后縱觀全局會(huì)發(fā)現(xiàn)代碼的結(jié)構(gòu)較混亂,重復(fù)性高,他人難以看的明白。
4.2 在定義變量時(shí)我盡量定義其為全局變量和模塊級(jí)變量。部分變量為了簡單或難以翻譯為英文的僅僅使用了字母代替,對讀代碼有一定困難。
4.3 我所犯下的最大錯(cuò)誤就是使用控件來顯示蛇,因?yàn)樵谶\(yùn)行程序時(shí)蛇身會(huì)隨著長度的增加閃爍的愈發(fā)厲害??赡苁强丶?,程序運(yùn)行不流暢,效率不高。
4.4 我想在游戲中添加一些音樂,并且用到了循環(huán)播放的代碼,但是至今我還是沒有想到如何能將播放中的音樂暫停。還有的就是怎樣才能同時(shí)播放兩種聲音。
4.5 對于排行榜的編寫存在一些問題,比如:怎樣才能使顯示的行間距更開;如何才能使所顯示的各項(xiàng)指標(biāo)在其對應(yīng)的列下,在這一點(diǎn)上有很大的缺陷。可能程序要用到dictionary方法。
4.6 當(dāng)我運(yùn)行程序時(shí),如果我點(diǎn)了界面上的某條線的話,蛇就不再響應(yīng)鍵盤事件了,必須使用ctrl+方向鍵才能使其響應(yīng)鍵盤事件。應(yīng)該是我點(diǎn)擊時(shí)失去了焦點(diǎn)導(dǎo)致無法正常運(yùn)行。
5、心得體會(huì)
這個(gè)程序從難度上講足足有四顆星,因此我想說我確實(shí)摸索了很久,從界面的制作排版到代碼的編寫。由于計(jì)算機(jī)編程知識(shí)當(dāng)初只學(xué)了些皮毛,很多次我在編程時(shí)不斷調(diào)試卻依然出現(xiàn)這樣那樣的毛病,可能是無意中拼寫錯(cuò)誤,但有些確實(shí)是因?yàn)椴涣私鈜b的某些較為冷僻的用法所致。這段時(shí)間,常會(huì)向同學(xué)請教,也自覺地去借了些書看看,基本上完成了要求,但是功能、界面都還不是很完善,我會(huì)借助以后的時(shí)間繼續(xù)去加工的,我需要的是學(xué)以致用。
我體會(huì)到了編寫程序是個(gè)有條理的邏輯過程,首先必須有個(gè)大致的思路,整體的規(guī)劃出來。然后再是分步地去具體完成,尤為重要的是需要投入相當(dāng)一部分精力去精益求精,這樣你的成果才不會(huì)是毛糙的。思維調(diào)動(dòng)是件另人愉快的事情,而我們應(yīng)該去學(xué)會(huì)享受腦力勞動(dòng)的過程,哪怕是一次次地失利。這就是2個(gè)月的課程設(shè)計(jì)所教會(huì)我的。
6、參考文獻(xiàn)
[2].王棟,visual basic程序設(shè)計(jì)實(shí)用教程,北京,清華大學(xué)出版社
第五篇:vb課程設(shè)計(jì)心得體會(huì)
2023vb課程設(shè)計(jì)心得體會(huì)
2023vb課程設(shè)計(jì)心得體會(huì)1
在課程設(shè)計(jì)過程中,雖然我對程序設(shè)計(jì)不是很熟悉,但是通過老師詳細(xì)的講解,我按照步驟去做,遇到問題的時(shí)候先自己想方法解決,解決不了的就去問同學(xué),問老師,通過這種學(xué)習(xí),收獲很大,學(xué)會(huì)了自己解決棘手問題,知道了團(tuán)結(jié)的力量。
剛開始做程序的時(shí)候,就是完全按照老師的要求,老師的步驟去做的,結(jié)果卻發(fā)現(xiàn),怎么運(yùn)行不了?明明是按照老師的步驟去做的,明明是按照老師的要求去做的,但是就是會(huì)遇到一些問題使程序運(yùn)行不了。開始也沒有管那么多,仍然是按照課本上的去做。 第一次,在上機(jī)課的時(shí)候,我根據(jù)老師講的,在機(jī)房里做了一次,但沒有做完。于是把東西存在了自己的MP3里面,以便以后上機(jī)的時(shí)候再來做。但真的沒有想到,我的MP3,在一次上電子閱覽室的時(shí)候,忘了拔了。于是乎,我辛辛苦苦做了一大節(jié)課的程序就這樣沒了。心里真的很不舒服,但是,不舒服歸不舒服,這個(gè)程序,還是得繼續(xù)做下去,這么以點(diǎn)點(diǎn)小小的失誤不算什么,然后跑到學(xué)校機(jī)房,繼續(xù)我的VB程序設(shè)計(jì)。但由于時(shí)間問題,做的還是有點(diǎn)粗糙,還是不免存在一定的問題,比方說開始的'時(shí)候翻開不了文件,總是出現(xiàn)錯(cuò)誤,自己總也找不出來,后來請教了一下同學(xué),結(jié)果發(fā)現(xiàn)時(shí)代碼的編寫出現(xiàn)了錯(cuò)誤,把代碼改正來之后,程序終于可以翻開運(yùn)行了。然后,檢查的時(shí)候,又發(fā)現(xiàn)“查找”運(yùn)行錯(cuò)誤,又是代碼那里出現(xiàn)的黃色的字樣,結(jié)果發(fā)現(xiàn),是代碼拼寫錯(cuò)誤,于是,拿著同學(xué)的代碼比照一下,發(fā)現(xiàn)了錯(cuò)誤所在之地,然后更正了過來。
經(jīng)過一番努力,程序終于做完了。
后來,室友看了我的程序,她說運(yùn)行不了的,就是出現(xiàn)了錯(cuò)誤,出現(xiàn)了錯(cuò)誤,就應(yīng)該改正啊,這時(shí)的我才恍然大?!笆清e(cuò)誤,那么就要改正的!”于是當(dāng)天,我就去了學(xué)校機(jī)房,再一次運(yùn)行我的程序,仍然出現(xiàn)錯(cuò)誤情況,需要調(diào)試,我回憶起上課的時(shí)候,老師是怎么跟我們講的,哪里出現(xiàn)了錯(cuò)誤,需要怎么樣改正。于是,我就耐著性子,一個(gè)一個(gè),一個(gè)一個(gè)得改正,代碼,一個(gè)一個(gè)得檢查,終于完成了。完成之后,我在運(yùn)行一下,一切正常,心里終于舒了一口氣。經(jīng)過這次的VB程序設(shè)計(jì),讓我知道了更多學(xué)習(xí)的方法。具體如下:
(1)保持良好的學(xué)習(xí)心態(tài),第一,要有自信,自強(qiáng),積極主動(dòng)學(xué)習(xí)、第二,克服畏難情緒,樹立學(xué)好程序設(shè)計(jì)的信心。
(2)要了解概念:VB程序設(shè)計(jì)本身并不復(fù)雜,變量,函數(shù),條件語句,循環(huán)語句等概念較多、要真正能進(jìn)行程序設(shè)計(jì),就要深入理解這些概念、應(yīng)該重視概念的學(xué)習(xí)。
(3)自己動(dòng)手編寫程序,親自動(dòng)手進(jìn)行程序設(shè)計(jì)是培養(yǎng)邏輯思維的好方法、因此我們得多動(dòng)手編寫程序,逐漸提高寫程序的能力、自己動(dòng)手,編寫一些程序,才會(huì)有成就感,進(jìn)而對課程產(chǎn)生興趣,做起來才比較沉著、等你在編寫大量程序之后。
(4)上機(jī)調(diào)試程序應(yīng)注意多問問同學(xué),多問問老師,把不懂的地方標(biāo)出來。
(5)養(yǎng)成良好的編程習(xí)慣,第一,程序構(gòu)思要有說明;
第二,學(xué)會(huì)如何調(diào)試程序;第三,對運(yùn)行結(jié)果要做正確與否的分析。 但是,如果以前上課的時(shí)候不認(rèn)真的聽講的話,做這個(gè)程序設(shè)計(jì)就會(huì)有點(diǎn)點(diǎn)困難,所以,同時(shí)也在提醒我們,學(xué)習(xí),任何時(shí)候都要認(rèn)真!
總之,在此次的VB程序設(shè)計(jì)中,如果沒有足夠的耐心,就不可能完成的很好。所以此次VB程序設(shè)計(jì),讓我做事情更加有耐心,更加細(xì)心,學(xué)習(xí)更加認(rèn)真仔細(xì)。
2023vb課程設(shè)計(jì)心得體會(huì)2
VB課程是計(jì)算機(jī)科學(xué)與技術(shù)本科專業(yè)的專業(yè)骨干課。本課程主要通過VB論述了面向?qū)ο蟪绦蛟O(shè)計(jì)和組建編程的機(jī)理,涉及到控制臺(tái)界面程序、Windows窗體程序、圖形界面編程、數(shù)據(jù)庫、網(wǎng)絡(luò)應(yīng)用系統(tǒng)等多方面的內(nèi)容。內(nèi)容量大,程序設(shè)計(jì)復(fù)雜、同時(shí)VB程序調(diào)試是在VS環(huán)境下進(jìn)行,在編程過程中環(huán)境會(huì)自動(dòng)為用戶生成一些必要代碼,以降低編程難度,降低學(xué)生的編程負(fù)擔(dān),但這也帶來了一些問題,如:學(xué)生對VB的程序結(jié)構(gòu)把握和了解不全面,對編程機(jī)理了解不透徹,學(xué)生容易盲目照搬書上代碼,不求甚解,似是而非。為了解決這個(gè)問題,我們采取了課程設(shè)計(jì)的方法來加深學(xué)生對知識(shí)的理解,將書本知識(shí)遷移到新的問題解決中,提高學(xué)生分析問題和解決問題的能力。
要求學(xué)生在學(xué)習(xí)該課程中,應(yīng)用每個(gè)相對獨(dú)立的、完整的單元知識(shí)解決一個(gè)實(shí)際項(xiàng)目,設(shè)計(jì)編寫一個(gè)小作品;學(xué)完整個(gè)課程后,完成一個(gè)綜合性比較強(qiáng)的編程項(xiàng)目,使學(xué)生對整個(gè)課程內(nèi)容進(jìn)行全面的總結(jié)、梳理,以項(xiàng)目完成為手段,全面鍛煉學(xué)生分析問題和解決問題的能力。
一、目的
1、為使學(xué)生掌握VB編程、面向?qū)ο蟪绦蛟O(shè)計(jì)思想和組建編程的知識(shí)實(shí)際技能,除了系統(tǒng)地講授必要的VB知識(shí),上機(jī)練習(xí),做作業(yè)外,還應(yīng)該對學(xué)生作較全面的編程技能和分析問題解決問題的能力訓(xùn)練,即作課程設(shè)計(jì),以達(dá)到如下目的:具體應(yīng)用和鞏固本課程及有關(guān)先修課的基礎(chǔ)理論和專業(yè)知識(shí),了解面向?qū)ο蟪绦蛟O(shè)計(jì)思想,掌握應(yīng)用VB。NET編程和組建編程程序設(shè)計(jì)方法,培養(yǎng)學(xué)生初步的項(xiàng)目設(shè)計(jì)能力。
2、獨(dú)立地根據(jù)一定的項(xiàng)目要求,查閱資料,寫出項(xiàng)目開發(fā)目標(biāo),分析開發(fā)過程中所用到的課程知識(shí),提出解決方案,編碼并上機(jī)調(diào)試完成系統(tǒng),培養(yǎng)學(xué)生分析問題和解決問題的能力。課程設(shè)計(jì)是教學(xué)過程中的一個(gè)重要環(huán)節(jié),必須認(rèn)真對待。
二、要求
在課程設(shè)計(jì)中要求學(xué)生注意培養(yǎng)認(rèn)真負(fù)責(zé),踏實(shí)細(xì)致的工作作風(fēng)和保質(zhì)保量,按時(shí)完成任務(wù)的習(xí)慣。在設(shè)計(jì)過程中必須做到:
1、在某個(gè)教學(xué)單元結(jié)束后,完成一個(gè)教師布置的、或?qū)W生自己擬定的、知識(shí)覆蓋整個(gè)章節(jié)的,有一定綜合性和難度的項(xiàng)目,要求學(xué)生描述出要達(dá)到的目標(biāo)、圍繞目標(biāo),收集資料和素材,復(fù)習(xí)所需的課程知識(shí),描述問題解決方案、編寫程序上機(jī)調(diào)試,直到項(xiàng)目的完成。最后的成果要有完成的作品和相應(yīng)的文檔。
2、在課程結(jié)束后,完成一個(gè)大的'編程項(xiàng)目,其要求與課程單元的項(xiàng)目差不多,只是綜合性更強(qiáng)、難度更大、知識(shí)覆蓋面更廣,工作量更大,以全面促進(jìn)學(xué)生復(fù)習(xí)和梳理學(xué)科教學(xué)內(nèi)容,提升學(xué)生分析問題、解決問題和文檔的書寫和編制。
三、采取的措施
為了保證課程設(shè)計(jì)能夠按照預(yù)定的目標(biāo)和計(jì)劃進(jìn)行,我們還采取了以下措施來加強(qiáng)對學(xué)生監(jiān)督和管理。
1、首先講清楚課程設(shè)計(jì)的意義,讓學(xué)生能夠自覺積極主動(dòng)地進(jìn)行課程設(shè)計(jì),發(fā)揮學(xué)生的主觀能動(dòng)性;
2、在課程設(shè)計(jì)過程中,教師隨時(shí)巡視和監(jiān)督,了解把握和控制課程設(shè)計(jì)的進(jìn)展;
3、將學(xué)生的作品集中展示、評價(jià)、打分,可以讓學(xué)生在展示的過程中獲得成就感、自豪感,學(xué)生之間可以相互學(xué)習(xí)、取長補(bǔ)短,同時(shí)在此過程中可以明確標(biāo)準(zhǔn),自覺地按照標(biāo)準(zhǔn)來調(diào)整自己地學(xué)習(xí);
4、將課程設(shè)計(jì)作為學(xué)期成績的一部分記載,大約占10%,必須完成課程設(shè)計(jì)后才能參加考試,課程設(shè)計(jì)不過關(guān),即使考得再好,也不能過。
四、取得的效果
通過以上措施,學(xué)生全部都完成了自己的項(xiàng)目、將所有的作品通過超鏈接網(wǎng)頁的方式集成在一個(gè)作品集中,所有的學(xué)生都完成了4~6個(gè)小作品,每個(gè)作品都反映了學(xué)生應(yīng)用課程的某部分知識(shí)解決某個(gè)問題的結(jié)果,通過完成這些作品,學(xué)生鞏固、加深了對相關(guān)知識(shí)的理解,加強(qiáng)了知識(shí)之間的聯(lián)系,促進(jìn)了知識(shí)的遷移和應(yīng)用。同時(shí)學(xué)生看到凝聚著自己的心血、汗水、思維和創(chuàng)新的作品,就像一個(gè)母親看到自己呱呱墜地孩子那樣充滿了喜悅,激發(fā)了學(xué)生的創(chuàng)造欲望。通過同學(xué)之間作品的對比,提供了一個(gè)相互學(xué)習(xí)交流的平臺(tái),激發(fā)了學(xué)生的競爭意識(shí)??傊ㄟ^課程設(shè)計(jì)受到了良好的多方面的效果,從考試成績來看,級(jí)本科全部都及格了。
2023vb課程設(shè)計(jì)心得體會(huì)3
在前兩周中我們進(jìn)行的VB課程設(shè)計(jì)中,我獲得了一些心得體會(huì)。
這是我第一次系統(tǒng)與完整的接觸軟件設(shè)計(jì)。我們組的題目是關(guān)于“俄羅斯方塊游戲”的設(shè)計(jì)。我在組內(nèi)主要負(fù)責(zé):
(1)游戲界面的設(shè)計(jì);
(2)俄羅斯方塊的造型;
(3)游戲級(jí)別的自由選擇;
(4)游戲速度的自由選擇;
(5)游戲的背景音樂。;
在這次課程設(shè)計(jì)中,我的能力得到了鍛煉,自己也有許多體會(huì)。這次的課程設(shè)計(jì)是自己第一次全面接觸軟件的制作過程。以前僅僅是對軟件的開發(fā)有一個(gè)大體的印象,通過這次的課程設(shè)計(jì),我對軟件的開發(fā)有了切身的體會(huì)。軟件并不像我原來所想的那樣十分神秘,而是有著一個(gè)相對固定的模式和流程。我們只要按照這個(gè)模式和流程,就能夠比較標(biāo)準(zhǔn)的完成一個(gè)軟件的制作。軟件的制作是一個(gè)系統(tǒng)的工程,需要我們掌握多方面的知識(shí)。在這次課程設(shè)計(jì)中,我覺得自己的知識(shí)面依然有所欠缺。因此我需要在以后的學(xué)習(xí)中加以注意,要不斷的提高自己的`知識(shí)面與知識(shí)層次。
我在這次課程設(shè)計(jì)中主要負(fù)責(zé):
(1)游戲界面的設(shè)計(jì);
(2)俄羅斯方塊的造型;
(3)游戲級(jí)別的自由選擇;
(4)游戲速度的自由選擇;
(5)游戲的背景音樂。在這次課程設(shè)計(jì)之前,我對VB的編程不是特別的熟悉,這次的課程設(shè)計(jì),我是一邊學(xué)習(xí),一邊總結(jié),一邊進(jìn)步。在編程的過程中,我體會(huì)到其實(shí)各種計(jì)算機(jī)語言是有相通之處的。在以前的學(xué)習(xí)中,我只接觸過C語言,這次在VB課程設(shè)計(jì)中,我發(fā)現(xiàn)C語言中的許多知識(shí)可以應(yīng)用到VB中,兩者具有相通的數(shù)據(jù)結(jié)構(gòu)。所以我認(rèn)為現(xiàn)在對計(jì)算機(jī)語言的學(xué)習(xí),不要貪多,而應(yīng)耐心的學(xué)好一門主要的計(jì)算機(jī)語言,在這個(gè)根底上,去學(xué)習(xí)其他的語言,這樣會(huì)使學(xué)習(xí)效率大大提高。
在編程的過程中,我體會(huì)到編程是十分辛苦的。在課程設(shè)計(jì)這一段時(shí)間里,我每天的生活根本是在不斷的調(diào)試程序和修改代碼中完成的。有時(shí),這種生活令人感到乏味和疲倦,但是在這種近似枯燥的生活中,我的編程水平有了一定程度的提高,這是課程設(shè)計(jì)中組成員互相幫助,有問題兩個(gè)人一起討論解決,大大節(jié)省了時(shí)間?;ハ喽继岢隽撕芎玫慕ㄗh,使我們的課程設(shè)計(jì)得以較好的完成。 課程設(shè)計(jì)已經(jīng)結(jié)束了,但在課程設(shè)計(jì)的這些體會(huì)要應(yīng)用到今后的日常學(xué)習(xí)中去。在新的學(xué)期,我覺得自己要在以下幾個(gè)方面加以注意:
首先,在學(xué)習(xí)專業(yè)課的時(shí)候要注意理論聯(lián)系實(shí)際。注意將課本上的知識(shí)應(yīng)用到日常的操作中,真正做到學(xué)以致用。只有這樣,才能做到目的明確,才能有足夠的學(xué)習(xí)動(dòng)力。
其次,在學(xué)習(xí)過程中要經(jīng)常與同學(xué)進(jìn)行交流,討論所遇到的問題,并一起解決。在討論中解決問題,會(huì)節(jié)約很多時(shí)間,并且在交流的過程中,我們也可以學(xué)到更多的東西。
課程設(shè)計(jì)已經(jīng)已經(jīng)完美解暑,這次課程設(shè)計(jì)給我打來了很多新的體會(huì),在以后的學(xué)習(xí)中要不斷總結(jié),不斷改良,使自己的成績有新的提高。只有不斷努力,才會(huì)使自己變得更加優(yōu)秀。
2023vb課程設(shè)計(jì)心得體會(huì)4
經(jīng)過近一個(gè)月的設(shè)計(jì)與制作,我們組的《世界杯觀戰(zhàn)指南》終于完成了,現(xiàn)將過程中遇到的問題、獲得的體會(huì)記錄如下。
這次數(shù)據(jù)庫課程設(shè)計(jì)中我主要負(fù)責(zé)用戶登錄、注冊及數(shù)據(jù)庫維護(hù)方面的'設(shè)計(jì)。
1、Delphi是一款功能很強(qiáng)大的軟件,其控件之多超出了我的想象,因此在運(yùn)用時(shí)要借助很多資料。要學(xué)會(huì)查找和利用現(xiàn)有資料來解決問題
2、在設(shè)計(jì)中用到了很多SQL語句,因此對SQL及程序語句地掌握也是必不可少的。
3、后期的軟件制作都是以前期的工作為基礎(chǔ)的,因此在前期的需求分析及數(shù)據(jù)庫設(shè)計(jì)階段要認(rèn)真、細(xì)致。
4、我們是三個(gè)人的小組,在設(shè)計(jì)過程要互相協(xié)調(diào),合作。這樣才能充分發(fā)揮每個(gè)人的作用。
2023vb課程設(shè)計(jì)心得體會(huì)5
時(shí)間真的如輪一樣在飛轉(zhuǎn),一周的實(shí)訓(xùn)又一次即將結(jié)束,可是,感覺仿佛只過去了一天。實(shí)訓(xùn)結(jié)束也意味著這個(gè)學(xué)期也將結(jié)束。不管時(shí)間多么的飛快,這周短暫的VB程序設(shè)計(jì)實(shí)訓(xùn)同樣讓我們收益不少。 首先,不說我們學(xué)到了多少專業(yè)知識(shí),也不說我們學(xué)到了多少專業(yè)技能。在這樣零下1度的天氣中實(shí)訓(xùn),著實(shí)是鍛煉我們的意志力。人都有惰性,這是無可厚非的事實(shí)。在寒冷的天氣里,賴床就更是常有的事。因?yàn)橐獙?shí)訓(xùn),我們很多平常經(jīng)常遲到的同志不得不早起。就說實(shí)訓(xùn)的第一天,外面飄著白雪,早上,手機(jī)的鬧鈴已經(jīng)響過第二遍了。
我們宿舍的幾個(gè)姐妹還躲在被窩里無動(dòng)于衷。可是,當(dāng)一個(gè)姐們突然說了一句,“這周要實(shí)訓(xùn)”時(shí),我們都‘呼啦’爬了起來,以驚人的速度洗漱好,急忙趕到教室。不管平時(shí)多么懶散的同學(xué),這次實(shí)訓(xùn)都表現(xiàn)的異樣的認(rèn)真。這應(yīng)該算是實(shí)訓(xùn)賦給我們的特別禮物吧! 實(shí)訓(xùn)的目的無非就是訓(xùn)練我們的操作能力,以及提高我們的專業(yè)技能。實(shí)踐出真知,這是不變的.真理。毫無疑問,這次VB程序設(shè)計(jì)實(shí)訓(xùn)讓我們每一位同學(xué)都在不同程度上提高了編程技能。編程是我們的專業(yè)課程,可是,在老師平時(shí)上課的時(shí)候,班上大部分同學(xué)都以怠慢的態(tài)度對待。所以,對這門課程學(xué)的泛泛的。
實(shí)訓(xùn)前,如果要我們做一個(gè)管理系統(tǒng),我想班上能完成任務(wù)的同學(xué)應(yīng)該寥寥無幾。在實(shí)訓(xùn)前,我們常抱怨,編程有多么的難。一個(gè)學(xué)期的學(xué)習(xí),我們居然都不能完全的做出一個(gè)管理系統(tǒng)來。而這次短短的實(shí)訓(xùn),卻讓我們學(xué)會(huì)了做管理系統(tǒng)。沒錯(cuò),就是短短的幾天,我們每位同學(xué)都完成了一個(gè)自己做的管理系統(tǒng)。這說明,編程它本身不是很難,而在于你是不是真正的學(xué)習(xí)了。這次實(shí)訓(xùn)讓我深刻的明白,你的態(tài)度決定一切。就以我自己的經(jīng)歷來說,一個(gè)學(xué)期的學(xué)習(xí)還沒沒短短一周學(xué)到的多。這是為什么?主導(dǎo)因素就是態(tài)度。在平日的學(xué)習(xí)中,我抱著不以為然的態(tài)度,以懶散的心態(tài)對待這門課程。所以,一個(gè)學(xué)期下來,我的編程學(xué)的一塌糊涂。而這次實(shí)訓(xùn),就像是一場實(shí)戰(zhàn),必須認(rèn)真對待。而這幾天踏踏實(shí)實(shí)的學(xué)習(xí),將我平日落下的學(xué)習(xí)全都補(bǔ)救過來了。真的非常感謝這次實(shí)訓(xùn)。通過這次實(shí)訓(xùn),我的編程技能確比之前實(shí)提高了不少。
更重要的是,在這次實(shí)訓(xùn)中,讓我明白:學(xué)習(xí)或生活中發(fā)現(xiàn)了自己的不足,就要及時(shí)改進(jìn)。不管是在學(xué)習(xí)中,還是在生活中,有不懂的沒關(guān)系。而,如果不懂,也不去問,就是一件很悲哀的事情。這次實(shí)訓(xùn)中,我遇到了很多不懂的問題,但是,這些不懂最后都被我弄懂了。因?yàn)橛龅讲欢牟粫?huì)做的我及時(shí)主動(dòng)詢問了周圍的同學(xué)。同學(xué)不懂的,我又詢問了老師。不要認(rèn)為問別人是一件讓人很羞恥的事情。不懂就問,不但不會(huì)讓你蒙羞,反而能顯示你的真實(shí)與謙虛。
總之,這次實(shí)訓(xùn)我又有不少新收獲。
最后,還要感謝這次實(shí)訓(xùn)期間周圍同學(xué)的熱情幫助和老師的熱心講解與指導(dǎo)。
2023vb課程設(shè)計(jì)心得體會(huì)6
在前兩周中我們進(jìn)行的VB課程設(shè)計(jì)中,我獲得了一些心得體會(huì)。
這是我第一次系統(tǒng)與完整的接觸軟件設(shè)計(jì)。我們組的題目是關(guān)于“俄羅斯方塊游戲”的設(shè)計(jì)。我在組內(nèi)主要負(fù)責(zé)(1)游戲界面的設(shè)計(jì)(2)俄羅斯方塊的造型(3)游戲級(jí)別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設(shè)計(jì)中,我的能力得到了鍛煉,自己也有許多體會(huì)。這次的課程設(shè)計(jì)是自己第一次全面接觸軟件的制作過程。以前僅僅是對軟件的開發(fā)有一個(gè)大體的印象,通過這次的課程設(shè)計(jì),我對軟件的開發(fā)有了切身的體會(huì)。軟件并不像我原來所想的那樣十分神秘,而是有著一個(gè)相對固定的模式和流程。我們只要按照這個(gè)模式和流程,就能夠比較規(guī)范的完成一個(gè)軟件的制作。軟件的`制作是一個(gè)系統(tǒng)的工程,需要我們掌握多方面的知識(shí)。在這次課程設(shè)計(jì)中,我覺得自己的知識(shí)面依然有所欠缺。因此我需要在以后的學(xué)習(xí)中加以注意,要不斷的提高自己的知識(shí)面與知識(shí)層次。
我在這次課程設(shè)計(jì)中主要負(fù)責(zé)(1)游戲界面的設(shè)計(jì)(2)俄羅斯方塊的造型(3)游戲級(jí)別的自由選擇(4)游戲速度的自由選擇(5)游戲的背景音樂。在這次課程設(shè)計(jì)之前,我對VB的編程不是特別的熟悉,這次的課程設(shè)計(jì),我是一邊學(xué)習(xí),一邊總結(jié),一邊進(jìn)步。在編程的過程中,我體會(huì)到其實(shí)各種計(jì)算機(jī)語言是有相通之處的。在以前的 學(xué)習(xí)中,我只接觸過C語言,這次在VB課程設(shè)計(jì)中,我發(fā)現(xiàn)C語言中的許多知識(shí)可以應(yīng)用到VB中,兩者具有相通的數(shù)據(jù)結(jié)構(gòu)。所以我認(rèn)為現(xiàn)在對計(jì)算機(jī)語言的學(xué)習(xí),不要貪多,而應(yīng)耐心的學(xué)好一門主要的計(jì)算機(jī)語言,在這個(gè)基礎(chǔ)上,去學(xué)習(xí)其他的語言,這樣會(huì)使學(xué)習(xí)效率大大提高。
在編程的過程中,我體會(huì)到編程是十分辛苦的。在課程設(shè)計(jì)這一段時(shí)間里,我每天的生活基本是在不斷的調(diào)試程序和修改代碼中完成的。有時(shí),這種生活令人感到乏味和疲倦,但是在這種近似枯燥的生活中,我的編程水平有了一定程度的提高,這是課程設(shè)計(jì)中我最大的收獲。以前學(xué)習(xí)計(jì)算機(jī)語言,總是靜不下心來,不能認(rèn)真的看書。這次課程設(shè)計(jì),為了順利的完成編程工作,我認(rèn)真的學(xué)習(xí)了VB語言,并有了一定的心得體會(huì)。所以在以后的學(xué)習(xí)中,自己全身心的投入,這樣學(xué)習(xí)才會(huì)有效率,才會(huì)有效果。
這次的課程設(shè)計(jì)是按小組進(jìn)行的,我們的小組由兩名同學(xué)組成。軟件的設(shè)計(jì)本來就是一個(gè)團(tuán)體的智慧結(jié)晶。這次課程設(shè)計(jì)也給了我們一次體驗(yàn)團(tuán)體合作的機(jī)會(huì)。在課程設(shè)計(jì)中,我深深的體會(huì)到集體的智慧于力量是個(gè)人所無法比擬的。在課程設(shè)計(jì)中,我們的小組成員互相幫助,有問題兩個(gè)人一起討論解決,大大節(jié)省了時(shí)間?;ハ喽继岢隽撕芎玫慕ㄗh,使我們的課程設(shè)計(jì)得以較好的完成。
課程設(shè)計(jì)已經(jīng)結(jié)束了,但在課程設(shè)計(jì)的這些體會(huì)要應(yīng)用到今后的日常學(xué)習(xí)中去。在新的學(xué)期,我覺得自己要在以下幾個(gè)方面加以注意:
首先,在學(xué)習(xí)專業(yè)課的時(shí)候要注意理論聯(lián)系實(shí)際。注意將課本上的知識(shí)應(yīng)用到日常的操作中,真正做到學(xué)以致用。只有這樣,才能做到目的明確,才能有足夠的學(xué)習(xí)動(dòng)力。
其次,在學(xué)習(xí)過程中要經(jīng)常與同學(xué)進(jìn)行交流,討論所遇到的問題,并一起解決。在討論中解決問題,會(huì)節(jié)約很多時(shí)間,并且在交流的過程中,我們也可以學(xué)到更多的東西。
課程設(shè)計(jì)已經(jīng)已經(jīng)完美解暑,這次課程設(shè)計(jì)給我打來了很多新的體會(huì),在以后的學(xué)習(xí)中要不斷總結(jié),不斷改進(jìn),使自己的成績有新的提高。只有不斷努力,才會(huì)使自己變得更加優(yōu)秀。
2023vb課程設(shè)計(jì)心得體會(huì)7
VB.NET課程是計(jì)算機(jī)科學(xué)與技術(shù)本科專業(yè)的專業(yè)骨干課。本課程主要通過VB.NET論述了面向?qū)ο蟪绦蛟O(shè)計(jì)和組建編程的機(jī)理,涉及到控制臺(tái)界面程序、Windows窗體程序、圖形界面編程、數(shù)據(jù)庫、網(wǎng)絡(luò)應(yīng)用系統(tǒng)等多方面的內(nèi)容。內(nèi)容量大,程序設(shè)計(jì)復(fù)雜、同時(shí)VB.NET程序調(diào)試是在VS.NET環(huán)境下進(jìn)行。
在編程過程中環(huán)境會(huì)自動(dòng)為用戶生成一些必要代碼,以降低編程難度,降低學(xué)生的編程負(fù)擔(dān),但這也帶來了一些問題,如:學(xué)生對VB.ENT的程序結(jié)構(gòu)把握和了解不全面,對編程機(jī)理了解不透徹,學(xué)生容易盲目照搬書上代碼,不求甚解,似是而非。為了解決這個(gè)問題,我們采取了課程設(shè)計(jì)的方法來加深學(xué)生對知識(shí)的理解,將書本知識(shí)遷移到新的問題解決中,提高學(xué)生分析問題和解決問題的能力。
要求學(xué)生在學(xué)習(xí)該課程中,應(yīng)用每個(gè)相對獨(dú)立的、完整的單元知識(shí)解決一個(gè)實(shí)際項(xiàng)目,設(shè)計(jì)編寫一個(gè)小作品;學(xué)完整個(gè)課程后,完成一個(gè)綜合性比較強(qiáng)的編程項(xiàng)目,使學(xué)生對整個(gè)課程內(nèi)容進(jìn)行全面的總結(jié)、梳理,以項(xiàng)目完成為手段,全面鍛煉學(xué)生分析問題和解決問題的能力。
一、目的
1、為使學(xué)生掌握VB.NET編程、面向?qū)ο蟪绦蛟O(shè)計(jì)思想和組建編程的知識(shí)實(shí)際技能,除了系統(tǒng)地講授必要的VB.NET知識(shí),上機(jī)練習(xí),做作業(yè)外,還應(yīng)該對學(xué)生作較全面的編程技能和分析問題解決問題的能力訓(xùn)練,即作課程設(shè)計(jì),以達(dá)到如下目的:具體應(yīng)用和鞏固本課程及有關(guān)先修課的基礎(chǔ)理論和專業(yè)知識(shí),了解面向?qū)ο蟪绦蛟O(shè)計(jì)思想,掌握應(yīng)用VB.NET編程和組建編程程序設(shè)計(jì)方法,培養(yǎng)學(xué)生初步的項(xiàng)目設(shè)計(jì)能力。
2、獨(dú)立地根據(jù)一定的項(xiàng)目要求,查閱資料,寫出項(xiàng)目開發(fā)目標(biāo),分析開發(fā)過程中所用到的課程知識(shí),提出解決方案,編碼并上機(jī)調(diào)試完成系統(tǒng),培養(yǎng)學(xué)生分析問題和解決問題的能力。課程設(shè)計(jì)是教學(xué)過程中的一個(gè)重要環(huán)節(jié),必須認(rèn)真對待。
二、要求
在課程設(shè)計(jì)中要求學(xué)生注意培養(yǎng)認(rèn)真負(fù)責(zé),踏實(shí)細(xì)致的工作作風(fēng)和保質(zhì)保量,按時(shí)完成任務(wù)的習(xí)慣。在設(shè)計(jì)過程中必須做到:
1、在某個(gè)教學(xué)單元結(jié)束后,完成一個(gè)教師布置的、或?qū)W生自己擬定的、知識(shí)覆蓋整個(gè)章節(jié)的,有一定綜合性和難度的項(xiàng)目,要求學(xué)生描述出要達(dá)到的目標(biāo)、圍繞目標(biāo),收集資料和素材,復(fù)習(xí)所需的課程知識(shí),描述問題解決方案、編寫程序上機(jī)調(diào)試,直到項(xiàng)目的完成。最后的成果要有完成的作品和相應(yīng)的文檔。
2、在課程結(jié)束后,完成一個(gè)大的編程項(xiàng)目,其要求與課程單元的項(xiàng)目差不多,只是綜合性更強(qiáng)、難度更大、知識(shí)覆蓋面更廣,工作量更大,以全面促進(jìn)學(xué)生復(fù)習(xí)和梳理學(xué)科教學(xué)內(nèi)容,提升學(xué)生分析問題、解決問題和文檔的書寫和編制。
三、采取的措施
為了保證課程設(shè)計(jì)能夠按照預(yù)定的目標(biāo)和計(jì)劃進(jìn)行,我們還采取了以下措施來加強(qiáng)對學(xué)生監(jiān)督和管理。
1、首先講清楚課程設(shè)計(jì)的意義,讓學(xué)生能夠自覺積極主動(dòng)地進(jìn)行課程設(shè)計(jì),發(fā)揮學(xué)生的主觀能動(dòng)性。
2、在課程設(shè)計(jì)過程中,教師隨時(shí)巡視和監(jiān)督,了解把握和控制課程設(shè)計(jì)的進(jìn)展。
3、將學(xué)生的作品集中展示、評價(jià)、打分,可以讓學(xué)生在展示的過程中獲得成就感、自豪感,學(xué)生之間可以相互學(xué)習(xí)、取長補(bǔ)短,同時(shí)在此過程中可以明確標(biāo)準(zhǔn),自覺地按照標(biāo)準(zhǔn)來調(diào)整自己地學(xué)習(xí)。
4、將課程設(shè)計(jì)作為學(xué)期成績的一部分記載,大約占10%,必須完成課程設(shè)計(jì)后才能參加考試,課程設(shè)計(jì)不過關(guān),即使考得再好,也不能過。
四、取得的`效果
通過以上措施,學(xué)生全部都完成了自己的項(xiàng)目、將所有的作品通過超鏈接網(wǎng)頁的方式集成在一個(gè)作品集中,所有的學(xué)生都完成了4~6個(gè)小作品,每個(gè)作品都反映了學(xué)生應(yīng)用課程的某部分知識(shí)解決某個(gè)問題的結(jié)果,通過完成這些作品,學(xué)生鞏固、加深了對相關(guān)知識(shí)的理解,加強(qiáng)了知識(shí)之間的聯(lián)系,促進(jìn)了知識(shí)的遷移和應(yīng)用。同時(shí)學(xué)生看到凝聚著自己的心血、汗水、思維和創(chuàng)新的作品,就像一個(gè)母親看到自己呱呱墜地孩子那樣充滿了喜悅,激發(fā)了學(xué)生的創(chuàng)造欲望。通過同學(xué)之間作品的對比,提供了一個(gè)相互學(xué)習(xí)交流的平臺(tái),激發(fā)了學(xué)生的競爭意識(shí)??傊ㄟ^課程設(shè)計(jì)受到了良好的多方面的效果,從考試成績來看,20xx級(jí)本科全部都及格了。
2023vb課程設(shè)計(jì)心得體會(huì)8
首先了解到VB的特點(diǎn),VB是在原來的Basic語言基礎(chǔ)上發(fā)展而來的。Visual指的是可視的圖形用戶界面開發(fā)方法。不需編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立的對象添加到屏幕上的某點(diǎn)即可。如果使用者諸多PAINT之類的繪圖程序,則實(shí)際上已經(jīng)掌握了創(chuàng)建用戶界面的必要技巧。
BASIC指的是B語言,一種在計(jì)算機(jī)技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的.語言之一。VB在原來BASIC語言的基礎(chǔ)上進(jìn)一步發(fā)展至今包含了數(shù)百條語句,函數(shù)及關(guān)鍵詞,其中很多和WINDOWS GUI有直接關(guān)系,VB不僅是可視語言,而且是面向?qū)ο蟮木幊陶Z言。其特點(diǎn)是概念多,實(shí)踐性強(qiáng),涉及面廣。
之后,了解到一些基本的概念,含義。例如類,就是創(chuàng)建對象實(shí)例的模板包含了創(chuàng)建的屬性描述和行為特征的定義。而此中的對象又是類的一個(gè)實(shí)例,繼承了類的屬性,方法,而VB中長用的對象有窗體,控件等。但我們在建立之前必須清楚對象的三要素:屬性,方法和事件。而建立程序的步驟大致可分為:
(1)啟動(dòng)程序,裝載和顯示窗體。
(2)窗體等待事件的發(fā)生。
(3)事件發(fā)生時(shí),執(zhí)行對應(yīng)的事件發(fā)生過程。
(4)再重復(fù)(2)(3)的過程(5)最后直接遇到“END”結(jié)束語句結(jié)束程序的運(yùn)行或按“結(jié)束”強(qiáng)行停止程序的運(yùn)行。
再用VB創(chuàng)建一個(gè)應(yīng)用程序,第一步驟是創(chuàng)建窗體,它是用戶與應(yīng)用程序進(jìn)行交互操作的可視部分,窗體是創(chuàng)建界面的基本構(gòu)造模塊,也是創(chuàng)建應(yīng)用程序所使用的對象。而后必要設(shè)置窗體的屬性,從而構(gòu)出窗體的外觀,設(shè)置好的窗體,窗體就作為對象,能夠?qū)ζ涠x的事件作出響應(yīng),這也是所謂的窗體事件,而窗體事件又包括窗體本身事件,鍵盤事件和鼠標(biāo)事件。
在了解窗體基本知識(shí)就還應(yīng)了解VB的語言基礎(chǔ),其中包括了代碼模塊(窗體模塊,標(biāo)準(zhǔn)模塊,類模塊),注釋,分行和續(xù)行,數(shù)據(jù)類節(jié)(字節(jié)型,邏輯型,數(shù)值型,日期型),變量與常數(shù),運(yùn)算符與表達(dá)式,數(shù)組,控制結(jié)構(gòu),子過程和函數(shù)。同時(shí),為了編程,我們還應(yīng)培養(yǎng)良好的編程習(xí)慣,首先是對象,變量及過程的命名約定,然結(jié)構(gòu)化編碼約定。
在VB中創(chuàng)建應(yīng)用程序之際也就是和對象打交道之時(shí),對象是代碼和數(shù)據(jù)的組合,可以作為一個(gè)單位來處理,對象可以是應(yīng)用程序的一部分,比如可以是控件,窗體,或數(shù)據(jù)訪問對象??丶彩菍ο笾械囊环N,主要用來獲取用戶的輸入信息和顯示輸出信息。應(yīng)用程序中可用的控件包括文本框,命令按扭和列表框。而通過另外一些控件可以訪問其他應(yīng)用程序并處理數(shù)據(jù)。
VB程序設(shè)計(jì)同時(shí)可設(shè)計(jì)出一個(gè)更好的菜單系統(tǒng),這樣就可以使用戶了解到更大量有關(guān)應(yīng)用程序設(shè)計(jì)和結(jié)構(gòu)的信息,精心規(guī)劃菜單與工具欄有助于提高應(yīng)用程序的可用性。同時(shí)在基于WINDOWS的應(yīng)用程序中,對話框被用來提示應(yīng)用程序繼續(xù)運(yùn)行所需的數(shù)據(jù)或者用戶顯示信息。對話框是一種特殊類型的窗體對象,在VB中按對話框的創(chuàng)建有三種類型的對話框,他們是預(yù)定義對話框,自定義對話框和標(biāo)準(zhǔn)對話框。對于自定義對話框和標(biāo)準(zhǔn)對話框,使可以完成與用戶之間的交互。
學(xué)習(xí)VB程序設(shè)計(jì)后,增加對此的認(rèn)識(shí),深入學(xué)習(xí)VB程序就可掌握新的軟件,新的編程環(huán)境,學(xué)習(xí)此課程,也可學(xué)會(huì)使用開發(fā)環(huán)境,開發(fā)工具的方法。才能更好地跟上計(jì)算機(jī)學(xué)科的發(fā)展。
2023vb課程設(shè)計(jì)心得體會(huì)9
在課程設(shè)計(jì)過程中,雖然我對程序設(shè)計(jì)不是很熟悉,但是通過老師詳細(xì)的講解,我按照步驟去做,遇到問題的時(shí)候先自己想辦法解決,解決不了的就去問同學(xué),問老師,通過這種學(xué)習(xí),收獲很大,學(xué)會(huì)了自己解決棘手問題,知道了團(tuán)結(jié)的力量。
剛開始做程序的時(shí)候,就是完全按照老師的要求,老師的步驟去做的,結(jié)果卻發(fā)現(xiàn),怎么運(yùn)行不了?明明是按照老師的步驟去做的,明明是按照老師的要求去做的,但是就是會(huì)遇到一些問題使程序運(yùn)行不了。開始也沒有管那么多,仍然是按照課本上的去做。
第一次,在上機(jī)課的時(shí)候,我根據(jù)老師講的,在機(jī)房里做了一次,但沒有做完。于是把東西存在了自己的MP3里面,以便以后上機(jī)的時(shí)候再來做。但真的沒有想到,我的MP3,在一次上電子閱覽室的時(shí)候,忘了拔了。于是乎,我辛辛苦苦做了一大節(jié)課的程序就這樣沒了。心里真的很不舒服,但是,不舒服歸不舒服,這個(gè)程序,還是得繼續(xù)做下去,這么以點(diǎn)點(diǎn)小小的失誤不算什么,然后跑到學(xué)校機(jī)房,繼續(xù)我的VB程序設(shè)計(jì)。但由于時(shí)間問題,做的還是有點(diǎn)粗糙,還是不免存在一定的問題,比如說開始的時(shí)候打開不了文件,總是出現(xiàn)錯(cuò)誤,自己總也找不出來,后來請教了一下同學(xué),結(jié)果發(fā)現(xiàn)時(shí)代碼的編寫出現(xiàn)了錯(cuò)誤,把代碼改過來之后,程序終于可以打開運(yùn)行了。然后,檢查的時(shí)候,又發(fā)現(xiàn)“查找”運(yùn)行錯(cuò)誤,又是代碼那里出現(xiàn)的黃色的字樣,結(jié)果發(fā)現(xiàn),是代碼拼寫錯(cuò)誤,于是,拿著同學(xué)的代碼對比一下,發(fā)現(xiàn)了錯(cuò)誤所在之地,然后更正了過來。
經(jīng)過一番努力,程序終于做完了。
后來,室友看了我的`程序,她說運(yùn)行不了的,就是出現(xiàn)了錯(cuò)誤,出現(xiàn)了錯(cuò)誤,就應(yīng)該改過啊,這時(shí)的我才恍然大。“是錯(cuò)誤,那么就要改正的!”于是當(dāng)天,我就去了學(xué)校機(jī)房,再一次運(yùn)行我的程序,仍然出現(xiàn)錯(cuò)誤情況,需要調(diào)試,我回憶起上課的時(shí)候,老師是怎么跟我們講的,哪里出現(xiàn)了錯(cuò)誤,需要怎么樣改正。于是,我就耐著性子,一個(gè)一個(gè),一個(gè)一個(gè)得改正,編輯代碼,一個(gè)一個(gè)得檢查,終于完成了。完成之后,我在運(yùn)行一下,一切正常,心里終于舒了一口氣。經(jīng)過這次的VB程序設(shè)計(jì),讓我知道了更多學(xué)習(xí)的方法。具體如下:
(1)保持良好的學(xué)習(xí)心態(tài),第一,要有自信,自強(qiáng),積極主動(dòng)學(xué)習(xí)、第二,克服畏難情緒,樹立學(xué)好程序設(shè)計(jì)的信心。
(2)要了解概念:VB程序設(shè)計(jì)本身并不復(fù)雜,變量,函數(shù),條件語句,循環(huán)語句等概念較多、要真正能進(jìn)行程序設(shè)計(jì),就要深入理解這些概念、應(yīng)該重視概念的學(xué)習(xí)。
(3)自己動(dòng)手編寫程序,親自動(dòng)手進(jìn)行程序設(shè)計(jì)是培養(yǎng)邏輯思維的好方法、因此我們得多動(dòng)手編寫程序,逐漸提高寫程序的能力、自己動(dòng)手,編寫一些程序,才會(huì)有成就感,進(jìn)而對課程產(chǎn)生興趣,做起來才比較從容、等你在編寫大量程序之后。
(4)上機(jī)調(diào)試程序應(yīng)注意多問問同學(xué),多問問老師,把不懂的地方標(biāo)出來。
(5)養(yǎng)成良好的編程習(xí)慣,第一,程序構(gòu)思要有說明;第二,學(xué)會(huì)如何調(diào)試程序;第三,對運(yùn)行結(jié)果要做正確與否的分析。
但是,如果以前上課的時(shí)候不認(rèn)真的聽講的話,做這個(gè)程序設(shè)計(jì)就會(huì)有點(diǎn)點(diǎn)困難,所以,同時(shí)也在提醒我們,學(xué)習(xí),任何時(shí)候都要認(rèn)真!
總之,在此次的VB程序設(shè)計(jì)中,如果沒有足夠的耐心,就不可能完成的很好。所以此次VB程序設(shè)計(jì),讓我做事情更加有耐心,更加細(xì)心,學(xué)習(xí)更加認(rèn)真仔細(xì)。
2023vb課程設(shè)計(jì)心得體會(huì)10
我們組這次設(shè)計(jì)的程序是考勤管理系統(tǒng),主要用于企事業(yè)單位的考勤,便于統(tǒng)計(jì)員工的出勤情況。
1、通過這一次的程序設(shè)計(jì),使我能夠進(jìn)一步掌握用程序設(shè)計(jì)語言解決實(shí)際問題的方法,在操作當(dāng)中把所學(xué)到的用于實(shí)際的編程里面去。
2、通過這一次的程序設(shè)計(jì),使我能夠提高分析問題、查閱資料、吸收新知識(shí)的能力,在分析解決問題時(shí)比以前有了很大的進(jìn)步,一些常用的知識(shí)和一些常規(guī)的錯(cuò)誤都能夠解決。
3、通過這一次的程序設(shè)計(jì)和指導(dǎo)教師姜瑤老師的指導(dǎo)使我能夠進(jìn)一步對vb有了熟練的操作,并且在分析,編程方面比以前有了更大的提高。
4、我認(rèn)為實(shí)踐周的程序設(shè)計(jì)是給我們學(xué)習(xí)的一個(gè)大好機(jī)會(huì),使我們在這樣的機(jī)會(huì)里學(xué)到了一定的知識(shí),畢竟理論要通過實(shí)踐來鍛煉,也只有自己參與了這樣的一個(gè)鍛煉,才能更好的發(fā)現(xiàn)自己的不足并加以改進(jìn)和完善! 在這次的設(shè)計(jì)過程中,我學(xué)到的不僅是知識(shí),我還認(rèn)識(shí)到許多事情。這次設(shè)計(jì)使我的編程水平提高了一大步,使我充分的認(rèn)識(shí)到合作的`可貴。由于這次設(shè)計(jì)涉及到數(shù)據(jù)庫,我也學(xué)到了不少數(shù)據(jù)庫連接的知識(shí),對數(shù)據(jù)庫的操作有了進(jìn)一步的了解。這次設(shè)計(jì)對我的綜合能力是一次很好的鍛煉,但是我必須承認(rèn)自己的能力和知識(shí)還很膚淺。所以今后我的學(xué)習(xí)道路還是很漫長的。最后,在這里我要衷心的感謝我們的指導(dǎo)老師謝謝她的耐心指導(dǎo)和熱心幫助。由于我水平有限,加之時(shí)間短暫,故學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)中還有許多不足之處,請老師批評指正,我會(huì)在以后的制作中不斷改進(jìn),不斷完善。