久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

VB課程設(shè)計報告

時間:2019-05-12 04:24:56下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《VB課程設(shè)計報告》,但愿對你工作學(xué)習(xí)有幫助,當然你在寫寫幫文庫還可以找到更多《VB課程設(shè)計報告》。

第一篇:VB課程設(shè)計報告

Visual Basic課程設(shè)計報告

題目1: 列車時刻查詢系統(tǒng) 難度: ** 題目2: 記憶力測試軟件 難度: ** 指導(dǎo)教師: 袁紅兵

姓 名:鄭聰

學(xué) 號:9151010F0535 專 業(yè):兵器類

班 級:9151010F05 學(xué) 院:機械工程學(xué)院

日 期:2016年4月

一、程序功能

二、課程設(shè)計的詳細設(shè)計

三、課程設(shè)計總結(jié)

四、遇到的問題及解決方法

五、源程序代碼

六、總結(jié)及個人心得體會

七、參考文獻

程序功能

涉及知識點:(1)讀文本文件;(2)動態(tài)數(shù)組(3)字符串處理(4)列表框控件的使用(4)多行文本框控件的使用

功能要求:(1)程序啟動后,左邊的列表框顯示所有的車次,點擊其中一項,顯示相應(yīng)的詳細信息。(2)在“經(jīng)停車站”組合框中選擇或輸入一個站名然后回車,列表框中只列出經(jīng)過該車站的車次。單擊列表框下方的“顯示全部車次”按鈕,列表框中重新列出所有車次。(3)文本框(或右邊的列表框)中詳細信息整齊排列。

課程設(shè)計的詳細設(shè)計

1、總體設(shè)計思路

先將信息讀入到兩個動態(tài)數(shù)組中,再根據(jù)相關(guān)的事件調(diào)用數(shù)組。

2、界面設(shè)計

界面有frame,list,combol,text,command,label.3、功能模塊設(shè)計

課程設(shè)計總結(jié)

(1)整體的功能還是實現(xiàn)了,運行應(yīng)該是沒有問題的。(2)在做這次課程設(shè)計的過程中,我深刻領(lǐng)悟到實踐的重要性,看似困難的課程設(shè)計,一步一步來,問題一個一個解決,最后回首會覺得自己懂得了好多好多。(3)我也知道了,不能光靠自己的課本,要借助網(wǎng)絡(luò)快速的查找自己所需要的知識點。

遇到的問題及解決方法

我在設(shè)計這個程序時主要遇到兩個問題。

第一個大的問題就是怎樣才能實現(xiàn)查詢經(jīng)過站點和顯示車次途徑車站和,經(jīng)過查閱書籍之后,通過以下代碼就可以實現(xiàn)了:

Private Sub Com1_Click()

'查詢經(jīng)過站點

Dim n As Integer

List1.Clear: List2.Clear

'清除界面

For i = 0 To k

If str(i)= Cob1.Text Then

For j = 0 To num1 If b = str1(i)Then

Text1.Text = str2(i): Text2.Text = str3(i)

'將起點站,終點站,發(fā)車時刻,到達時刻添入文本框中

Text3.Text = str4(i): Text4.Text = str5(i)

End If End Sub

我所遇到的二個問題就是怎樣才能讓各項對齊,在網(wǎng)絡(luò)上找到了一段非常重要的代碼“List2.List(j)= str(m)+ Space(p)+ RTrim(Format(str(m + 1), “"))+ RTrim(Format(str(m + 2), ”“))”,和一些提示,以下代碼得以實現(xiàn):

If List1.ListIndex = List1.ListCount3 Step 3

Select Case Len(str(m))

'判斷站名長度以便list2中各項對齊

Case Is = 2: p = 5

Case Is = 3: p = 3

Case Is = 4: p = 1

End Select

List2.List(j)= str(m)+ Space(p)+ RTrim(Format(str(m + 1), ”))+ RTrim(Format(str(m + 2), “"))

'對齊各項

j = j + 1

Next m

End If Next i End Sub 列車時刻查詢界面設(shè)計:

一、系統(tǒng)登陸界面設(shè)計

二、查詢界面設(shè)計

源程序代碼

Public Class Form1

Dim Content(,)As String

Dim Detail(,)As String

Private Sub a()

FileOpen(1, Application.StartupPath & ”content.txt“, OpenMode.Input)

'content.txt有多少行

Dim Temporary1()As String

Dim x As Integer

Do Until EOF(1)

LineInput(1)

x += 1

Loop

FileClose(1)

FileOpen(1, Application.StartupPath & ”content.txt“, OpenMode.Input)

'將content.txt的文件寫入Content二維數(shù)組

ReDim Temporary1(x1, 4)

For i = 0 To xUBound(Content)1, w)= Split(Temporary3(q), ”+“)(w)

Next

Next

For r = 0 To UBound(Content)

For t = 2 To UBound(Temporary4, 2)1, y)= Split(Temporary4(r, t), ”,“)(y)

Next

End If

Next

Next

FileClose(2)

For w = 0 To UBound(Content)

'將Detail數(shù)組內(nèi)容寫入經(jīng)停車站下拉欄

For q = 1 To UBound(Detail, 2)

If Detail(w, q, 0)<> Nothing And Detail(w, q, 0)<> ”“ Then

If ViaStation.Items.Contains(Detail(w, q, 0))= False Then

ViaStation.Items.Add(Detail(w, q, 0))

End If

End If

Next

Next

End Sub

Private Sub ShowAllTrains_Click(sender As System.Object, e As System.EventArgs)Handles ShowAllTrains.Click

'顯示全部車次按鈕按下觸發(fā)的事件

a()

ViaStation.Text = ”“

ListBox1.Items.Clear()

For i = 0 To UBound(Content)

ListBox1.Items.Add(Content(i, 0)&)

Next

End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs)Handles ListBox1.SelectedIndexChanged

'選定listbox某一項所觸發(fā)的事件

If ListBox1.SelectedIndex <>-1 Then

StartStation.Text = Content(ListBox1.SelectedIndex, 1)

DestinationStation.Text = Content(ListBox1.SelectedIndex, 2)

StartTime.Text = Content(ListBox1.SelectedIndex, 3)

ArriveTime.Text = Content(ListBox1.SelectedIndex, 4)

TxtDetail.Text = Nothing

For u = 1 To UBound(Detail, 2)

If Detail(Selection, u, 0)<> Nothing And Detail(Selection, u, 0)<> ”“ Then

If Detail(Selection, u, 1)= ”---“ Then

TxtDetail.Text &= Detail(Selection, u, 0)& Space(482 * Len(Detail(Selection, u, 1)))& Detail(Selection, u, 2)& vbCrLf

Else

TxtDetail.Text &= Detail(Selection, u, 0)& Space(555 * Len(Detail(Selection, u, 0)))& Detail(Selection, u, 1)& Space(502 * Len(Detail(Selection, u, 1)))& Detail(Selection, u, 2)& vbCrLf

End If

End If

Next

End If

End Sub

Private Sub ViaStation_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs)Handles ViaStation.TextChanged

