第一篇:VB實(shí)驗(yàn)報(bào)告教案(4-7)
實(shí)驗(yàn)四:
題目:Visual Basic常用控件
目的:
1、掌握命令按鈕、單選鈕、檢查框、框架常用屬性與事件
2、掌握滾動(dòng)條、列表框、組合框、時(shí)鐘的常用屬性與事件 日期:1班為10月18日,2班為10月14日,3班為10月16日 內(nèi)容:要求界面用鉛筆畫(huà)出來(lái)。
Private Sub Command1_Click()
List1.AddItem Text1
If Option1 Then
List1.AddItem “男”
Else
List1.AddItem “女”
End If
List1.AddItem Text2
List1.AddItem Combo1
List1.AddItem Combo2
List1.AddItem “愛(ài)好:”
If Check1 Then
List1.AddItem “上網(wǎng)”
End If
If Check2 Then
List1.AddItem “籃球”
End If
If Check3 Then
List1.AddItem “音樂(lè)”
End If
If Check4 Then
List1.AddItem “交友”
End If End Sub Private Sub Command2_Click()
List1.Clear End Sub
Private Sub Command3_Click()
End End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If End Sub
Private Sub Form_Load()
Form1.Caption = “電子鐘”
Form1.BorderStyle = 3
Timer1.Enabled = True
Timer2.Enabled = False
Timer1.Interval = 1000
Timer2.Interval = 1000
Label1.Caption = Time()
'顯示系統(tǒng)時(shí)間
Label1.Alignment = 2
Label1.BorderStyle = 1
Label2.Caption = “鬧鐘時(shí)間:”
Text1.Text = “" End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
'按下回車開(kāi)始鬧鐘
If KeyAscii = 13 Then
Timer2.Enabled = True
Text1.Enabled = False
End If End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time()
'顯示系統(tǒng)時(shí)間 End Sub
Private Sub Timer2_Timer()
Static i As Int ger
If Label1.Caption >= Text1.Text Then
'利用靜態(tài)變量產(chǎn)生背景交替效果
If i = 0 Then
Label1.BackColor = vbRed
i = 1
Else
Label1.BackColor = vbWhite
i = 0
End If
End If End Sub 實(shí)驗(yàn)五:
題目:對(duì)話框、菜單、工具欄和圖形程序設(shè)計(jì)
目的:
1、掌握菜單的設(shè)計(jì)方法;學(xué)會(huì)應(yīng)用通用對(duì)話框控件
2、掌握在Visual Basic環(huán)境中的繪圖方法,顯示圖片
3、對(duì)話框、菜單、工具欄和圖形程序設(shè)計(jì)的綜合應(yīng)用 日期:1班為11月3日,2班為11月4日,2班為11月6日 內(nèi)容:要求界面用鉛筆畫(huà)出來(lái)。
' 打開(kāi)菜單項(xiàng)的單擊事件過(guò)程 Private Sub mnuOpen_Click()
' 激活對(duì)話框前初始化設(shè)置相關(guān)屬性,激活對(duì)話框后將無(wú)法在代碼中設(shè)置其屬性
CommonDialog1.FileName = ”*.txt“
' 初始化文件名
CommonDialog1.InitDir = ”C:“
' 初始化路徑
' 設(shè)置文件類型列表框內(nèi)容
CommonDialog1.Filter = ”Word文檔|*.doc|文本文件|*.txt|所有文件|*.*“
CommonDialog1.FilterIndex = 2
' 設(shè)置默認(rèn)文件類型
CommonDialog1.Action = 1
' 激活”打開(kāi)“對(duì)話框
txtNotepad.Text = ”“
' 清除文本框中原有內(nèi)容
If CommonDialog1.FileTitle <> ”“ Then
' 選定文件后執(zhí)行下列操作
Dim InputData As String
' 保存文件中每行內(nèi)容
Open CommonDialog1.FileName For Input As #1
' 打開(kāi)文件,準(zhǔn)備讀文件
Do While Not EOF(1)
Line Input #1, InputData
' 每次讀一行
' 將讀出內(nèi)容連接在文本框已有文本之后并回車換行
txtNotepad.Text = txtNotepad.Text + InputData + vbCrLf
Loop
Close #1
End If End Sub ' ”另存為“菜單項(xiàng)的單擊事件過(guò)程 Private Sub mnuSaveAs_Click()
CommonDialog1.FileName = ”文本1.txt“
' 設(shè)置缺省文件名
CommonDialog1.DefaultExt = ”txt“
' 設(shè)置缺省擴(kuò)展名
CommonDialog1.InitDir = ”C:“
CommonDialog1.Filter = ”Word文檔|*.doc|文本文件|*.txt|所有文件|*.*“
CommonDialog1.FilterIndex = 2
CommonDialog1.CancelError = True
' 選取”取消“按鈕時(shí)出錯(cuò)
On Error GoTo errCancel
' 出錯(cuò)跳轉(zhuǎn)至行標(biāo)簽errCancel
CommonDialog1.ShowSave
' 激活”另存為“對(duì)話框
Open CommonDialog1.FileName For Output As #1
' 打開(kāi)文件,準(zhǔn)備寫(xiě)入
Print #1, txtNotepad.Text
Close #1 errCancel:
' 行標(biāo)簽 End Sub ' 退出菜單項(xiàng)的單擊事件過(guò)程 Private Sub mnuExit_Click()
End End Sub ' 以下過(guò)程用于判斷是否已經(jīng)選中文本
Private Sub txtNotepad_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And txtNotepad.SelText <> ”“ Then
' 松開(kāi)左鍵并選中文本
mnuCopy.Enabled = True
' 使”復(fù)制“菜單項(xiàng)有效
mnuCut.Enabled = True
' 使”剪切“菜單項(xiàng)有效
Else
' 未選中文本
mnuCopy.Enabled = False
mnuCut.Enabled = False
End If End Sub Private Sub mnuCopy_Click()
' ”復(fù)制“菜單項(xiàng)的單擊事件過(guò)程
Clipboard.Clear
' 清除剪貼板中的內(nèi)容
Clipboard.SetText txtNotepad.SelText
' 將選中的文本放到剪貼板中
mnuCopy.Enabled = False
mnuCut.Enabled = False
mnuPaste.Enabled = True End Sub Private Sub mnuCut_Click()
' ”剪切“菜單項(xiàng)的單擊事件過(guò)程
Clipboard.Clear
Clipboard.SetText txtNotepad.SelText
txtNotepad.SelText = ”“
' 刪除選中的文本
mnuCopy.Enabled = False
mnuCut.Enabled = False
mnuPaste.Enabled = True End Sub Private Sub mnuPaste_Click()' 將剪貼板中的文本插入到文本框焦點(diǎn)處,txtNotepad.SelText = Clipboard.GetText End Sub
' 或替換選中的文本
'設(shè)置對(duì)齊方式
Private Sub Alm_Click(Index As Integer)
txtNotepad.Alignment = Index End Sub
Private Sub font_Click()
CommonDialog1.FontName = ”宋體“
'Flags為256+1,使用屏幕字體;出現(xiàn)顏色、效果等選項(xiàng)
CommonDialog1.Flags = 257
CommonDialog1.ShowFont
'打開(kāi)”字體“對(duì)話框
txtNotepad.FontName = CommonDialog1.FontName
txtNotepad.FontSize = CommonDialog1.FontSize
txtNotepad.FontBold = CommonDialog1.FontBold
txtNotepad.FontItalic = CommonDialog1.FontItalic
txtNotepad.FontUnderline = CommonDialog1.FontUnderline
txtNotepad.FontStrikethru = CommonDialog1.FontStrikethru
txtNotepad.ForeColor = CommonDialog1.Color End Sub Private Sub Exxxt_Click()
End End Sub 實(shí)驗(yàn)六:
題目:文件處理
目的:
1、掌握順序文件、隨機(jī)文件的操作與訪問(wèn)
2、掌握文件系統(tǒng)控件的屬性與常用操作
日期:1班為11月17日,2班為11月18日,3班為11月20日 內(nèi)容:要求界面用鉛筆畫(huà)出來(lái)。
標(biāo)準(zhǔn)模塊代碼: Type Student Id As String * 8 Name As String * 10 Class As String * 10 Subject As String * 20 Mark(1 To 3)As Integer End Type Public Stu As Student Public Filename As String Public Rec_no As Integer Public Rec_total As Integer Public Rec_long As Integer 窗體代碼: Option Explicit Option Base 1 Private Sub Form_Load()
' Load事件過(guò)程
Filename = App.Path & ”student.dat“
' 給定文件名便于操作
Rec_long = Len(Stu)
' 給定隨機(jī)文件記錄長(zhǎng)度
Call FileOpen End Sub
Private Sub FileOpen()'打開(kāi)學(xué)生信息數(shù)據(jù)文件
Dim I As Integer
Open Filename For Random As 1 Len = Rec_long
Rec_long = Len(Stu)
' 給定隨機(jī)文件記錄長(zhǎng)度
Rec_total = LOF(1)/ Rec_long
'初始找開(kāi)的為全部記錄
'如為空記錄,則清除各文本框的內(nèi)容
If Rec_total = 0 Then
Call TxtClear
Exit Sub
Else
'如果有學(xué)生信息數(shù)據(jù),則顯示第一條記錄
Rec_no = 1
Call Display
End If End Sub
Private Sub CmdAdd_Click()
' 添加記錄事件過(guò)程
Dim I As Integer, nmsg As Integer
'以下循環(huán)是查找文件中是否有輸入的學(xué)生記錄
For I = 1 To Rec_total
Get #1, I, Stu
If Trim(Stu.Id)= Trim(TxtId.Text)Then
nmsg = MsgBox(”文件中已有該同學(xué)的記錄,要顯示修改此記錄嗎?“, vbYesNo)
If nmsg = vbYes Then
Rec_no = I
Call Display
End If
Exit Sub
End If
Next I
Call GetData
Rec_total = Rec_total + 1
Rec_no = Rec_total
' 在文件的末尾添加記錄
Put #1, Rec_no, Stu End Sub
Private Sub CmdChange_Click()
' 修改當(dāng)前記錄事件過(guò)程
Call GetData
' 將修改的數(shù)據(jù)保存到記錄變量中
Put #1, Rec_no, Stu
' 修改原記錄
Call Display End Sub
Private Sub cmdDelete_Click()
' 刪除當(dāng)前記錄事件過(guò)程
Dim I As Integer
Dim tempno As Integer
tempno = Rec_no
Open Filename & ”.temp“ For Random As #2 Len = Rec_long
'刪除選定的記錄
For I = 1 To Rec_total
If I <> tempno Then
Get #1, I, Stu
Put #2, , Stu
End If
Next I
Close
Kill Filename
Name Filename & ”.temp“ As Filename
Call FileOpen End Sub
Private Sub cmdBefore_Click()' 顯示上一條記錄事件過(guò)程
If Rec_no > 1 Then
Rec_no = Rec_no-1
Else
MsgBox ”現(xiàn)已是首記錄!“
Exit Sub
End If
Get #1, Rec_no, Stu
Call Display End Sub
Private Sub cmdNext_Click()
' 顯示下一記錄事件過(guò)程
Dim nmsg As Integer
If Rec_no < Rec_total Then
' 未到打開(kāi)記錄尾時(shí)執(zhí)行該程序
Rec_no = Rec_no + 1
Call Display
' 顯示當(dāng)前記錄
Else
nmsg = MsgBox(”已到最后一記錄了!要回到首記錄嗎?“, vbYesNo)
If nmsg = vbYes Then
Rec_no = 1
'回到首記錄
Call Display
End If
End If End Sub
Private Sub TxtClear()
'清除各文本框中內(nèi)容子過(guò)程 Dim I As Integer With Stu
TxtId = ”“:
TxtName = ”“
TxtClass = ”“:
TxtSubject = ”“
For I = 1 To 3
TxtMark(I)= ”“
Next I
TxtTotal = ”“ End With End Sub Private Sub Display()
'顯示當(dāng)前記錄子過(guò)程 Dim I As Integer Get #1, Rec_no, Stu With Stu
TxtId =.Id
TxtName =.Name
TxtClass =.Class
TxtSubject =.Subject
For I = 1 To 3
TxtMark(I)=.Mark(I)
Next I
TxtTotal =.Mark(1)+.Mark(2)+.Mark(3)End With End Sub
Private Sub GetData()
'將在文本框輸入的數(shù)據(jù)存入到記錄變量中
Dim I As Integer
Stu.Id = TxtId.Text
Stu.Name = TxtName.Text
Stu.Class = TxtClass.Text
Stu.Subject = TxtSubject.Text
For I = 1 To 3
Stu.Mark(I)= Val(TxtMark(I).Text)
Next I End Sub Private Sub TxtMark_LostFocus(Index As Integer)
If Index = 3 Then '當(dāng)輸入完最后一門(mén)課程,則計(jì)算并顯示意成績(jī)
TxtTotal = Val(TxtMark(1))+ Val(TxtMark(2))+ Val(TxtMark(3))
End If End Sub 實(shí)驗(yàn)七:
題目:數(shù)據(jù)庫(kù)程序設(shè)計(jì)及綜合實(shí)例
目的:
1、掌握數(shù)據(jù)庫(kù)的創(chuàng)建;掌握數(shù)據(jù)控件的一般屬性、事件、方法
2、學(xué)會(huì)使用DATA控件和ADO控件對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn) 日期:1班為12月1日,2班為12月2日,3班為12月4日 內(nèi)容:要求界面用鉛筆畫(huà)出來(lái)。
'”取消“ 按鈕的單擊事件過(guò)程 Private Sub cmdCancel_Click()
txtID(0).Text = ”“
txtID(1).Text = ”“ End Sub '”確定“ 按鈕的單擊事件過(guò)程 Private Sub cmdOK_Click()
Dim sql As String, fld As String, condition As String
'顯示的字段列表
fld = ”學(xué)生.學(xué)號(hào),學(xué)生.姓名,課程.課程名,成績(jī).成績(jī)“
'查詢條件
condition = ”學(xué)生.學(xué)號(hào)=成績(jī).學(xué)號(hào) and 課程.課程號(hào)=成績(jī).課程號(hào) “
If optChoice(0).Value Then
condition = condition + ”and 學(xué)生.學(xué)號(hào)='“ + txtID(0).Text + ”'“
Else
condition = condition + ”and 課程.課程號(hào)='“ + txtID(1).Text + ”'“
End If
sql = ”select “ + fld + ” from 學(xué)生,課程,成績(jī) where “ + condition
'改變記錄源
Adodc1.RecordSource = sql
Adodc1.Refresh End Sub '初始化查詢窗體
Private Sub Form_Load()
Adodc1.Visible = False
Set DataGrid1.DataSource = Adodc1
'綁定操作
DataGrid1.AllowUpdate = False
'禁止更新 End Sub
'處理單選按鈕的焦點(diǎn)切換
Private Sub optChoice_Click(Index As Integer)
txtID(Index).SetFocus End Sub '處理文本框的焦點(diǎn)切換
Private Sub txtID_GotFocus(Index As Integer)
optChoice(Index).Value = True End Sub
'”添加“按鈕的單擊事件過(guò)程 Private Sub cmdAdd_Click()
'根據(jù)當(dāng)前按鈕的標(biāo)題進(jìn)行不同的操作
Select Case cmdAdd.Caption
Case ”添加“
'向當(dāng)前選項(xiàng)卡所對(duì)應(yīng)表中添加記錄
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.AddNew
Case 1
datCourse.Recordset.AddNew
Case 2
datScore.Recordset.AddNew
End Select
'在添加操作完成前禁止進(jìn)行其他操作
SSTab1.TabEnabled(0)= False
SSTab1.TabEnabled(1)= False
SSTab1.TabEnabled(2)= False
cmdAdd.Caption = ”確定“
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
Case ”確定“
Select Case SSTab1.Tab
Case 0
datStudent.UpdateRecord
Case 1
datCourse.UpdateRecord
Case 2
datScore.UpdateRecord
End Select
SSTab1.TabEnabled(0)= True
SSTab1.TabEnabled(1)= True
SSTab1.TabEnabled(2)= True
cmdAdd.Caption = ”添加“
cmdEdit.Enabled = True
cmdDel.Enabled = True
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
End Select End Sub '”刪除“按鈕的單擊事件過(guò)程 Private Sub cmdDel_Click()
Dim i As Integer
i = MsgBox(”確定要?jiǎng)h除此記錄?“, vbYesNo + vbExclamation + vbDefaultButton1, ”編輯“)
If i = vbYes Then
'刪除當(dāng)前選項(xiàng)卡所對(duì)應(yīng)表中的記錄
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.Delete
datStudent.Refresh
Case 1
datCourse.Recordset.Delete
datCourse.Refresh
Case 2
datScore.Recordset.Delete
datScore.Refresh
End Select
End If End Sub '”修改“按鈕的單擊事件過(guò)程 Private Sub cmdEdit_Click()
'根據(jù)當(dāng)前按鈕的標(biāo)題進(jìn)行不同的操作
Select Case cmdEdit.Caption
Case ”修改“
'修改當(dāng)前選項(xiàng)卡所對(duì)應(yīng)表中的記錄
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.Edit
Case 1
datCourse.Recordset.Edit
Case 2
datScore.Recordset.Edit
End Select
'在修改操作完成前禁止進(jìn)行其他操作
SSTab1.TabEnabled(0)= False
SSTab1.TabEnabled(1)= False
SSTab1.TabEnabled(2)= False
cmdEdit.Caption = ”確定“
cmdAdd.Enabled = False
cmdDel.Enabled = False
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
Case ”確定“
Select Case SSTab1.Tab
Case 0
datStudent.UpdateRecord
Case 1
datCourse.UpdateRecord
Case 2
datScore.UpdateRecord
End Select
SSTab1.TabEnabled(0)= True
SSTab1.TabEnabled(1)= True
SSTab1.TabEnabled(2)= True
cmdEdit.Caption = ”修改“
cmdAdd.Enabled = True
cmdDel.Enabled = True
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
End Select End Sub '”首記錄“按鈕的單擊事件過(guò)程 Private Sub cmdFirst_Click()
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.MoveFirst
Case 1
datCourse.Recordset.MoveFirst
Case 2
datScore.Recordset.MoveFirst
End Select
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = True
cmdLast.Enabled = True End Sub '”尾記錄“按鈕的單擊事件過(guò)程 Private Sub cmdLast_Click()
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.MoveLast
Case 1
datCourse.Recordset.MoveLast
Case 2
datScore.Recordset.MoveLast
End Select
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False End Sub '”下一條“按鈕的單擊事件過(guò)程 Private Sub cmdNext_Click()
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.MoveNext
If datStudent.Recordset.EOF Then
datStudent.Recordset.MoveLast
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False
End If
Case 1
datCourse.Recordset.MoveNext
If datCourse.Recordset.EOF Then
datCourse.Recordset.MoveLast
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False
End If
Case 2
datScore.Recordset.MoveNext
If datScore.Recordset.EOF Then
datScore.Recordset.MoveLast
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False
End If
End Select End Sub '”上一條“按鈕的單擊事件過(guò)程 Private Sub cmdPrev_Click()
Select Case SSTab1.Tab
Case 0
datStudent.Recordset.MovePrevious
If datStudent.Recordset.BOF Then
datStudent.Recordset.MoveFirst
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = True
cmdLast.Enabled = True
End If
Case 1
datCourse.Recordset.MovePrevious
If datCourse.Recordset.BOF Then
datCourse.Recordset.MoveFirst
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = True
cmdLast.Enabled = True
End If
Case 2
datScore.Recordset.MovePrevious
If datScore.Recordset.BOF Then
datScore.Recordset.MoveFirst
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = True
cmdLast.Enabled = True
End If
End Select End Sub '初始化編輯窗體
Private Sub Form_Load()
datStudent.Visible = False
'連接數(shù)據(jù)庫(kù)
If Right(App.Path, 1)= ”“ Then
datStudent.DatabaseName = App.Path + ”mydb.mdb“
Else
datStudent.DatabaseName = App.Path + ”mydb.mdb“
End If
'設(shè)置記錄源
datStudent.RecordSource = ”學(xué)生“
datStudent.Refresh
'綁定控件
txtSID.DataField = ”學(xué)號(hào)“
txtSName.DataField = ”姓名“
optMale.Value = datStudent.Recordset.Fields(”性別“).Value
datCourse.Visible = False
datCourse.DatabaseName = datStudent.DatabaseName
datCourse.RecordSource = ”課程“
datCourse.Refresh
txtCID.DataField = ”課程號(hào)“
txtCName.DataField = ”課程名“
txtPeriod.DataField = ”學(xué)時(shí)“
txtCredit.DataField = ”學(xué)分“
datScore.Visible = False
datScore.DatabaseName = datStudent.DatabaseName
datScore.RecordSource = ”成績(jī)“
datScore.Refresh
txtSSID.DataField = ”學(xué)號(hào)“
txtSCID.DataField = ”課程號(hào)“
txtScore.DataField = ”成績(jī)“
SSTab1.Tab = 0 '設(shè)置當(dāng)前選項(xiàng)卡為”學(xué)生"選項(xiàng)卡 End Sub
第二篇:Vb設(shè)計(jì)實(shí)驗(yàn)報(bào)告
Vb設(shè)計(jì)實(shí)驗(yàn)報(bào)告
一、設(shè)計(jì)內(nèi)容和目的
這次實(shí)驗(yàn)設(shè)計(jì),我做的是學(xué)生信息管理系統(tǒng),主要功能是提供學(xué)生信息保存和查詢功能。
主要分為個(gè)窗口,其具體功能如下:
1、登錄窗口:提供學(xué)生和管理員登錄。
2、信息管理窗口:主操作窗口,可以進(jìn)行重登陸、注銷、退出、用戶查詢、管理員管理、系統(tǒng)信息的操作。包括一個(gè)下拉菜單和工具欄。
3、用戶查詢窗口:可以查詢數(shù)據(jù)庫(kù)中保存的學(xué)生信息。
4、管理員管理窗口:只有管理員可以進(jìn)入,顯示數(shù)據(jù)庫(kù)中所有的學(xué)生信息,并且可以添加修改。
5、系統(tǒng)信息窗口:是系統(tǒng)的信息內(nèi)容。
另外,根據(jù)網(wǎng)上的代碼,我又制作了俄羅斯方塊小游戲和畫(huà)圖工具。
二、設(shè)計(jì)過(guò)程:
1、實(shí)驗(yàn)構(gòu)思:在系統(tǒng)設(shè)計(jì)之前,對(duì)實(shí)驗(yàn)內(nèi)容和結(jié)構(gòu)的構(gòu)思占據(jù)了相當(dāng)一部分時(shí)間。最終決定做一個(gè)“學(xué)生信息管理系統(tǒng)”,這樣比較貼近自身情況,也有比較多的內(nèi)容可以設(shè)計(jì)。
2、技術(shù)實(shí)現(xiàn):在制作過(guò)程中主要使用了vb2005和數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行。Photoshop等技術(shù)使程序的界面看起來(lái)更加友好。
3、運(yùn)行調(diào)試:在系統(tǒng)制作中的運(yùn)行調(diào)試過(guò)程中,出現(xiàn)了很多問(wèn)題,比如各窗口之間的調(diào)用和訪問(wèn),如何退出,控件的背景設(shè)置、字體顏色設(shè)置等,都需要經(jīng)過(guò)一遍遍的調(diào)試發(fā)現(xiàn)、解決。
4、系統(tǒng)打包:在打包的時(shí)候,我按照老師給的方法一步步設(shè)置,可是由于粗心等原因,總是達(dá)不到滿意的效果,直到第三次才真正成功。
三、系統(tǒng)結(jié)構(gòu):
如一所述,系統(tǒng)分為5個(gè)模塊,各個(gè)模塊之間可以自由訪問(wèn)。
四、實(shí)驗(yàn)結(jié)果: 該系統(tǒng)能夠提供學(xué)生和管理員兩種類型的登錄,可以實(shí)現(xiàn)學(xué)生信息的查詢、管理員對(duì)信息的修改,等。
五、設(shè)計(jì)心得:
在設(shè)計(jì)過(guò)程中,遇到了許多困難,比如:數(shù)據(jù)庫(kù)無(wú)法連接、窗口無(wú)法正常訪問(wèn)、控件背景與窗體背景不協(xié)調(diào)等。后來(lái)通過(guò)查看課本和訪問(wèn)網(wǎng)絡(luò)將這些問(wèn)題解決了。
在這個(gè)過(guò)程中,我深深體會(huì)到大作業(yè)的用意:將所學(xué)理論知識(shí)用于實(shí)踐。正是因?yàn)檫@樣,許多理論上的知識(shí)才能真正得到理解。處理問(wèn)題的過(guò)程,也就是學(xué)習(xí)的過(guò)程。背課本何其簡(jiǎn)單,真正的能力卻是將課本運(yùn)用到實(shí)踐中去!
第三篇:vb綜合性設(shè)計(jì)實(shí)驗(yàn)報(bào)告
綜 合 性 實(shí) 驗(yàn)
實(shí) 驗(yàn) 名 稱: 用vb編寫(xiě)簡(jiǎn)單計(jì)算器 專 業(yè) 班 級(jí): 土 木 工 程 0901班 學(xué) 生 姓 名: *** 學(xué) 號(hào): ********* 指 導(dǎo) 教 師: *** 需求分析
該計(jì)算器程序是在Visual Basic6.0環(huán)境下編寫(xiě),編寫(xiě)完成后在Windows xp下運(yùn)行,通過(guò)初步測(cè)試,發(fā)現(xiàn)該計(jì)算程序能完成整數(shù)的加,減,乘,除四種運(yùn)算。通過(guò)在虛擬鍵盤(pán)上用鼠標(biāo)點(diǎn)擊輸入第一個(gè)數(shù),然后點(diǎn)擊運(yùn)算符,再輸入第二個(gè)數(shù),最后點(diǎn)擊“=”就會(huì)在計(jì)算器上方的文本框中輸出結(jié)果,清空文本框進(jìn)行下次運(yùn)算。經(jīng)過(guò)仔細(xì)測(cè)試發(fā)現(xiàn),該計(jì)算器最高支持五位整數(shù)的運(yùn)算,在除法運(yùn)算中能精確到小數(shù)點(diǎn)后14位。運(yùn)行環(huán)境
WINDOWS XP系統(tǒng);VB6.0;
3開(kāi)發(fā)工具和編程語(yǔ)言
開(kāi)發(fā)工具:Visual Basic6.0 “微型整值計(jì)算器”程序編寫(xiě)代碼:
Dim op1 As Integer Dim op2 As Integer Dim operator As String
Private Sub Command1_Click()
Text1.Text = Text1.Text & “1” End Sub
Private Sub Command2_Click()
Text1.Text = Text1.Text & “2” End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text & “3” End Sub
Private Sub Command4_Click()
Text1.Text = Text1.Text & “4” End Sub
Private Sub Command5_Click()
Text1.Text = Text1.Text & “5” End Sub
Private Sub Command6_Click()
Text1.Text = Text1.Text & “6” End Sub
Private Sub Command7_Click()
Text1.Text = Text1.Text & “7” End Sub
Private Sub Command8_Click()
Text1.Text = Text1.Text & “8” End Sub
Private Sub Command9_Click()
Text1.Text = Text1.Text & “9” End Sub
Private Sub Command11_Click()Text1.Text = Text1.Text & “0” End Sub
Private Sub Command10_Click()op1 = Val(Text1.Text)operator = “+” Text1.Text = “" End Sub
Private Sub Command12_Click()op1 = Val(Text1.Text)operator = ”-“ Text1.Text = ”“ End Sub
Private Sub Command13_Click()op1 = Val(Text1.Text)operator = ”*“ Text1.Text = ”“ End Sub
Private Sub Command14_Click()op1 = Val(Text1.Text)operator = ”/“ Text1.Text = ”“ End Sub
Private Sub Command15_Click()op2 = Val(Text1.Text)If operator = ”+“ Then Text1.Text = op1 + op2 ElseIf operator = ”-“ Then Text1.Text = op1-op2 ElseIf operator = ”*“ Then Text1.Text = op1 * op2 ElseIf operator = ”/" Then Text1.Text = op1 / op2 End If End Sub 4 系統(tǒng)設(shè)計(jì)
(1)程序的組織結(jié)構(gòu)(包括窗體、模塊及其功能)。
窗體模塊:用來(lái)包含sub與事件過(guò)程 窗口:用來(lái)承載控件,包括按鈕控件、文本框控件、標(biāo)簽控件。
控件:按鈕控件用來(lái)輸入數(shù)據(jù)與運(yùn)算符號(hào),文本框控件用來(lái)顯示輸入的數(shù)值以及最后的運(yùn)算結(jié)果,標(biāo)簽控件顯示標(biāo)簽既該程序的自定義名稱。
Sub過(guò)程:通過(guò)代碼的編寫(xiě)使窗口上的控件能在程序運(yùn)行時(shí)有特殊的作用,使命令按鈕能產(chǎn)生相應(yīng)的數(shù)值,運(yùn)算按鈕產(chǎn)生相應(yīng)的運(yùn)算過(guò)程,及文本框中顯示相應(yīng)結(jié)果。
(2)每個(gè)窗體(模塊)詳細(xì)描述設(shè)計(jì)思路。
I.首先打開(kāi)新建工程,創(chuàng)建一個(gè)forml窗口,并在窗口中放入控件。分別放入一個(gè)標(biāo)簽控件,一個(gè)文本框控件和15個(gè)按鈕控件,調(diào)整各控件的大小和位置,使其布局如下圖示。
II.調(diào) 整 各 控 件 的 屬 性 值。單擊標(biāo)簽控件,將其caption屬性 設(shè)置為“微型整
值計(jì) 算器”并將fount屬性 設(shè) 置 為 粗 體,小四。將文本框清空,然后依次設(shè)置command1~command15的caption屬性分別為數(shù)字“1~10”和運(yùn)算符“+”“-”“*”“/”以及“=”。
III.編寫(xiě)控件觸發(fā)事件過(guò)程代碼。先聲明三個(gè)變量:兩個(gè)整值和一個(gè)字符串。然后編寫(xiě)command1~command10的click事件使用賦值語(yǔ)句,在文本框中顯示相應(yīng)數(shù)值。再編寫(xiě)command11~command14的click事件,使用賦值語(yǔ)句賦予相應(yīng)運(yùn)算符,并將文本框中字符串轉(zhuǎn)換為數(shù)值型賦值給第一個(gè)變量,清空文本框。編寫(xiě)command15的click事件代碼,將第二次輸入的字符串轉(zhuǎn)換為數(shù)值型賦給第二個(gè)變量,并用塊結(jié)構(gòu)條件語(yǔ)句分別編寫(xiě)四種運(yùn)算過(guò)程。IV.完成后進(jìn)行調(diào)試,修改,運(yùn)行,測(cè)試。系統(tǒng)運(yùn)行及測(cè)試
(1)幾組測(cè)試數(shù)據(jù)以及相應(yīng)的測(cè)試結(jié)果:
運(yùn)算10/3的結(jié)果 運(yùn)算14*3的結(jié)果 運(yùn)算78+20的結(jié)果(2)運(yùn)行界面:
參考文獻(xiàn)
[1] 郭曉君、謝日行,visual basic程序設(shè)計(jì)教程,黃河水利出版社
[2] 龔沛曾、楊志強(qiáng)、陸慰民,visual basic程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與測(cè)試,高等教育出版社 7心得體會(huì)
在這次實(shí)驗(yàn)中,在vb環(huán)境下制作了一個(gè)標(biāo)準(zhǔn)exe工程,雖然結(jié)果比較令人滿意,但是在制作過(guò)程中遇到了不少困難。在其中深深體會(huì)到了了解和掌握一門(mén)計(jì)算機(jī)語(yǔ)言并不容易,要真正學(xué)好它必須要付出足夠的努力。我在這次實(shí)驗(yàn)中就查閱了相關(guān)資料,并通過(guò)與他人的相互交流學(xué)習(xí),這樣既有利于相互的學(xué)習(xí)與提高,又能養(yǎng)成良好的學(xué)習(xí)習(xí)慣。此外,此次實(shí)驗(yàn)的成功完成,對(duì)我自己也是極大的鼓舞,鼓舞我今后更加努力的去學(xué)好這門(mén)課程。這個(gè)計(jì)算器的制作使我領(lǐng)會(huì)到了vb的實(shí)用性與強(qiáng)大的功能,所以我以后一定會(huì)以更加努力認(rèn)真的態(tài)度來(lái)學(xué)習(xí)vb課程,為以后的應(yīng)用與實(shí)踐打下堅(jiān)實(shí)的基礎(chǔ)。
第四篇:VB實(shí)驗(yàn)報(bào)告 (2500字)
交通與汽車工程學(xué)院 實(shí) 驗(yàn) 報(bào) 告
課 程 名 稱: 程序設(shè)計(jì)基礎(chǔ) 課 程 代 碼: 學(xué)院(直屬系): 年級(jí)/專業(yè)/班: 學(xué) 生 姓 名:學(xué) 號(hào): 實(shí)驗(yàn)總成績(jī): 任 課 教 師: 開(kāi) 課 學(xué) 院: 實(shí)驗(yàn)中心名稱: 西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
a)理解vb中對(duì)象的概念。b)理解事件驅(qū)動(dòng)的基本概念。
c)熟悉vb編程的基本步驟:界面設(shè)計(jì)、屬性設(shè)置、編寫(xiě)代碼、運(yùn)行、調(diào)試、保存文件。
d)掌握常用控件的創(chuàng)建方法以及如何用控件建立用戶界面。e)掌握在屬性窗口中設(shè)置對(duì)象屬性的基本操作。掌握在代碼窗口中編輯程序代碼的基本操作。了解在代碼中改變對(duì)象屬性的基本方法
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
vb中對(duì)象的操作與應(yīng)用。步驟:
1.建立界面和對(duì)象,更改各個(gè)對(duì)象的屬性;2.編寫(xiě)程序代碼,運(yùn)行程序;3.調(diào)試程序,改程序,得正確程序。
3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)
1、界面設(shè)計(jì)
2、程序代碼設(shè)計(jì)
dim chname as string
chname = text1.text
label1.visible = false text1.move 360, 1440, 4500 text1.forecolor = vbblue text1.text = 這是 & chname & 的第一個(gè)vb程序!end sub end sub private sub form_load()showcls form1.fillcolor = vbred print print tab(3);歡迎使用 visual basic!end sub
3、運(yùn)行/調(diào)試程序
4、保存工程
用相關(guān)命令在用戶文件夾中保存窗體核工程文件,要求文件名分別是;firpro.frm,firpro.vbp
4、實(shí)驗(yàn)總結(jié)4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
1若將form_load事件改成form_click事件過(guò)程,而其中的程序代碼不變,運(yùn)行程序后
窗體上的顯示有什么不同?
答: form_click事件需單擊窗體才能觸發(fā),而form_load事件由vb系統(tǒng)自動(dòng)觸發(fā),如果改變,則需單擊窗體才能顯示結(jié)果。西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.掌握窗體的常用屬性、事件和方法。2.掌握是窗體的鼠標(biāo)事件及觸發(fā)順序。
3、掌握顏色的表示方法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
通過(guò)對(duì)各個(gè)form事件的了解來(lái)進(jìn)行編程。步驟:
1.先設(shè)計(jì)界面,進(jìn)而代碼編程; 2.運(yùn)行程序,結(jié)果顯示在界面上。3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)。1.
界面設(shè)計(jì)
2.程序代碼設(shè)計(jì)
private sub form_click()print 觸發(fā) form_click 事件 end sub private sub form_dblclick()print 觸發(fā) form_dblclick 事件 end sub private sub form_mousedown(button as integer, shift as integer, x as single, y as single)print 觸發(fā) form_mousedown 事件 end sub private sub form_mouseup(button as integer, shift as integer, x as single, y as single)print 觸發(fā) form_mouseup 事件 end sub 3.運(yùn)行/調(diào)試程序
4.保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
顏色的表示方法有幾種?分別加以描述。
答:1.使用rgb函數(shù)
rgb函數(shù)可返回一個(gè)long整數(shù),來(lái)表示一個(gè)rgb顏色值。其使用格式如下:rgb(red,green,blue)說(shuō)明:red,green,blue 3種顏色是通過(guò)從0-255之間的一組亮度值組合來(lái)設(shè)定顏色。2.使用qbcolor函數(shù)
qbcolor函數(shù)可返回一個(gè)long值,用來(lái)表示所對(duì)應(yīng)顏色值的rgb顏色碼。3.適用系統(tǒng)定義的顏色常數(shù)
在vb系統(tǒng)中已經(jīng)預(yù)先定義了常數(shù)可查表得起顏色值。4.使用顏色設(shè)置值
在十六進(jìn)制數(shù)指定顏色的格式為:&hbbggrr.4.2實(shí)驗(yàn)總結(jié)心得體會(huì) 答:操作時(shí)按鍵的不同會(huì)使結(jié)果出現(xiàn)差異,體現(xiàn)了不同事件的操作的不同。通過(guò)該實(shí)驗(yàn)讓我比較清楚的了解了form的各個(gè)事件。
西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.掌握標(biāo)簽、文本框、命令按鈕的常用屬性、事件和方法。
2.掌握單選按鈕和復(fù)選框、列表框和組合框的編程方法,尤其是單選按鈕與框架的配合使用。3.掌握運(yùn)用圖片框和圖像框加載圖像的方法。4.掌握計(jì)時(shí)器和滾動(dòng)條的編程方法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
對(duì)標(biāo)簽、文本框、滾動(dòng)條、組合框等控件的應(yīng)用。步驟: 1.界面設(shè)計(jì),2.程序代碼編程,3運(yùn)行,調(diào)試,修改。3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)1. 界面設(shè)計(jì)
2. 程序代碼設(shè)計(jì) private sub check1_click()if check1.value = 1 then text1.font.bold = true else text1.font.bold = false end if end sub private sub check2_click()text1.font.italic = not text1.font.italic end sub text1.text = 第一章 vb概述 & vbcrlf & 第二章 程序設(shè)計(jì)基礎(chǔ) & vbcrlf & 第三章 窗體及常用控件 & vbcrlf & 第四章 結(jié)構(gòu)化程序設(shè)計(jì) & vbcrlf & 第五章 數(shù)組end sub private sub hscroll1_change()text1.font.size = hscroll1.value end sub private sub option1_click()text1.font.name = option1.caption end subprivate sub option2_click()text1.font.name = option2.caption end sub 3. 運(yùn)行/調(diào)試程序
4. 保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
1、字體的選擇可否使用復(fù)選框來(lái)實(shí)現(xiàn)?
答:不可以,字體只能呈現(xiàn)出一種字體,所以只能用單選按鈕實(shí)現(xiàn)。4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
程序中標(biāo)點(diǎn)的運(yùn)用能改變顯示的結(jié)果,有時(shí)會(huì)導(dǎo)致不能運(yùn)行,注意標(biāo)點(diǎn)很重要。由于編程過(guò)程中標(biāo)點(diǎn)應(yīng)用不當(dāng)使我走了很多冤枉路,下次記得標(biāo)點(diǎn)的使用。西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.熟悉vb的各種數(shù)據(jù)類型 2.掌握變量定義與賦值的方法。3.掌握各種運(yùn)算符和表達(dá)式的使用。4.掌握常用內(nèi)部函數(shù)的功能及其調(diào)用方法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
對(duì)vb各種數(shù)據(jù)的應(yīng)用和內(nèi)部函數(shù)的使用。步驟:
1.對(duì)界面進(jìn)行設(shè)計(jì),并改變對(duì)象的屬性; 2.編寫(xiě)程序代碼;
3.運(yùn)行程序,調(diào)試程序,完成程序。
3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)
一、根據(jù)輸入半徑,計(jì)算圓的周長(zhǎng)和面積。1.界面設(shè)計(jì)
界面設(shè)計(jì)如下圖所示。
2.程序代碼設(shè)計(jì) option explicit dim r as single, s as single, area as single r = val(text1.text)s = 2 * pi * r area = pi * r ^ 2 text2.text = s text3.text = area end sub 3.運(yùn)行/調(diào)試程序
程序開(kāi)始的界面如下圖所示。
輸入半徑后的界面如下圖所示。
按“計(jì)算”按鈕后,顯示結(jié)果如下圖所示。
4.保存工程
二、已知三角形三條邊的邊長(zhǎng)為a、b、c。編寫(xiě)程序計(jì)算三角形面積:
面積=s(s?a)(s?b)(s?c)其中:s=(a+b+c)/2 1.
界面設(shè)計(jì)
界面設(shè)計(jì)如下圖所示。
2.程序代碼設(shè)計(jì) option explicit private sub form_click()dim a as single, b as single, c as single dim area as single, s as single a = inputbox(請(qǐng)輸入a:)b = inputbox(請(qǐng)輸入b:)c = inputbox(請(qǐng)輸入c:)s =(a + b + c)/ 2 area = sqr(s *(sb)*(si + 1)end if next i text1.text = result end sub 3運(yùn)行/調(diào)試程序
當(dāng)選擇主對(duì)角線時(shí),顯示結(jié)果如下。
當(dāng)選擇主對(duì)角線時(shí),顯示結(jié)果如下。
4.保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
如果要計(jì)算該矩陣四周邊線元素之和,主要代碼該如何編寫(xiě)? 答:只需將矩陣規(guī)律代碼做一些改變就行 result = result + a(1,j)and result = result + a(i,1)result=result+a(i,5)and result=result+a(5,j)end if andnext i text1.text = result 4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
這次實(shí)驗(yàn)我還是覺(jué)得掌握的不好,以后多多努力!
二維數(shù)組和矩陣的應(yīng)用是我的弱項(xiàng),有時(shí)我不知道怎樣尋找數(shù)據(jù)之間的那些規(guī)律,我有時(shí)很迷茫,vb真的要好好學(xué)呀!
西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.掌握sub子過(guò)程的定義和調(diào)用方法。
2.掌握調(diào)用過(guò)程時(shí)參數(shù)傳遞的兩種方式(傳值與傳址)。3.掌握變量、函數(shù)和過(guò)程的作用域。
4、掌握在數(shù)組中找最大(小)值的算法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
sub函數(shù)的應(yīng)用,數(shù)組中最大最小值的求法等vb編程的應(yīng)用。步驟: 1.建立界面和對(duì)象,更改各個(gè)對(duì)象的屬性;2.編寫(xiě)程序代碼,運(yùn)行程序;3.調(diào)試程序,改程序,得正確程序。3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)1.界面設(shè)計(jì)
2.程序代碼設(shè)計(jì)
a = array(73, 23, 65, 45, 67, 89, 76)for i = 0 to 6 list1.additem a(i)next i call ss(a, x)text1 = x call tt(a, y)text2 = y end sub private sub ss(a as variant, x)x = a(0)for i = 1 to 6 if a(i)> x then x = a(i)end if next i end sub private sub tt(a as variant, y)y = a(0)for i = 1 to 6 if a(i)< y then y = a(i)end if next i end sub a = array(73, 23, 65, 45, 67, 89, 76)for i = 0 to 6 s = s + a(i)t = format(s / 7, 00.#####)text3 = t next i end sub 3.運(yùn)行/調(diào)試程序
4.保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
如何將平均值保留兩位小數(shù)?
答:將令av=av/ubound(ar)改為av=0.01*int(100*av)/ubound(ar)即可實(shí)現(xiàn)。4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
子函數(shù)的應(yīng)用具有很重要的意義,它在很多方面都在使用,我們遇到要重視它,很多的復(fù)雜程序都能通過(guò)子函數(shù)使程序看起來(lái)清晰明白。
本次試驗(yàn)有些問(wèn)題還沒(méi)有徹底解決,我想我還要再努力才行。
西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.掌握f(shuō)unction子過(guò)程定義和調(diào)用方法。
2.掌握調(diào)用過(guò)程時(shí)參數(shù)傳遞的兩種方式(傳值與傳址)。3.掌握變量、函數(shù)和過(guò)程的作用域。4.鞏固素?cái)?shù)的判斷的算法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容
3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
function子過(guò)程的使用,素?cái)?shù)的判斷等vb的程序編寫(xiě)。步驟: 1.建立界面和對(duì)象,更改各個(gè)對(duì)象的屬性;2.編寫(xiě)程序代碼,運(yùn)行程序;3.調(diào)試程序,改程序,得正確程序。3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)1.界面設(shè)計(jì)
2.程序代碼設(shè)計(jì)
x = val(inputbox(輸入一個(gè)6—106間的偶數(shù)))loop while x < 6 or x > 106 or x mod 2 <> 0 for i = 2 to x 2 step 1 j = x-i if sushu(i)= 1 and sushu(j)= 1 then picture1.print i & +;j & =;x end if next i end sub private function sushu(n)as integer sushu = 1 k = int(sqr(n))for i = 2 to k if n mod i = 0 then sushu = 0 exit for end if next iend function 3.運(yùn)行/調(diào)試程序
4.保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
素?cái)?shù)的判斷可否使用sub子過(guò)程來(lái)實(shí)現(xiàn)?
答:素?cái)?shù)的判斷可以用sub的子程來(lái)實(shí)現(xiàn)。4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
子過(guò)程可以用來(lái)檢驗(yàn)許多的著名理論,這有利于我們更深入的學(xué)習(xí)與探索。由此可見(jiàn)vb作用非同一般呀!很有幸接觸到它,讓我又有進(jìn)步。
西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)
開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1.掌握文件以及文件緩沖的概念。
2.掌握順序文件的打開(kāi)、關(guān)閉以及讀寫(xiě)操作。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容
3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
文件的打開(kāi)、關(guān)閉與讀寫(xiě)操作等的vb操作。步驟:
1.對(duì)界面進(jìn)行設(shè)計(jì),并改變對(duì)象的屬性; 2.編寫(xiě)程序代碼;
3.運(yùn)行程序,調(diào)試程序,完成程序。3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)1.界面設(shè)計(jì)
2.程序代碼設(shè)計(jì) private type st xm as string * 3 zy as string * 5 nl as integer end type option base 1 open app.path + h:試驗(yàn)student.txt for input as #1 no = 1 while not eof(1)no = no + 1 redim preserve stud(no)input #1, stud(no).xm, stud(no).zy, stud(no).nl wend close #1 open app.path + stud計(jì)算機(jī)應(yīng)用 for output as #2 for i = 1 to ubound(stud)if stud(i).zy = 計(jì)算機(jī)應(yīng)用 then write #2, stud(i).xm, stud(i).zy, stud(i).nl end if next i close #2 open app.path + stud22.txt for random as #3 len = len(stud(1))for i = 1 to ubound(stud)if stud(i).nl >= 22 then put #3, i, stud(i)end if next i close #3 end sub 3.運(yùn)行/調(diào)試程序
4.保存工程
4、實(shí)驗(yàn)總結(jié) 4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
如何查看“stud21.txt”和“stud22.txt”兩個(gè)文件中的數(shù)據(jù)?
答:直接查看保存工程的文件夾就可以了。4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
這個(gè)實(shí)驗(yàn)還存在問(wèn)題,對(duì)文件操作還有很多的不足,在學(xué)習(xí)中還要多努力才行呀
西華大學(xué)實(shí)驗(yàn)報(bào)告(理工類)開(kāi)課學(xué)院及實(shí)驗(yàn)室:交通與汽車工程學(xué)院 計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)時(shí)間: 年 月 日
1、實(shí)驗(yàn)?zāi)康?/p>
1、掌握隨機(jī)數(shù)的產(chǎn)生方法。
2、掌握循環(huán)語(yǔ)句的使用。
3、熟悉vb編程的基本步驟:界面設(shè)計(jì)、屬性設(shè)置、編寫(xiě)代碼、運(yùn)行、調(diào)試、保存文件。
4、掌握常用控件的創(chuàng)建方法以及如何用控件建立用戶界面。
5、掌握分支條件語(yǔ)句的使用。
6、掌握各種類型文件的打開(kāi)、關(guān)閉以及讀寫(xiě)操作。
7、掌握在代碼中改變對(duì)象屬性的基本方法。
2、實(shí)驗(yàn)設(shè)備、儀器及材料
操作系統(tǒng):windows98/2000/2003/xp 編程工具:visual basic 6.0
3、實(shí)驗(yàn)內(nèi)容 3.1實(shí)驗(yàn)方案設(shè)計(jì)與選擇(設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn)需寫(xiě)該項(xiàng)內(nèi)容)3.2實(shí)驗(yàn)原理及實(shí)驗(yàn)步驟(實(shí)驗(yàn)工作原理或?qū)嶒?yàn)的主要操作過(guò)程)
原理:
對(duì)vb各個(gè)知識(shí)點(diǎn)的綜合運(yùn)用,很有實(shí)踐價(jià)值。步驟: 1.建立界面和對(duì)象,更改各個(gè)對(duì)象的屬性;2.編寫(xiě)程序代碼,運(yùn)行程序;3.調(diào)試程序,改程序,得正確程序。
3.3實(shí)驗(yàn)記錄(核心代碼及調(diào)試過(guò)程)1.界面設(shè)計(jì)
2.程序代碼設(shè)計(jì)
dim a(1 to 20)as integer dim i as integer, j as integer, t as integer a(i)= int(rnd * 21)+ 20 list1.additem a(i)next i end sub for i = 1 to 19 for j = i + 1 to 20 if a(i)> a(j)then t = a(i)a(i)= a(j)a(j)= t end if next j next i list1.clear for i = 1 to 20 list1.additem a(i)next i end sub open testout.txt for random as #1 for i = 1 to 20 put #1, , a(i)next i close #1 end end sub end sub 3.運(yùn)行/調(diào)試程序
4.保存工程
4、實(shí)驗(yàn)總結(jié)
4.1實(shí)驗(yàn)結(jié)果分析及問(wèn)題討論
1.若“生成”按鈕和“排序” 按鈕交替有效,代碼做如何修改? 4.2實(shí)驗(yàn)總結(jié)心得體會(huì)
通過(guò)這次實(shí)驗(yàn)讓我收獲很多,使自身動(dòng)手能力有了很大提高,希望以能在這方面有更好的成績(jī)。雖然遇到很多困難,但有進(jìn)步就是最后的回報(bào)。
第五篇:VB第六章實(shí)驗(yàn)報(bào)告
第六章實(shí)習(xí)報(bào)告
第一部分:書(shū)上例題運(yùn)行結(jié)果展示
例6-1求組合數(shù)Cn?mn!的值,設(shè)m=6,n=10。
m!(n?m)!
例6-2一個(gè)數(shù)組有10個(gè)整數(shù)元素,將第一個(gè)元素與最后一個(gè)元素對(duì)調(diào),第二個(gè)與倒數(shù)第二個(gè)對(duì)調(diào)……,輸出對(duì)調(diào)前后數(shù)組各元素的值。
例6-3編寫(xiě)求兩個(gè)整數(shù)的最大公約數(shù)過(guò)程,在主程序中調(diào)用該過(guò)程求兩個(gè)數(shù)的最大公約數(shù),并根據(jù)最大公約數(shù)求最小公倍數(shù)。
例6-4分別用傳地址方式和傳值方式編寫(xiě)交換兩個(gè)整數(shù)的過(guò)程并調(diào)用。
例6-5編寫(xiě)求一組整數(shù)平均值的過(guò)程,并在主程序中調(diào)用。
例6-6編寫(xiě)能獲得一組整數(shù)的平均值、最大值和最小值的過(guò)程并調(diào)用。
例6-7求組合數(shù)Cn?mn!的值,設(shè)m=6,n=10。
m!(n?m)!
例6-8窗體級(jí)變量的作用范圍示例
例6-9變量的作用范圍綜合示例。
例6-10編程對(duì)鍵盤(pán)上輸入的任意個(gè)數(shù)排序。
例6-11判斷一個(gè)整數(shù)是否是回文數(shù)。所謂回文數(shù)是這樣的數(shù),將這個(gè)數(shù)從左向右讀和從右向左讀值相等。如121就是回文數(shù),345就不是回文數(shù)。
例6-12設(shè)計(jì)一個(gè)數(shù)值轉(zhuǎn)換函數(shù),能夠?qū)⑹M(jìn)制整數(shù)轉(zhuǎn)換成16進(jìn)制以內(nèi)的任意進(jìn)制數(shù)。
例6-13利用遞歸調(diào)用計(jì)算n!
第二部分:課后習(xí)題
1. 自定義一個(gè)與VB內(nèi)部函數(shù)Abs功能完全相同的函數(shù)過(guò)程MyAbs,要求函數(shù)過(guò)程中不能調(diào)用VB內(nèi)部函數(shù)Abs。運(yùn)行結(jié)果如下所示:
代碼錄入如下:
Private Sub Command1_Click()
Dim a!
a = InputBox(“請(qǐng)輸入函數(shù)值”)
Print myabs(a)End Sub Function myabs!(ByVal x!)
If x >= 0 Then
x = x
Else
x =-x
End If myabs = x End Function 3.編寫(xiě)函數(shù)過(guò)程Gdc求兩個(gè)數(shù)的最大公約數(shù)。調(diào)用此函數(shù)試求1260、198、72三個(gè)數(shù)的最大公約數(shù)。
運(yùn)行結(jié)果如下所示:
代碼錄入如下:
Private Sub Command1_Click()
Dim x%, y%, z%
x = Val(InputBox(“輸入第一個(gè)數(shù)x為:”))
y = Val(InputBox(“輸入第二個(gè)數(shù)y為:”))
z = Val(InputBox(“輸入第三個(gè)數(shù)z為:”))
z = gys(gys(x, y), z)
Print “三個(gè)數(shù)的最大公約數(shù)為:” & z End Sub Function gys%(ByVal m%, ByVal n%)
Dim r%
Do
r = m Mod n
If r = 0 Then
Exit Do
Else
m = n: n = r
End If
Loop gys = n End Function 7.編程輸出10000~99999之間的全部回文式素?cái)?shù)。運(yùn)行結(jié)果如下:
代碼錄入如下:
Private Sub Command1_Click()
Dim i&, n&, x#
x = Timer
For i = 10000 To 99999
If hws(i)= True Then
If ss(i)= True Then
Print i;
n = n + 1
If n Mod 5 = 0 Then Print
End If
End If
Next i
x = Timer1)Mod 5)* 6);dg(i);
Next i
Print “第20個(gè)數(shù)是” & dg(20)End Sub Function dg#(ByVal m%)
If m >= 3 Then dg = dg(m2)
Else dg = 1
End If End Function 第三部分:簡(jiǎn)答題
1.Sub過(guò)程和Function過(guò)程的異同點(diǎn)是什么?
答:過(guò)程是一個(gè)具有某種功能的獨(dú)立程序段,可供程序多次調(diào)用。對(duì)于一個(gè)具體問(wèn)題,既可以使用Function過(guò)程,也可以使用Sub過(guò)程。但Sub過(guò)程與Function過(guò)程還是有區(qū)別的,Sub過(guò)程的過(guò)程名僅標(biāo)識(shí)過(guò)程本身;Function過(guò)程的過(guò)程名除了標(biāo)識(shí)過(guò)程本身以外,還有返回值的作用,因此,若過(guò)程有一個(gè)返回值時(shí),則習(xí)慣使用Function過(guò)程,并通過(guò)函數(shù)名返回函數(shù)值;若過(guò)程不需要返回值或返回多個(gè)值時(shí),則使用Sub過(guò)程;返回值通過(guò)實(shí)參與形參的結(jié)合帶回,當(dāng)然也可通過(guò)Function過(guò)程名帶回一個(gè)結(jié)果,其余通過(guò)實(shí)參與形參的結(jié)合帶回。
2.值傳遞與地址傳遞特點(diǎn)是什么?如何選擇?
答:VB中形參與實(shí)參的結(jié)合有傳值和傳地址兩種方式。數(shù)據(jù)傳遞按照地址方式傳遞。傳值方式只能從調(diào)用程序向過(guò)程傳入初值,但不能將結(jié)果傳出;而地址傳遞即可傳入又可傳出。實(shí)現(xiàn)傳值和傳地址對(duì)形參和實(shí)參的要求。在定義過(guò)程時(shí)在形參前加ByVal關(guān)鍵字或過(guò)程調(diào)用時(shí)變量加圓括號(hào),數(shù)據(jù)傳遞按照傳值方式;如果在形參前加ByRef關(guān)鍵字或省略(默認(rèn))或?qū)崊⑹菙?shù)組、自定義類型、對(duì)象變量等,參數(shù)傳遞只能是地址傳遞。
3.在VB中,形參若是數(shù)組,問(wèn)在過(guò)程體內(nèi)如何表示其數(shù)組的上、下界?
答:傳地址是VB默認(rèn)的參數(shù)傳遞方式。在這種方式下,實(shí)參傳給形參的是存儲(chǔ)地址,使得形參與實(shí)參共用同一存儲(chǔ)單元,因此,在過(guò)程中對(duì)形參的任何操作實(shí)質(zhì)都是對(duì)相應(yīng)實(shí)參的操作。參數(shù)傳遞時(shí),當(dāng)實(shí)參為變量時(shí),把實(shí)參的地址傳遞給形參,使實(shí)參與形參共享同一存儲(chǔ)單元段;當(dāng)實(shí)參為數(shù)組時(shí),把實(shí)參數(shù)組的存儲(chǔ)地址傳遞給形參數(shù)組,使實(shí)參數(shù)組與形參數(shù)組共享同一存儲(chǔ)區(qū)域。
4.在Form1窗體通用聲明部分聲明的變量,可否在Form2窗體中的過(guò)程被訪問(wèn)? 答:不可以。窗體(模塊)級(jí)變量的作用域限制在聲明它的窗體(模塊)中,該窗體(模塊)中的所有過(guò)程均可訪問(wèn)該變量,其它窗體(模塊)則不能。
5.為了使某變量在所有的窗體中都能使用,應(yīng)在何處聲明該變量? 答:public 6.在同一模塊、不同過(guò)程中聲明的相同變量名,兩者是否表示一個(gè)變量?有沒(méi)有聯(lián)系? 答:不表示。當(dāng)變量名相同而作用域不同時(shí),將優(yōu)先訪問(wèn)作用域小的變量。
三.實(shí)習(xí)中遇到的問(wèn)題 傳值與傳地址的區(qū)別及各種情況下的選擇。
四.信心指數(shù)
★★★★