vb编程案例
㈠ VB中的CASE语句
在VB.NET中VB.NET CASE语句就是比较常用的一种,下面是详细的介绍和代码的演示:
1、可以用 Select...Case 语句来替换 If...Then...Else 语句,所不同的是If 和 ElseIf 语句可在每个语句中计算不同的表达式,而 Select 语句对单个表达式只计算一次,然后将其和不同的值比较。
Functionbonus(ByValperformanceAsInteger,_ByValsalaryAsDecimal)AsDecimal
Selectperformance
Case1
Returnsalary*0.1
Case2
Returnsalary*0.3
Case瞎悔3
Returnsalary*0.7
Case4
Returnsalary*0.9
Case5
Returnsalary*1.2
EndSelect
EndFunction
2、VB.NET Case语句可包含多个值和某个范围的值,代码案例如下:
Functionbonus(ByValperformanceAsInteger,_ByValsalaryAsDecimal)AsDecimal帆神厅
Selectperformance
Case1
Returnsalary*0.1
Case2,3
Returnsalary*0.3
Case3To7
Returnsalary*0.7
Case8To9态隐
Returnsalary*0.9
CaseIs<=15
Returnsalary*1.2
CaseElse
Return0
EndSelect
EndFunction
㈡ VB Dictionary 填充数据的方法
VB编程中用Dictionary填充数据的方法,简单的代丛孙码案例如下:
PrivateSubCommand1_Click()
DimTblMap_Card'创建一个变歼敏量渗改链
SetTblMap_Card=CreateObject(Scripting.Dictionary)
TblMap_Card.Add"Table","Cards"'前面是Key后面是Value
TblMap_Card.Add"Serial","serialno"
TblMap_Card.Add"Number","surface"
MsgBoxTblMap_Card.Item("Table")
EndSub
㈢ 《VB多分支选择结构的运用》教学案例|教育教学案例分析100例
本课是教育科学出版社普通高中课程标准实验教科书《算法与程序设计(选修)》第二章的部分内容。本节内容是在学生初步了解了VB的编程环境、VB中的数据类型、变量的使用以及If单分支与双分支结构的基础上,进一步向学生展示VB多分支选择结构的使用。
在信息技术课程教学中,培养学生信息素养,或者说信息能力,在全国、省、市信息技术优质课评选中存在两种意见:一种是课堂教学中应注重学生技术、技能培养,教学过程中将指导学生如何操作和使用作为教学核心;另一种是在教学中应着重培养学生处理信息的方法和过程,用探究学习的方式去发现和学习技术,形成技能。本案例就是在“引领学生思维,培养分析、解决问题能力,通过思维促进技能”教学理念指导下的设计,并进行了教学反思。
一、学生分析
本课教学对象是高一学生,他们第一次接触程序设计。通过前面的学习,学生已基本掌握单分支和双分支选择结构,能够编写简单的选择结构程序。
二、教学目标
知识与技能:能理解选择结构中单分支和双分支选择结构执行过程,并用其解决实际问题;能理解多分支选择结构,并能用If多分支语句和Select Case多分支语句解决实际问题;能理解Image控件的picture属性和List控件的text属性;能熟练编写、修改、运行程序。
过程与方法:睁滚能掌握两种多分支结构语句的基本格式;能掌握选择结构中条件的表达方法;能灵活运用多分支语句编写程序解决实际问题。
情感、态度与价值观:通过任务驱动,逐步深化对知识的理解,提高分析问题、解决问题的能力。
三、教学重、难点
教学重点:能正确选择If的单分支、双分支以及If和Select Case多分支语句解决实际问题。
教学难点:能正确理解选择结构的执行过程,能对程序设计有整体的理解。
四、教学过程
(一)创设情境 整体感知
1.实例演示,了解程序流程。
小明爸爸的生日快到了,小明想用平时节省下来的800元钱给爸爸买生日礼物,请同学们设计一个“爱心礼物”的小程序,让爸爸挑选喜欢的上衣、裤子和鞋子共三件礼物且不超出800块钱预算。教师展示如图1所示的程序。
2.学生操作程序,教师布置任务。
(1)口述程序流程。
(2)用程序流程图画出程序模块结构。
3.师生共同交流探讨,完成程序流程图(略)。
设计意图:用实际操作“爱心礼物”程序创设情境,激发学生兴趣;通过叙述操作过程、绘制程序流程图,引导学生对程序进行整体把握,养成学生整体构建、整体分析能力,为后面任务生成奠定基础。
(二)分析流程 明确任务
1.分析程序流程,学生讨论思考:我们完成本程序设计,需要解决哪些问悉举余题?
2.学生讨论,教师梳理,列出如下任务:
(1)图片载入。
(2)双分支,多分支选择。
(3)价格核算。
3.联系旧知,解析任务。
(1)图片载入――学生阅读教师提供的Image控件图片载入方法参考资料。
(2)双分支――选择上衣,价格核算,回顾前面所学习的If语句。
(3)多分支――选择裤子和鞋子。教师提示可用多个单分支语句叠加。
本环节,教师集中解决基础问题――图片载入,为后面多分支探究扫除障碍。
设计意图:从事物表象抓住本源,需要学生在分析问题时有整体意识,需要学生将零散问题进行归类。本环节旨在培养学生分析问题的能力,一是整体把握分层(程序模块)思考,二是结合已有知识对问题进行梳理,三是培养学生程序设计的策划能力。
(三)小组合作 自主探究
1.三人一组,选择“双分支”、“多分支”、“价格核算”之一进行合作探究。要求如下:
(1)根据流程图写出程序。
(2)上机操答枯作调试。
(3)把程序要点及问题做好记录,以备交流汇报使用。
2.交流汇报,资源共享。
(1)双分支交流。
请选择上衣的小组做交流,并利用广播系统展示其程序。
(2)多分支交流。
预设一:学生展示未完成的程序。
学生说出自己的问题与困惑;教师帮助分析,找出原因,修改完善,并调试运用。
预设二:学生展示已经完成的程序,教师将双分支和单分支语句解决多分支程序进行列举比较。
(3)核算交流。
学生思考:如何让程序知道你选择了多少钱的上衣、裤子和鞋子?用变量保存价格的时候应该放在程序的什么地方?整个礼物选择结果的判断应在什么地方完成?
小结:利用单分支以及多个单分支解决问题。
设计意图:知识的实际运用体现学生解决问题的基本能力,知识的迁移则体现学生对新旧知识的重组与构建。本环节倡导学生通过合作探究,充分运用已有知识解决现实中的问题,并通过提供相关资料,创设实际运用平台,搭建新旧知识互通的桥梁,让学生探索发现新知及其实际运用。
(四)师生探究 构建新知
学生通过多个单分支语句解决多分支问题,除了这种方法,是否还有新的发现?
教师引用学生新发现,或者直接引出“多分支结构”,并思考:
1.对比图2、图3,分析新的“多分支结构”与刚才“单分支解决多分支”有什么不同?
教师用单步调试的方法,让学生分析两者之间在执行过程中的不同,找到If多分支语句的优势所在,并引导学生观察、分析If多分支语句的基本结构。学生归纳总结两种结构执行过程的差异,师生共同总结出If多分支结构。
2.引导学生熟悉新内容,完成整个程序的设计,并调试运行。
设计意图:程序算法的优越性,需要在实际运用中才能获得直接感受,也需要在同一问题不同算法的比较中得到体验。将新的方法与用已有知识解决问题的方法进行比较,进一步让学生清楚两者之间的差别。通过改变满堂灌的方式,采用自主探究学习方式,培养学生自主学习的习惯、意识和能力。
(五)交流总结 拓展延伸
1.运用Select Case语句来完成多分支选择。
指出VB中还有一种多分支语句――Select Case语句,让学生阅读教材中的例子和注释并思考:
(1)在我们这个任务中“Select Case 表达式”中“表达式”和“表达式列表”含义分别是什么?
(2)用Select Case语句实现选择鞋子的程序该怎么写?
学生自主探究,调试程序并运行。
设计意图:用比较、类比的方法,启迪学生创造性思维。通过学生自学教材例子,完成新知识的学习,培养学生举一反三的能力,同时训练自学能力。
2.小结。
(1)多分支选择语句的格式。
(2)多重选择语句的执行过程。
设计意图:归纳梳理知识发现过程,对比所发现新知识的优势所在,让学生体会程序算法的精妙之处。此处师生共同小结,一是知识的获取过程,二是归纳本课知识要点。
(六)学生完成自我评价
课堂自我评价表
1.对于本节的学习课的学习你感到:
A 轻松 B比较轻松 C有点困难
2.对于If 多分支结构和Select Case语句的基本格式你感到:
A完全理解 B理解,但仍有点模糊 C不理解
3.关于表达式与表达式的列表的表示方法,你的理解程度:
A理解 B大概理解 C不理解
4.在完成这节课中的实践与练习时,你:
A能够独立编写代码并通过调试程序正确运行。
B基本上能够编写代码并通过帮助达到程序正确运行。
C编程有点困难,正确率也不是太高。
设计意图:学生自我评价的反馈信息,有助于教师了解教学的实际情况,便于在以后的教学中调整教学方法和教学策略。
(七)课后练习
布置课后作业。
设计意图:由于Select Case语句结构上较If多分支语句更加灵活,鉴于要在一节课内完成两个多分支语句的理解比较困难,所以在处理时进行了侧重,通过课后练习的方式,让学生在课后去思考、消化。
五、教学反思
该案例源于南京师大附中王静老师2010年暑假在武汉做新课程培训时所展示的程序,她的教学理念是“在游戏中学习程序设计”。在讲到这个内容时,用这个例子设计了教学过程。
在“算法与程序设计”这一模块的教学中,我总是担心学生难以接受,总是习惯于帮助学生分析程序中的算法,学生跟着老师安排的任务进行学习,但忽视了自己分析的过程,忽视了知识的建构,学生知其“源”,不知其所以“源”。学生在课堂上学得很不错,但在独立解决其他问题时,仍然不知道如何入手,不知道已有的知识如何运用。可以看出这种教学方法存在很大问题。我们能否让学生像程序员一样工作,让学生通盘熟悉信息处理的全过程,发现一个程序形成的全过程,让学生知识与能力并举。本课教学正是立足于此而展开的。
本案例通过“爱心礼物”程序创设情境,通过叙述操作过程以及绘制程序流程图引导学生对程序进行整体上的把握,培养学生整体分析能力。通过分析流程、明确任务环节,帮助学生从事物表象抓住本源,培养学生分析程序、解析问题的能力。在知识获取过程中,把所需知识演变成学生迫切想解决的问题,并建立新旧知识的联系,让学生通过自主探究、合作学习而完成。整体把握分层(程序模块)思考,结合已有知识对问题进行梳理,培养学生程序设计的策划能力。
当然,在实际教学实施中也遇到了很多问题,通过学生教学反馈信息来看,有一部分学生对于VB程序设计的学习感到困难,这也反映出学生思维上的依赖性,自主探究的动力和习惯还有待提高。当然,教师在进行 教学设计 的过程中应该有更多的预设,通过充分的换位思考,提高教学效果。
(作者单位:湖北黄石市第二中学 湖北黄石市广场路小学)
㈣ 求一个VB中ACCESS数据管理的案例
虽然不是段态蔽ACCESS data 控件 但是 你可以自己修改一下
Option Explicit
'用来存储文件名属性
Dim msFileName As String
'用来代表文件对象或者文件夹对象
Dim mFileDir
Private Sub cmdOK_Click()
Dim nAttr As Integer
nAttr = 0 '属性变量初始化
'根据复选框的值,来决定文件或者闭陪文件夹的属性
If chkNormal.Value = 1 Then nAttr = nAttr + vbNormal
If chkReadOnly.Value = 1 Then nAttr = nAttr + vbReadOnly
If chkHidden.Value = 1 Then nAttr = nAttr + vbHidden
If chkSystem.Value = 1 Then nAttr = nAttr + vbSystem
If chkArchive.Value = 1 Then nAttr = nAttr + vbArchive
'设置文件或者文件夹的属性
mFileDir.Attributes = nAttr
Unload frmAttribute
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Public Property Get FileName() As String
FileName = msFileName
End Property
Public Property Let FileName(ByVal strFile As String)
On Error GoTo errHandler
'给FileName属性赋值
msFileName = strFile
Dim fso As New FileSystemObject
If fso.FolderExists(msFileName) Then
'如果文件名代表的是一个文件夹
Me.Caption = "查看文件夹的属性"
Set mFileDir = fso.GetFolder(msFileName)
ElseIf fso.FileExists(msFileName) Then
'如果文握州件名代表的是一个文件
Me.Caption = "查看文件的属性"
Set mFileDir = fso.GetFile(msFileName)
Else
'如果文件名即不代表文件夹,也不代表文件,则退出窗体
MsgBox "所指定的文件或者文件夹不存在!", vbCritical, "错误"
Unload Me
End If
'读取被选文件的属性
Dim nAttr As Integer
nAttr = mFileDir.Attributes
'对文件属性作出判断,设置对应的属性检查框
chkNormal.Value = IIf((nAttr And vbNormal) > 0, 1, 0)
chkReadOnly.Value = IIf((nAttr And vbReadOnly) > 0, 1, 0)
chkHidden.Value = IIf((nAttr And vbHidden) > 0, 1, 0)
chkSystem.Value = IIf((nAttr And vbSystem) > 0, 1, 0)
chkArchive.Value = IIf((nAttr And vbArchive) > 0, 1, 0)
Exit Property
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Property
form2
Option Explicit
Dim msFileToCopy '所拷贝的文件的名称
Dim msPathToCopy '所拷贝的文件的路径
'声明模块级的FileSystemObject对象
Dim mFSO As New FileSystemObject
Private Sub dirList_Change()
filList.Path = dirList.Path
End Sub
Private Sub drvList_Change()
dirList.Path = drvList.Drive
End Sub
Private Sub cboFilter_Change()
filList.Pattern = cboFilter.Text
End Sub
Private Sub cboFilter_Click()
filList.Pattern = cboFilter.Text
End Sub
Private Sub filList_DblClick()
mnuFileAttribute_Click
End Sub
Private Sub Form_Load()
'添加文件类型
cboFilter.AddItem "*.*"
cboFilter.AddItem "*.doc"
cboFilter.AddItem "*.txt"
'设置在运行时显示在 FileListBox 中的文件类型
filList.Pattern = "*.*"
filList.Archive = True
filList.Hidden = True
filList.System = True
filList.ReadOnly = True
filList.Normal = True
mnuFilePaste.Enabled = False
End Sub
Private Sub mnuDirAttribute_Click()
If dirList.Path = "" Then Exit Sub
Load frmAttribute
frmAttribute.FileName = dirList.Path
frmAttribute.Show 1 '以模式方式显示属性窗体
End Sub
Private Sub mnuDirDel_Click()
On Error GoTo errHandler
If MsgBox("真的要删除文件夹吗?", vbYesNo + vbQuestion, "询问") = vbNo Then Exit Sub
Dim theFolder As Folder
Set theFolder = mFSO.GetFolder(dirList.Path) '取得要删除的文件夹对象
If theFolder.Path = "" Or theFolder.IsRootFolder Then Exit Sub
Dim strParent As String
strParent = theFolder.ParentFolder
theFolder.Delete True '调用Folder对象的Delete方法来强制删除文件夹
dirList.Path = strParent '刷新文件夹列表
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub mnuDirRename_Click()
Dim theFolder As Folder
Set theFolder = mFSO.GetFolder(dirList.Path) '取得Folder对象
If theFolder.Path = "" Or theFolder.IsRootFolder Then Exit Sub
Dim strAfterDir As String
strAfterDir = InputBox("请输入新的名称", "输入名称")
If strAfterDir = "" Then Exit Sub
theFolder.Name = strAfterDir '更改文件夹的名称
dirList.Path = theFolder.Path '刷新文件夹列表
End Sub
Private Sub mnuFileDel_Click()
On Error GoTo errHandler
If filList.FileName = "" Then Exit Sub
'询问是否要删除文件
If MsgBox("真的要删除所选的文件吗?", vbYesNo + vbQuestion, "询问") = vbNo Then Exit Sub
Dim str As String
str = mFSO.BuildPath(filList.Path, filList.FileName)
mFSO.DeleteFile str, True '调用FileSystemObject的DeleteFile方法来删除文件
filList.Refresh '更新文件列表
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "删除文件时,出现下列错误:"
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
Private Sub mnuFileCopy_Click()
'获取所要拷贝的文件名
msFileToCopy = filList.FileName
msPathToCopy = filList.Path
mnuFilePaste.Enabled = (msFileToCopy <> "")
End Sub
Private Sub mnuFilePaste_Click()
On Error GoTo errHandler
'取得源文件的全路径名称
Dim strCopyFrom As String
strCopyFrom = mFSO.BuildPath(msPathToCopy, msFileToCopy)
'取得目标文件的全路径名称
Dim strCopyTo As String
strCopyTo = mFSO.BuildPath(filList.Path, msFileToCopy)
'使用FileSystemObject对象的CopyFile来实现拷贝文件
mFSO.CopyFile strCopyFrom, strCopyTo, False
filList.Refresh '刷新文件列表
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub mnuDirNew_Click()
On Error GoTo errHandler
Dim str As String
str = InputBox("输入所要创建的文件夹的名称!", "新建文件夹", mFSO.GetTempName())
If str = "" Then Exit Sub
str = mFSO.BuildPath(dirList.Path, str)
mFSO.CreateFolder str '创建文件夹
dirList.Path = str '刷新文件夹列表
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "创建文件夹错误"
End Sub
Private Sub mnuFileRename_Click()
On Error GoTo errHandler
If filList.FileName = "" Then Exit Sub
Dim str
str = mFSO.BuildPath(filList.Path, filList.FileName)
Dim theFile As File
Set theFile = mFSO.GetFile(str) '取得File对象
'取得文件名,并改变当前的文件名
str = InputBox("请输入新的名称", "输入名称")
If str = "" Then Exit Sub
theFile.Name = str
filList.Refresh '更新文件列表
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub mnuFileAttribute_Click()
If filList.FileName = "" Then Exit Sub
Load frmAttribute
frmAttribute.FileName = mFSO.BuildPath(filList.Path, filList.FileName)
frmAttribute.Show 1 '以模式方式显示属性窗体
End Sub
不知道是不是你想要的 ,如果不是我再发。
绑定到 MSChart 控件的数据
Microsoft Chart 控件是一个数据绑定控件,允许您以图形方式表示数值数据。不像其他数据绑定控件,Chart 控件不能同 Remote Data 控件一起使用,也不能同 Data 控件一起使用。它可以同 ADO Data Control、ADO Recordset 以及 Data Environment 一起使用。该示例将显示如何打开一个 ADO Recordset,该 ADO Recordset 包含了您想要显示的字段,并且 Chart 控件的 DataSource 属性设置为 Recordset 对象。如果第一个字段包含字符串数据,则该数据将作为 X 轴标签使用。
下面的示例显示了三组数据,先创建一个具有四个字段的 Recordset 对象;第一个字段包含 X 轴的标签,而其他的字段作为系列数据显示。
Option Explicit
' 确保设置一个对 Microsoft ActiveX Data
' Objects 2.0 Library 的引用。
Private rsProcts As New ADODB.Recordset
Private cn As New ADODB.Connection
Private Sub Form_Load()
Dim strQuery As String ' SQL 查询字符串。
' 首先将路径改为到您机器的一个有效路径。
cn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & _
"C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb" ' <-更改该路径。
' 打开连接。
cn.Open
' 创建一个只检索四个字段的查询。
strQuery = "SELECT ProctName, UnitPrice, " & _
"UnitsInStock, UnitsOnOrder FROM Procts WHERE SupplierID = 1"
' 打开记录集。
rsProcts.Open strQuery, cn, adOpenKeyset
' 将 DataSource 设置为该记录集。
With MSChart1
.ShowLegend = True
Set .DataSource = rsProcts
End With
End Sub