'經(jīng)停站輸入文字或下拉欄選中某項所觸發(fā)的事件

ListBox1.Items.Clear()

For z = 0 To UBound(Detail)

For c = 1 To UBound(Detail, 2)

If Detail(z, c, 0)= ViaStation.Text Then

If ListBox1.Items.Contains(Detail(z, 0, 0))= False Then

ListBox1.Items.Add(Detail(z, 0, 0))

End If

End If

Next

Next

End Sub

Function Selection()As Integer '根據(jù)Ylistbox選中項,返回其在Detail數(shù)組中所在的位置

For q = 0 To UBound(Detail)

If Detail(q, 0, 0)= Replace(ListBox1.SelectedItem.ToString, ”次??“, ”")Then

Return q

Exit Function

End If

Next

Return-1

End Function

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load

End Sub End Class

總結(jié)及個人心得體會

綜合分析,本設(shè)計有四個難點:

1.程序顯示的信息都是從content.txt和detail.txt兩個文件中讀取的。如果列車時刻沒有變化,只需修改這兩個文件的內(nèi)容即可,不必改動程序。

2.Content.txt文件保存了各車次的概要信息,包括車次名,起點站,終點站,發(fā)車時刻,到達時刻,一個車次占一行。

3.Detail.txt文件中保存了所有車次??空镜脑敿毿畔ⅰC總€車次信息的保存方式都是相同的:首先一個星號“*”為一行:然后是車次名為一行:在后是??空镜恼久偷竭_,發(fā)車時刻,每個站為一行。起點站的“到達時刻”和終點站的“發(fā)車時刻”均為“--”。因為每次車停靠站的數(shù)目不同,在讀取detail.txt文件時,必須正確判斷星號“*”的位置。

4.程序應(yīng)在啟動時將所有信息從文件讀入動態(tài)數(shù)組中,從而不必在查詢過程中頻繁地讀取文件影響查詢速度。

存在的不足:

只能夠查詢信息,不能夠擴充程序使之對列車信息進行修改,添加和刪除操作。

心得及體會:

通過這次的VB課程設(shè)計,我學(xué)到了很多很多的東西,同時不僅可以鞏固了以前學(xué)過的知識,而且學(xué)到了很多書本上所沒有學(xué)到的知識。通過這次課程設(shè)計是我懂得了理論與實踐相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。

在設(shè)計的過程中遇到問題,可以說是困難重重,這畢竟是自己第一次做一個程序,難免會遇到各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解的不夠深刻,掌握的不夠牢固。通過這次課程設(shè)計之后,一定把以前所學(xué)的知識重新溫故。

程序設(shè)計師需要大量的時間去動手練習(xí)才能體會到它的內(nèi)涵,同時還需要用心去投入,時間和感情花下去之后,的確慢慢的感受到有所收獲了,我也收獲到了一點點的樂趣??赡苁且粋€良性循環(huán)的開始吧,相信以后會做的更好的。

參考文獻

[1].王棟,visual basic課程設(shè)計,北京,清華大學(xué)出版社 [2].王棟,visual basic程序設(shè)計實用教程,北京,清華大學(xué)出版社

[3].陳銳,夏敏捷,趙琳編著,Visual Basic.NET經(jīng)典游戲編程開發(fā),北京,科學(xué)出版社

第二篇:VB課程設(shè)計報告

Visual Basic課程設(shè)計報告

題目1: 難度: *** 題目2: 難度: 指導(dǎo)教師:

姓 名:

學(xué) 號:

專 業(yè):

班 級:

學(xué) 院:

日 期:

目錄

1、題目簡介.....................................................................................................................................2

2、設(shè)計思路與總體方案.................................................................................................................4

2.1 窗體frm1...........................................................................................................................4 2.2窗體form1..........................................................................................................................6 2.3窗體 frmcssz......................................................................................................................7 2.4 窗體frmlsz......................................................................................................................10 2.5窗體 frmcxtj.....................................................................................................................12 2.6 標準模塊..........................................................................................................................17

3、設(shè)計過程遇到的主要問題及解決方法...................................................................................18

4、設(shè)計中尚存的不足分析...........................................................................................................18

5、心得體會...................................................................................................................................18

6、參考文獻...................................................................................................................................19

1、題目簡介

(簡要說明課程設(shè)計所設(shè)計的程序的主要功能。)

本題目旨在設(shè)計與一個可對個人日常手入和消費帳目進行管理和查詢統(tǒng)計的程序,通過此程序的設(shè)計,可以加深我們對上學(xué)期的vb基礎(chǔ)知識的印象,使理論升華為實際操作,同時也有助于我們培養(yǎng)理財意識,用電子記錄的形式取代從前的手寫記錄,使得信息更加精準,不易丟失。

題目的難度系數(shù)相對不高,但牽涉到眾多的知識點作為典型的多模塊設(shè)計類型的題目,本程序由五個窗體模塊frm1,form1,frmcssz,frmcxtj,frmlsz和一個標準模塊共同構(gòu)成。此外根據(jù)課本121頁要求,另有三個文本文件inputtype.txt,outputtype.txt和balance.txt分別用于保存收入類型,支出類型和收入支出帳目。本程序的密碼按照題目要求保存在了Balance.pas中,并自行設(shè)計加密處理。我的筆記本打不開這個文件,即便打開看到的也不再是密碼本身。這點盡管在這個程序中用處不是太大,但為我們保存重要文件提供了一種思路。

程序要求實現(xiàn)如下功能(主要根據(jù)窗口由易到難的順序來)。

如圖1所示,frm1是啟動窗體。有密碼的設(shè)定和破譯,開始時必須先輸入密碼。每次錯誤后會彈出對話框給予提示,連續(xù)累計三次則程序自動退出初始密碼為空,直接單擊即可進入。

圖1.程序主界面

2.輸入密碼后則進入主界面,它是連接所有窗口的平臺。

3.單擊“參數(shù)設(shè)置”按鈕進入“參數(shù)設(shè)置”窗口。窗口的三個選項卡是通過SSTab或Tabstrip控件來制作。這些陌生的外部空間對于我通過安裝了vb企

業(yè)版方才得到(詳見課本6-7頁兩者對比),因為ssTab控件相對來說簡單,所以在這個程序的中我完全采用了SSTab控件。

4.收入類別和支出類別的選項卡分別需要實現(xiàn)對兩者的添加,刪除,修改,返回操作,更為重要的是要保存在文件中,以備在流水帳和查詢統(tǒng)計的combobox中使用。

開始時,“添加”和“返回”按鈕可用,而其余兩個被置灰,而且文本框不可輸入。因為此時列表框的條目未被選中,所以修改和刪除已失去意義,不可用?!疤砑印卑粹o比較繁瑣,其本身可以被“確定”按鈕替代功能。本程序中,按下添加按鈕,則此時文本框被清空可編輯,而對比來說,按下修改按鈕文本框不清空且可編輯。

圖2.輸入錯誤的密碼時的提示 通過“密碼修改”選項卡修改密碼,如果兩次輸入不一致或者輸入有誤(圖2和3)則會提醒用戶。此外,我把其設(shè)為了在保存時也 會提醒,有助于我們記憶。右上角的返回按鈕可以隨時返回主界面上。

6.單擊主界面上的“日常流水帳”進入日常收支原始資料的主要輸入窗口。該窗口主要由“收入記賬”和“支出記賬”兩大部分組成。我設(shè)置了進入窗體時列表框為空,以便于對剛輸入的情況一目了然。

這里面就涉及到了另一種新的控件,DTPicker控件的問題,這個控件使用起來極為方便,單擊即可彈出日期選擇框,且默認當天時間,簡明易懂。其中的列表框中的項目為參數(shù)設(shè)置所得,只需從中選擇即可。

需要我們添加新的收支信息時,我設(shè)定了備注為可有可無的輸入項但其他三個空如果有一個未填則會在單擊保存后彈出msgbox提示,否則則會在底部的列表框中每行顯示一個完整項,并且把信息存儲到balance.txt中用于接下來的步驟。單擊取消按鈕則可以清空各個文本框中的內(nèi)容以便于重新輸入。添加完畢后單擊右上角的返回按鈕則回到主界面。本程序的重點和難點原先粗步估計集中在查詢統(tǒng)計這一窗體模塊中,所以采用了由易到難的策略。該窗體由三個選項卡組成,既可以選擇按類型查詢從而

了解單獨的情況,也可以采用時間段的模式,從而宏觀大體的知道某個時間內(nèi)的情況。設(shè)定這兩種模式時需要通過單選框的改變來結(jié)合visible屬性。實際并非沒有想象中的困難,但是,因為框架控件的問題,我在這里還是繞了歧路最終放棄了控件數(shù)組,原本代碼可能會更簡明些。

收入支出對比一項用于顯示某段時間內(nèi)總收入和總支出的量化對比,在輸入時間段后按確定按鈕即可顯示。返回按鈕同上述情況。

8.程序中我設(shè)置了一個標準模塊,主要用于自定義數(shù)據(jù)類型中的使用。借用其配合,可使程序顯得更簡潔些。

2、設(shè)計思路與總體方案

(說明用到哪些控件并進行難點分析,說明所使用到的模塊、過程、變量、數(shù)組、自定義數(shù)據(jù)類型及其相互關(guān)系,必要時給出系統(tǒng)結(jié)構(gòu)圖等圖表。

對如下事項逐步進行必要的分析、說明:

? 程序設(shè)計的主要思想,程序功能是如何實現(xiàn)的?

? 設(shè)計了幾個程序模塊(有幾個窗體模塊、幾個標準模塊),各個功能模塊的作者及想到之間的關(guān)系(模塊間是如何傳遞信息和數(shù)據(jù)的,采用什么方式,為什么?)?

? 程序中定義了哪些主要的變量(分別定義了哪些過程級變量?模塊級變量和全局變量),這些變量起什么作用?是否全局變量? 這里不需要給出大段的源程序,只需要給出關(guān)鍵的實現(xiàn)代碼即可。)

2.1 窗體frm1 這是啟動窗體,僅使用了兩個標簽和一個文本框及兩個按鈕,但是要考慮的地方卻有很多。下面我配合圖和文字講述下加密的過程,及對于輸入字符時的對話框,還有累計三次時將自動退出的設(shè)置。此處只有三個通用過程,分別為CmdCancel_Click,Cmdok_Click,txtpassword_KeyPress,難點集中在后兩者上,其中txtpassword_KeyPress在后面也會用到;

Private Sub CmdCancel_Click()Unload Me End Sub

Private Sub Cmdok_Click()'自行設(shè)計的簡易解密過程 Dim int1 As String Dim a As Long: Static b As Integer: Dim i As Integer If txtpassword.Text = “" Then Form1.Show '使用靜態(tài)變量三次來累計 frm1.Hide Exit Sub End If int1 = txtpassword.Text Open App.Path & ”balance.pas“ For Input As 1 Input #1, a Close 1 Do While i <= Len(CStr(np))And i >= 1 a = a1)

Next j

Next i

Close End Sub

下述一段代碼為讀入列表框時所使用。僅有一字符串變量來實現(xiàn) Private Sub Form_Load()

Dim str1 As String Open App.Path & ”O(jiān)utputType.txt“ For Input As #2

Do While Not EOF(2)

Input #2, str1

List1(1).AddItem str1'讀文件進入列表框

Loop

Open App.Path & ”InputType.txt“ For Input As #1

Do While Not EOF(1)

Input #1, str1

List1(0).AddItem str1

Loop

Close End Sub

Private Sub Cancel_Click()np.Text = ”“: np2.Text = ”“

'取消密碼輸入 End Sub

Private Sub cmdfh_Click(Index As Integer)'返回按鈕 Unload frmcssz Form1.Show End Sub

Private Sub Cmdqx_Click(Index As Integer)'取消按鈕 Dim m As Integer m = Index Text1(m).Text = ”“ End Sub

Private Sub Cmdsc_Click(Index As Integer)'刪除按鈕

Dim j As Integer: j = Index List1(j).RemoveItem List1(j).ListIndex Text1(j).Text = ”“ End Sub

Private Sub Cmdtj_Click(Index As Integer)'添加按鈕 Dim m As Integer

m = Index Text1(m).SetFocus Text1(m).Locked = False Text1(m).Text = ”“ End Sub

Private Sub List1_Click(Index As Integer)

Dim j As Integer

'點擊列表框?qū)崿F(xiàn)兩鍵的去灰

j = Index

Cmdxg(j).Enabled = True

Cmdsc(j).Enabled = True

Text1(j).Text = List1(j).Text End Sub

Private Sub Cmdxg_Click(Index As Integer)

'修改按鈕。修改鍵解除文本框鎖定

Dim j As Integer

j = Index

Text1(j).Locked = False

Text1(j).SetFocus End Sub

Private Sub Cmdqd_Click(Index As Integer)

Dim int1 As Integer, k As Integer

'確定按鈕。對欄目的添加, 修改

k = Index

If List1(k).SelCount = 0 Then

List1(k).AddItem Text1(k).Text

Else

int1 = List1(k).ListIndex

List1(k).List(int1)= Text1(k).Text

End If

Text1(k).Text = ”“: Text1(k).Locked = True

Cmdxg(k).Enabled = False: Cmdsc(k).Enabled = False

Cmdtj(k).SetFocus End Sub 后面一段當時看來顯得很費精力,因為需要自行設(shè)定加密方法 Private Sub sure_click()

Dim i As Integer, password As Long i = 1

If np.Text <> np2.Text Then

MsgBox ”兩次密碼不一樣(~。~)/,請重新輸入“, 48, ”提示“

ElseIf Len(Trim(np))> 8 Then

MsgBox ”請保證密碼不超過8位“, 48

MsgBox ”密碼已修改,a請記住您的密碼哦!“, 64, ”溫馨提示“

End If Do While i <= Len(np.Text)And i >= 1 np = np + Asc(Mid(np.Text, i, 1))

Loop Open App.Path & ”Balance.pas“ For Output As #1

'設(shè)置密碼

Write #1, np

Close #1

End Sub

Private Sub np_KeyPress(KeyAscii As Integer)

If KeyAscii < 48 Or KeyAscii > 57 Then

KeyAscii = 0

'密碼含非數(shù)字字符,則顯示錯誤

MsgBox ”密碼應(yīng)當為數(shù)字,請重新輸入“, , ”提示“

End If

Else

'兩次輸入一樣就加密并保存到文件

2.4 窗體frmlsz 窗體frmlsz供用戶輸入每日的收支帳目,即收支類型、收支時間、金額和備注。每次加載窗體frmlsz時從Inputtype.txt讀出收入類型,從Outputtype.txt讀出支出類型給combo控件初始化,便于用戶選擇相應(yīng)的類型輸入日常流水賬。為實現(xiàn)數(shù)據(jù)逐條讀寫采用do loop循環(huán) EOF()文件函數(shù)和

input語句。利用If語句判斷data的int1取值,確定數(shù)據(jù)是收入還是支出,這是一種較為簡便的方式,在后面的數(shù)據(jù)查詢中有很大的發(fā)揮空間

Frmlsz在主界面中的default屬性被我改成了true。其結(jié)構(gòu)簡單,但設(shè)計上還是需要注意些問題,比方說就看下面一段代碼,我們有時候確實有必要在細節(jié)上較真

Private Sub Cmdbc_Click(Index As Integer)Dim j As Integer: j = Index Dim str1 As String If Coblb(j).Text = ”“ Or txtje(j).Text = ”“ Then '輸入信息

MsgBox ”請輸入完整 >o<“, , ”嘿嘿,注意“ Exit Sub Else str1 = DTPicker1(j).Value & Space(4)& Coblb(j).Text & Space(9)& txtje(j)& Space(12)& txtbz(j)Call List1(j).AddItem(str1)End If Dim newdata As data newdata.int1 = j newdata.time1=DTPicker1(j).Value newdata.moneytype= Coblb(j).Text '收集信息并保存到文件 newdata.money = Str(Val(txtje(j).Text))newdata.addition = txtbz(j).Text Open App.Path & ”Balance.txt“ For Append As #1 Write #1, newdata.int1, newdata.time1, newdata.moneytype, newdata.money, newdata.addition Close #1 End Sub

Private Sub cmdfh_Click(Index As Integer)'返回 Unload Frmlsz Form1.Show End Sub

Private Sub Cmdqk_Click(Index As Integer)'清空按鈕 Dim j As Integer: j = Index Coblb(j).Text = ”“: txtje(j).Text = ”“: txtbz(j).Text = ”“ End Sub 這段代碼基本上在所有類似的情況中都大同小異

Private Sub Form_Load()'讀取信息 Dim str1 As String Open App.Path & ”O(jiān)utputType.txt“ For Input As #2 Do While Not EOF(2)Input #2, str1 Coblb(1).AddItem str1 Loop Open App.Path & ”InputType.txt“ For Input As #1 Do While Not EOF(1)Input #1, str1 Coblb(0).AddItem str1 Loop Close End Sub 2.5窗體 frmcxtj 窗體frmcxtj算是對于上述窗體的綜合應(yīng)用。在數(shù)組的基礎(chǔ)上同時也涉及到了自定義變量類型,利用其尋找到時間或類別上符合要求的項,通過EOF語句不斷賦值,再通過do loop循環(huán)得到。兩組單選框的value值改變而轉(zhuǎn)化frame的visible屬性,這是大致的思路框架。具體落實到代碼的編寫上,比方尋找時間段是通過與dtpicker的value值比較

Private Sub Cmd3_Click()Dim newdata As data, i As Integer ‘此句為收入支出對比一欄上給兩個文本框計算的過程 Dim amount As Long, money1 As Long, money2 As Integer Lbldb.Caption = ”從“ & Space(3)& DTPicker5.Value & Space(2)& ”到“ & Space(2)& DTPicker6.Value & Space(2)& ”期間“ ‘標簽

Open App.Path & ”Balance.txt“ For Input As #1 Do While Not EOF(1)Input #1, newdata.int1 Input #1, newdata.time1 Input #1, newdata.moneytype Input #1, newdata.money Input #1, newdata.addition If(newdata.time1 >=(DTPicker5.Value))And(newdata.time1 <=(DTPicker6.Value))And newdata.int1 = 0 Then money1 = money1 + newdata.money End If If(newdata.time1 >=(DTPicker5.Value))And(newdata.time1 <=(DTPicker6.Value))And newdata.int1 = 1 Then money2 = money2 + newdata.money End If Loop Text1.Text = money1 Text2.Text = money2 Close Text1.Locked = True Text2.Locked = True End Sub

Private Sub Cmd1_Click()’第一個確定按鈕

List1.Clear ' Dim newdata As data, i As Integer Dim amount As Long, money As Long amount = 0 Open App.Path & ”Balance.txt“ For Input As #1 '當選擇收入類型查詢時

If Option2.Value = True Then Do While Not EOF(1)Input #1, newdata.int1

Input #1, newdata.time1 Input #1, newdata.moneytype Input #1, newdata.money Input #1, newdata.addition If(newdata.time1 >=(DTPicker9.Value))And(newdata.time1 <=(DTPicker10.Value))And newdata.moneytype = Combo1.Text Then List1.AddItem newdata.time1 & Space(5)& newdata.moneytype & Space(5)& CStr(newdata.money)& Space(5)& newdata.addition money = newdata.money End If amount = amount + money Loop Labelsr.Caption = ”從“ & DTPicker9.Value & ”到 “ & DTPicker10.Value & ” 共收入“ & amount & ”元“ Else Input #1, newdata.int1 '當選擇按時間查收入時 Input #1, newdata.time1 Input #1, newdata.moneytype Input #1, newdata.money Input #1, newdata.addition If(newdata.time1 >=(DTPicker7.Value))And(newdata.time1 <=(DTPicker8.Value))And newdata.int1 = 0 Then List1.AddItem newdata.time1 & Space(5)& newdata.moneytype & Space(5)& CStr(newdata.money)& Space(5)& newdata.addition money = newdata.money End If amount = amount + money Loop Labelsr.Caption = ”從“ & DTPicker7.Value & ”到 “ & DTPicker8.Value & ” 共收入“ & amount & ”元“ End If Close End Sub Do While Not EOF(1)

Private Sub Cmd2_Click()第二個確定按鈕 List2.Clear Dim newdata As data, i As Integer Dim amount As Long, money As Long amount = 0

Open App.Path & ”Balance.txt“ For Input As #2 '當選擇支出類型查詢時 If Option4.Value = True Then Do While Not EOF(2)Input #2, newdata.int1 Input #2, newdata.time1 Input #2, newdata.moneytype Input #2, newdata.money Input #2, newdata.addition

If(newdata.time1 >=(DTPicker3.Value))And(newdata.time1 <=(DTPicker4.Value))And newdata.moneytype = Combo2.Text Then '當選擇按時間查支出時 List2.AddItem newdata.time1 & Space(5)& newdata.moneytype & Space(5)& CStr(newdata.money)& Space(5)& newdata.addition money = newdata.money End If amount = amount + money Loop Labelzc.Caption = ”從“ & DTPicker3.Value & ”到 “ & DTPicker4.Value & ” 共支出“ & amount & ”元“ Else Do While Not EOF(2)Input #2, newdata.int1 Input #2, newdata.time1 Input #2, newdata.moneytype Input #2, newdata.money Input #2, newdata.addition

If(newdata.time1 >=(DTPicker1.Value))And newdata.time1 <=(DTPicker2.Value))And newdata.int1 = 1 Then List2.AddItem newdata.time1 & Space(5)& newdata.moneytype & Space(5)& CStr(newdata.money)& Space(5)& newdata.addition money = newdata.money End If amount = amount + money Loop Labelzc.Caption = ”從“ & DTPicker1.Value & ”到 “ & DTPicker2.Value & ” 共支出“ & amount & ”元“ End If Close End Sub

Private Sub Command1_Click(Index As Integer)'返回 Unload Me Form1.Show End Sub

Private Sub Form_Load()'讀取信息 Dim str1 As String Open App.Path & ”O(jiān)utputType.txt“ For Input As #2 Do While Not EOF(2)Input #2, str1 Combo2.AddItem str1 Loop Open App.Path & ”InputType.txt" For Input As #1 Do While Not EOF(1)Input #1, str1 Combo1.AddItem str1 Loop Close End Sub Private Sub Option1_Click()'以下為單選框的四類情況

Frame2.Visible = False Frame1.Visible = True End Sub

Private Sub Option2_Click()Frame2.Visible = True Frame1.Visible = False End Sub

Private Sub Option3_Click()Frame3.Visible = True Frame4.Visible = False End Sub

Private Sub Option4_Click()Frame3.Visible = False Frame4.Visible = True End Sub 2.6 標準模塊

標準模塊中我設(shè)立了自定義類型的變量用來聲明自定義數(shù)據(jù)類型 data,它有5個元素,其中int1為難點和重點。其值可用于區(qū)分收入和支出的性質(zhì),在frmcxj中顯得尤為重要,另外我就是剛才犯了個錯誤,time 是關(guān)鍵字,在編寫程序時一直出現(xiàn)了溢出的錯誤,幸好及時得到了改正,np,np2用來存放密碼,密碼的設(shè)立主要是通過把每個數(shù)字的ascii碼求出然后求和的過程,用到了Mid(),Asc(),Len()函數(shù)和For循環(huán)。

Public np As Integer, np2 As Integer Public Type data int1 As Integer time1 As Date moneytype As String money As Long addition As String End Type

3、設(shè)計過程遇到的主要問題及解決方法

3.1作為編程者的角度看,需要的是考慮用戶的感受。當我調(diào)試程序后,遇到過當輸入的數(shù)據(jù)類型與設(shè)置的變量類型不統(tǒng)一時,會出現(xiàn)許多錯誤,為避免如此,必須添加顯式轉(zhuǎn)換語句避免錯誤

3.2在參數(shù)設(shè)置的模塊中,我當時在其load的事件中編完了列表框的ADDItem的方法,也檢查代碼,沒有任何問題,但是該窗體就是無法顯示出列表框的條目來。后來把把原先的frmcssz_load改成了form_load情況當即就解決了。至今我也沒曾想通

3.3 在自定義數(shù)據(jù)類型中原先有一項我命名其為time,但是我在數(shù)據(jù)查詢之中就遇到了麻煩。定義錯誤,文件超出。我于是將其名稱改去,代碼便可順利運行

4、設(shè)計中尚存的不足分析

4.1如圖可見,這一段本可使用控件數(shù)組大大簡化這后面過程。一開始我也確實是如此設(shè)計。我的失策主要由于當時建立的全部為控件數(shù)組的形式包括了框架,當兩個框架重疊之后其中一個被另一個完全包進去了,所以我無論怎么設(shè)option.value都得不到想要的情況。后來便放棄了這一想法,采用了一般的步驟而變得更為費時費力,可以看到查詢統(tǒng)計模塊下的代碼特別冗長

4.2 在參數(shù)設(shè)置模塊中,當點擊添加之后雖然清空了文本框,但若是列表框依然有條目被選,則再輸入其實變成了另一形式的修改。我希望接下來的時間可以去完善一下一些細節(jié)方面,有些是已經(jīng)考慮到的,有些只有時間久些才會慢慢感覺到

4.3 密碼的設(shè)置上目前情況不是太理想,有待考慮新的算法提高某些文件的保密度

5、心得體會

這個程序從難度上講只有三顆星而已,但我想說我確實摸索了很久,從界面的制作排版到代碼的編寫。由于計算機編程知識當初只學(xué)了些皮毛,很多次我在 18 編程時不斷調(diào)試卻依然出現(xiàn)這樣那樣的毛病,可能是無意中拼寫錯誤,但有些確實是因為不了解vb的某些較為冷僻的用法所致。這段時間,常會向同學(xué)請教,也自覺地去借了些書看看,基本上完成了要求,但是功能、界面都還不是很完善,我會借助以后的時間繼續(xù)去加工的,我需要的是學(xué)以致用。

我體會到了編寫程序是個有條理的邏輯過程,首先必須有個大致的思路,整體的規(guī)劃出來。然后再是分步地去具體完成,尤為重要的是需要投入相當一部分精力去精益求精,這樣你的成果才不會是毛糙的。思維調(diào)動是件另人愉快的事情,而我們應(yīng)該去學(xué)會享受腦力勞動的過程,哪怕是一次次地失利。這就是一個月的課程設(shè)計所教會我的。

6、參考文獻

[1].王棟,visual basic課程設(shè)計,北京,清華大學(xué)出版社 [2].王棟,visual basic程序設(shè)計實用教程,北京,清華大學(xué)出版社 [3].蘭友,vb應(yīng)用程序設(shè)計,北京,交通大學(xué)出版社

[4].董愛紅等,二級visual basic語言程序設(shè)計,北京:機械工業(yè)出版社,2005

第三篇:2014 vb課程設(shè)計報告

Visual Basic

課 程 設(shè) 計 報 告

所屬課程名稱:Visual Basic程序設(shè)計 課程設(shè)計題號:

課程設(shè)計題目:

課程設(shè)計難度:?星

課程設(shè)計時間:2014.2.23 ~ 4.9 學(xué)號:

姓名:

自評成績:

二〇一四年三月

一、程序功能

簡敘題目的功能要求,涉及的知識點等。

二、課程設(shè)計的詳細設(shè)計

1、總體設(shè)計思路

介紹程序的設(shè)計思路,給出程序結(jié)構(gòu)框圖。

2、界面設(shè)計

界面構(gòu)成及實現(xiàn)方法。

3、功能模塊設(shè)計

文字介紹程序主要功能的實現(xiàn)算法,盡量給出算法流程圖。

三、設(shè)計中遇到的問題與解決辦法

【問題1】:

【解決辦法】:

【問題2】:

【解決辦法】:

【問題3】:

【解決辦法】:

……

四、更上一層樓

描述增加的新功能、對程序的改進等。

五、課程設(shè)計總結(jié)

列出程序功能未實現(xiàn)之處,程序運行有問題之處。

說明這次課程設(shè)計的感想和心得體會、經(jīng)驗教訓(xùn)等。

六、源程序代碼

源程序代碼要求縮進書寫,強制變量聲明,變量名及對象名等的取名應(yīng)具有描述意義。代碼必須有注釋說明,對每個模塊、函數(shù),要說明其功能、算法等。

第四篇:VB 課程設(shè)計報告 (推薦)

長江大學(xué)工程技術(shù)學(xué)院

機械設(shè)計基礎(chǔ)課程設(shè)計

(2012-2013學(xué)年 第二學(xué)期)

系(部)專業(yè)班級 學(xué)生姓名 學(xué)號/序號 完成時間

機械系 機電專61102班

李航 201162335/14 2013年7月10日 長江大學(xué)工程技術(shù)學(xué)院

VB語言程序設(shè)計課程設(shè)計報告

(2012-2013學(xué)年 第二學(xué)期)

系(部)專業(yè)班級 學(xué)生姓名 學(xué)號/序號 指導(dǎo)教師 完成時間

機械系 機電專61102班

/

張國英(講師)/劉懷海(講師)

2013年6月21日

圖書管理系統(tǒng)一、功能描述

實現(xiàn)對圖書的管理,在后臺使用數(shù)據(jù)記錄操作的數(shù)據(jù),依靠這些數(shù)據(jù)庫的管理系統(tǒng)的管理功能來整理數(shù)據(jù),實現(xiàn)對書籍信息表,書籍歸還表,書籍借出表的集中有序管理,從而達到減輕工作負擔(dān),也減少了借書者的不便

書籍信息表:實現(xiàn)對所有圖書的綜合管理,建立對圖書的圖書編號,作者,出版社,數(shù)量,出版日期,價格的綜合信心

圖書歸還表:對所有借出的情況進行有效的管理,建立歸還的資料,并可對未歸還或歸還的的圖書進行查詢,查詢是否損壞

圖書借出表:能夠?qū)栝唸D書的讀者進行管理。建立讀者信息和讀者類別的信息資料,能夠查詢讀者借出書籍的信息,并可分別按照圖書編號、學(xué)號和圖書名查詢讀者的信息資料

●系統(tǒng)用戶的登錄:實現(xiàn)用戶通過用戶名和密碼進行登錄的功能?!駡D書管理:實現(xiàn)對圖書的添加、查找、刪除和修改的功能?!窳魍ü芾恚簩崿F(xiàn)對圖書的借閱和歸還等功能。●退出系統(tǒng):結(jié)束圖書管理系統(tǒng)。

二、概要設(shè)計

1、系統(tǒng)功能模塊框圖設(shè)計

根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。

程序流程框圖如圖所示:(僅供參考)

圖1 程序流程圖

通過登錄界面進入圖書管理系統(tǒng),進入界面選擇與之相匹配的表格,信息表實現(xiàn)對圖書的總管理,各種圖書信息的分類和匯總,圖書歸還表實現(xiàn)對借出書籍歸還的管理,對歸還的書籍的情況進行總結(jié),圖書借出表對圖書借出者的姓名,借出日期等等進行記錄,以確保圖書的完整,在圖書信息表,圖書歸還表和圖書借出表里的各類命令根據(jù)書籍的所需進行整編和管理

2、數(shù)據(jù)庫設(shè)計

包括數(shù)據(jù)庫的組成說明,數(shù)據(jù)庫中各表的結(jié)構(gòu)說明(包括字段名、字段類型等),可以包含圖片例如下表:

表1 學(xué)生信息表

三、詳細設(shè)計 詳細說明主要窗體的實現(xiàn)過程,包括窗體的設(shè)計圖片及其上所包含的控件名和屬性設(shè)置;

詳細說明主要操作的代碼實現(xiàn)過程,包括過程間的調(diào)用關(guān)系(注:在此給出不完全代碼)。如下所示:

1、賬號登錄

賬號登錄模塊中登錄與注冊兩按鈕,單擊注冊會進入注冊模塊中,單擊登錄會進入系統(tǒng)進行下一步的操作,賬號文本框與數(shù)據(jù)庫相連接,當在賬號文本框輸入賬號后點擊登錄按鈕后,會在數(shù)據(jù)庫中進行查詢看數(shù)據(jù)庫中是否會有該賬號,且該賬號的密碼是否與密碼框中輸入的相同,如果相同會進入系統(tǒng),如果不存在該賬號或密碼與賬號不相匹配,則會提示“賬號或密碼錯誤”,賬號文本框會得到焦點,讓重新輸入。

(1)窗體截圖(如圖2)

圖2 注冊窗體

(2)功能實現(xiàn)

2、學(xué)生信息查詢窗體

圖3 查詢窗體

四、調(diào)試中存在的問題及解決方法

包括調(diào)試過程中遇到的主要問題及采取的解決方法。例如:

1、注冊賬號出現(xiàn)的錯誤

數(shù)據(jù)庫中賬號被設(shè)為主鍵,當注冊時的賬號與數(shù)局庫中的賬號有相同時就會出錯。

2、解決方法:在寫入數(shù)據(jù)庫前先進行查詢數(shù)據(jù)庫

五、心得體會

本人在本次實習(xí)中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統(tǒng)的不足之處,將要改進的思想等。

六、參考文獻

[1] 羅朝盛.Visual Basic 6.0程序設(shè)計教程(第3版).人民郵電出版社,2009年2月

[2] [3]

七、附錄

包括全部源程序清單(程序中應(yīng)有足夠的注釋)。

第五篇:VB 課程設(shè)計

學(xué)生成績管理系統(tǒng)一、功能描述

首先簡單地闡述本人所要實現(xiàn)系統(tǒng)的目的,然后應(yīng)較詳細的敘述本系統(tǒng)所要實現(xiàn)的功能。

************ *******

二、概要設(shè)計

1、系統(tǒng)功能模塊框圖設(shè)計

根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。

程序流程框圖如圖所示:(僅供參考)

圖1 程序流程圖

2、數(shù)據(jù)庫設(shè)計

包括數(shù)據(jù)庫的組成說明,數(shù)據(jù)庫中各表的結(jié)構(gòu)說明(包括字段名、字段類型等),可以包含圖片例如下表:

表1 學(xué)生信息表

三、詳細設(shè)計

詳細說明主要窗體的實現(xiàn)過程,包括窗體的設(shè)計圖片及其上所包含的控件名和屬性設(shè)置;

詳細說明主要操作的代碼實現(xiàn)過程,包括過程間的調(diào)用關(guān)系(注:在此給出不完全代碼)。如下所示:

1、賬號登錄

帳號登錄模塊中登錄與注冊兩按鈕,單擊注冊會進入注冊模塊中,單擊登錄會進入系統(tǒng)進行下一步的操作,帳號文本框與數(shù)據(jù)庫相連接,當在帳號文本框輸入帳號后點擊登錄按鈕后,會在數(shù)據(jù)庫中進行查詢看數(shù)據(jù)庫中是否會有該帳號,且該帳號的密碼是否與密碼框中輸入的相同,如果相同會進入系統(tǒng),如果不存在該賬號或密碼與帳號不相匹配,則會提示“帳號或密碼錯誤”,帳號文本框會得到焦點,讓重新輸入。

(1)窗體截圖(如圖2)

圖2 注冊窗體

(2)功能實現(xiàn)

2、學(xué)生信息查詢窗體

圖3 查詢窗體

四、調(diào)試中存在的問題及解決方法

包括調(diào)試過程中遇到的主要問題及采取的解決方法。例如:

1、注冊賬號出現(xiàn)的錯誤

數(shù)據(jù)庫中帳號被設(shè)為主鍵,當注冊時的帳號與數(shù)局庫中的帳號有相同時就會出錯。

2、解決方法:在寫入數(shù)據(jù)庫前先進行查詢數(shù)據(jù)庫

五、心得體會

本人在本次實習(xí)中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統(tǒng)的不足之處,將要改進的思想等。

六、參考文獻

[1] 羅朝盛.Visual Basic 6.0程序設(shè)計教程(第3版).人民郵電出版社,2009年2月

[2] [3]

七、附錄

包括全部源程序清單(程序中應(yīng)有足夠的注釋)。

下載VB課程設(shè)計報告word格式文檔
下載VB課程設(shè)計報告.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    VB課程設(shè)計

    課程設(shè)計 學(xué) 院 班 級 指導(dǎo)老師 姓 名 學(xué) 號 成 績 2013年1 月 10 日 一.課程設(shè)計題目 學(xué)生管理系統(tǒng) 二.功能描述 按設(shè)定的用戶名密碼進行登錄后,可按需求進行對數(shù)據(jù)庫中......

    vb課程設(shè)計

    Visual Basic課程設(shè)計報告 題目1: 貪吃蛇 難度:**** 題目2: 難度: 指導(dǎo)教師: 姓 名: 學(xué) 號: 專 業(yè): 班 級: 學(xué) 院:日 期: 目錄 1、題目簡介 ............................................

    VB課程設(shè)計報告(大全5篇)

    學(xué)院名稱 學(xué)生姓名 專業(yè)名稱 班級 VB課程設(shè)計報告 ——文本編輯器 計算機學(xué)院計算機科學(xué)與技術(shù) :::: 一、 課程設(shè)計題目 用Visual Basic程序設(shè)計語言編寫一個簡易的文本編輯......

    vb課程設(shè)計心得體會

    2023vb課程設(shè)計心得體會 2023vb課程設(shè)計心得體會1 在課程設(shè)計過程中,雖然我對程序設(shè)計不是很熟悉,但是通過老師詳細的講解,我按照步驟去做,遇到問題的時候先自己想方法解決,解決......

    VB程序設(shè)計課程設(shè)計

    VB程序設(shè)計課程設(shè)計 1、目的 VB程序設(shè)計課程設(shè)計是考察學(xué)生對VB程序設(shè)計課程相關(guān)知識點掌握情況的重要環(huán)節(jié),也是激勵學(xué)生進一步學(xué)習(xí)VB、提高運用VB開發(fā)實際計算機程序的能力......

    VB課程設(shè)計-文本編輯器

    學(xué)院名稱學(xué)生姓名專業(yè)名稱班級VB課程設(shè)計報告 ——文本編輯器 : : : :一、課程設(shè)計題目 用Visual Basic程序設(shè)計語言編寫一個簡易的文本編輯器 要求:有最基本的文本編輯功能,包括......

    VB課程設(shè)計總結(jié)

    通過幾周對VB的學(xué)習(xí),使我增加了對VB課程的了解. 首先了解到VB的特點,VB是在原來的Basic語言基礎(chǔ)上發(fā)展而來的.Visual指的是可視的圖形用戶界面開發(fā)方法.不需編寫大量代碼去描述界面元素的......

    有關(guān)VB課程設(shè)計心得體會

    VB課程是計算機科學(xué)與技術(shù)本科專業(yè)的專業(yè)骨干課。本課程主要通過VB論述了面向?qū)ο蟪绦蛟O(shè)計和組建編程的機理,以下是小編整理的有關(guān)課程設(shè)計心得體會范文,歡迎閱讀。有關(guān)VB課程......

主站蜘蛛池模板: 中文字幕+乱码+中文字幕一区| 好了av四色综合无码| 少妇人妻无码精品视频app| 国产精品青青草原免费无码| 2021年精品国产福利在线| 国产精品久久久亚洲| 无码超级大爆乳在线播放| 国产v综合v亚洲欧| 中文字幕久精品免费视频| 国产毛片欧美毛片久久久| 色一乱一伦一图一区二区精品| 欧洲av无码放荡人妇网站| 男女后式激烈动态图片| 九九视频在线观看视频6| 亚洲一区二区女搞男| 欧美黑人巨大videos精品| 亚洲人成网77777色在线播放| 美女mm131爽爽爽| 99香蕉国产精品偷在线观看| 亚洲欧洲成人精品av97| 业余 自由 性别 成熟视频 视频| 大学生被内谢粉嫩无套| 国产亚洲精品aaaaaaa片| 女人大荫蒂毛茸茸视频| 国模小黎大尺度精品(02)[82p]| 国产精品爽爽va在线观看无码| 免费无码肉片在线观看| 亚洲大成色www永久网站注册| 国产女精品视频网站免费| 亚洲熟妇自偷自拍另欧美| 国产精品日本亚洲欧美| 久久久久黑人强伦姧人妻| 日日碰狠狠添天天爽超碰97| 成人国产片视频在线观看| 国产高清亚洲精品视bt天堂频| 国产成人无码一区二区三区在线| 国产av新搬来的白领女邻居| 亚洲精品无码永久在线观看性色| 亚洲制服丝袜av一区二区三区| 强 暴 疼 哭 处 女 身子视频| 另类亚洲小说图片综合区|