VB实验报告教案(4-7)_第1页
VB实验报告教案(4-7)_第2页
VB实验报告教案(4-7)_第3页
VB实验报告教案(4-7)_第4页
VB实验报告教案(4-7)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四:题目:VisualBasic常用控件目的:1、掌握命令按钮、单选钮、检查框、框架常用属性与事件2、掌握滚动条、列表框、组合框、时钟的常用属性与事件日期:1班为10月18日,2班为10月内容:要求界面用铅笔画出来。PrivateSubCommand1_Click()List1.AddItemText1IfOption1ThenList1.AddItem"男"ElseList1.AddItem"女"EndIfList1.AddItemText2List1.AddItemCombo1List1.AddItemCombo2List1.AddItem"爱好:"IfCheck1ThenList1.AddItem"上网"EndIfIfCheck2ThenList1.AddItem"篮球"EndIfIfCheck3ThenList1.AddItem"音乐"EndIfIfCheck4ThenList1.AddItem"交友"EndIfEndSubPrivateSubCommand2_Click()List1.ClearEndSubPrivateSubCommand3_Click()EndEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenText2.SetFocusEndIfEndSubPrivateSubForm_Load()Form1.Caption="电子钟"Form1.BorderStyle=3Timer1.Enabled=TrueTimer2.Enabled=FalseTimer1.Interval=1000Timer2.Interval=1000Label1.Caption=Time()'显示系统时间Label1.Alignment=2Label1.BorderStyle=1Label2.Caption="闹钟时间:"Text1.Text=""EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)'按下回车开始闹钟IfKeyAscii=13ThenTimer2.Enabled=TrueText1.Enabled=FalseEndIfEndSubPrivateSubTimer1_Timer()Label1.Caption=Time()'显示系统时间EndSubPrivateSubTimer2_Timer()StaticiAsIntgerIfLabel1.Caption>=Text1.TextThen'利用静态变量产生背景交替效果Ifi=0ThenLabel1.BackColor=vbRedi=1ElseLabel1.BackColor=vbWhitei=0EndIfEndIfEndSub实验五:题目:对话框、菜单、工具栏和图形程序设计目的:1、掌握菜单的设计方法;学会应用通用对话框控件2、掌握在VisualBasic环境中的绘图方法,显示图片3、对话框、菜单、工具栏和图形程序设计的综合应用日期:1班为11月3日,2内容:要求界面用铅笔画出来。'打开菜单项的单击事件过程PrivateSubmnuOpen_Click()'激活对话框前初始化设置相关属性,激活对话框后将无法在代码中设置其属性CommonDialog1.FileName="*.txt"'初始化文件名CommonDialog1.InitDir="C:\"'初始化路径'设置文件类型列表框内容CommonDialog1.Filter="Word文档|*.doc|文本文件|*.txt|所有文件|*.*"CommonDialog1.FilterIndex=2'设置默认文件类型CommonDialog1.Action=1'激活"打开"对话框txtNotepad.Text=""'清除文本框中原有内容IfCommonDialog1.FileTitle<>""Then'选定文件后执行下列操作DimInputDataAsString'保存文件中每行内容OpenCommonDialog1.FileNameForInputAs#1'打开文件,准备读文件DoWhileNotEOF(1)LineInput#1,InputData'每次读一行'将读出内容连接在文本框已有文本之后并回车换行txtNotepad.Text=txtNotepad.Text+InputData+vbCrLfLoopClose#1EndIfEndSub'"另存为"菜单项的单击事件过程PrivateSubmnuSaveAs_Click()CommonDialog1.FileName="文本1.txt"'设置缺省文件名CommonDialog1.DefaultExt="txt"'设置缺省扩展名CommonDialog1.InitDir="C:\"CommonDialog1.Filter="Word文档|*.doc|文本文件|*.txt|所有文件|*.*"CommonDialog1.FilterIndex=2CommonDialog1.CancelError=True'选取"取消"按钮时出错OnErrorGoToerrCancel'出错跳转至行标签errCancelCommonDialog1.ShowSave'激活"另存为"对话框OpenCommonDialog1.FileNameForOutputAs#1'打开文件,准备写入Print#1,txtNotepad.TextClose#1errCancel:'行标签EndSub'退出菜单项的单击事件过程PrivateSubmnuExit_Click()EndEndSub'以下过程用于判断是否已经选中文本PrivateSubtxtNotepad_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1AndtxtNotepad.SelText<>""Then'松开左键并选中文本mnuCopy.Enabled=True'使"复制"菜单项有效mnuCut.Enabled=True'使"剪切"菜单项有效Else'未选中文本mnuCopy.Enabled=FalsemnuCut.Enabled=FalseEndIfEndSubPrivateSubmnuCopy_Click()'"复制"菜单项的单击事件过程Clipboard.Clear'清除剪贴板中的内容Clipboard.SetTexttxtNotepad.SelText'将选中的文本放到剪贴板中mnuCopy.Enabled=FalsemnuCut.Enabled=FalsemnuPaste.Enabled=TrueEndSubPrivateSubmnuCut_Click()'"剪切"菜单项的单击事件过程Clipboard.ClearClipboard.SetTexttxtNotepad.SelTexttxtNotepad.SelText=""'删除选中的文本mnuCopy.Enabled=FalsemnuCut.Enabled=FalsemnuPaste.Enabled=TrueEndSubPrivateSubmnuPaste_Click()'将剪贴板中的文本插入到文本框焦点处,txtNotepad.SelText=Clipboard.GetTextEndSub'或替换选中的文本'设置对齐方式PrivateSubAlm_Click(IndexAsInteger)txtNotepad.Alignment=IndexEndSubPrivateSubfont_Click()CommonDialog1.FontName="宋体"'Flags为256+1,使用屏幕字体;出现颜色、效果等选项CommonDialog1.Flags=257CommonDialog1.ShowFont'打开"字体"对话框txtNotepad.FontName=CommonDialog1.FontNametxtNotepad.FontSize=CommonDialog1.FontSizetxtNotepad.FontBold=CommonDialog1.FontBoldtxtNotepad.FontItalic=CommonDialog1.FontItalictxtNotepad.FontUnderline=CommonDialog1.FontUnderlinetxtNotepad.FontStrikethru=CommonDialog1.FontStrikethrutxtNotepad.ForeColor=CommonDialog1.ColorEndSubPrivateSubExxxt_Click()EndEndSub实验六:题目:文件处理目的:1、掌握顺序文件、随机文件的操作与访问2、掌握文件系统控件的属性与常用操作日期:1班为11月17日,2内容:要求界面用铅笔画出来。标准模块代码:TypeStudentIdAsString*8NameAsString*10ClassAsString*10SubjectAsString*20Mark(1To3)AsIntegerEndTypePublicStuAsStudentPublicFilenameAsStringPublicRec_noAsIntegerPublicRec_totalAsIntegerPublicRec_longAsInteger窗体代码:OptionExplicitOptionBase1PrivateSubForm_Load()'Load事件过程Filename=App.Path&"\student.dat"'给定文件名便于操作Rec_long=Len(Stu)'给定随机文件记录长度CallFileOpenEndSubPrivateSubFileOpen()'打开学生信息数据文件DimIAsIntegerOpenFilenameForRandomAs1Len=Rec_longRec_long=Len(Stu)'给定随机文件记录长度Rec_total=LOF(1)/Rec_long'初始找开的为全部记录'如为空记录,则清除各文本框的内容IfRec_total=0ThenCallTxtClearExitSubElse'如果有学生信息数据,则显示第一条记录Rec_no=1CallDisplayEndIfEndSubPrivateSubCmdAdd_Click()'添加记录事件过程DimIAsInteger,nmsgAsInteger'以下循环是查找文件中是否有输入的学生记录ForI=1ToRec_totalGet#1,I,StuIfTrim(Stu.Id)=Trim(TxtId.Text)Thennmsg=MsgBox("文件中已有该同学的记录,要显示修改此记录吗?",vbYesNo)Ifnmsg=vbYesThenRec_no=ICallDisplayEndIfExitSubEndIfNextICallGetDataRec_total=Rec_total+1Rec_no=Rec_total'在文件的末尾添加记录Put#1,Rec_no,StuEndSubPrivateSubCmdChange_Click()'修改当前记录事件过程CallGetData'将修改的数据保存到记录变量中Put#1,Rec_no,Stu'修改原记录CallDisplayEndSubPrivateSubcmdDelete_Click()'删除当前记录事件过程DimIAsIntegerDimtempnoAsIntegertempno=Rec_noOpenFilename&".temp"ForRandomAs#2Len=Rec_long'删除选定的记录ForI=1ToRec_totalIfI<>tempnoThenGet#1,I,StuPut#2,,StuEndIfNextICloseKillFilenameNameFilename&".temp"AsFilenameCallFileOpenEndSubPrivateSubcmdBefore_Click()'显示上一条记录事件过程IfRec_no>1ThenRec_no=Rec_no-1ElseMsgBox"现已是首记录!"ExitSubEndIfGet#1,Rec_no,StuCallDisplayEndSubPrivateSubcmdNext_Click()'显示下一记录事件过程DimnmsgAsIntegerIfRec_no<Rec_totalThen'未到打开记录尾时执行该程序Rec_no=Rec_no+1CallDisplay'显示当前记录Elsenmsg=MsgBox("已到最后一记录了!要回到首记录吗?",vbYesNo)Ifnmsg=vbYesThenRec_no=1'回到首记录CallDisplayEndIfEndIfEndSubPrivateSubTxtClear()'清除各文本框中内容子过程DimIAsIntegerWithStuTxtId="":TxtName=""TxtClass="":TxtSubject=""ForI=1To3TxtMark(I)=""NextITxtTotal=""EndWithEndSubPrivateSubDisplay()'显示当前记录子过程DimIAsIntegerGet#1,Rec_no,StuWithStuTxtId=.IdTxtName=.NameTxtClass=.ClassTxtSubject=.SubjectForI=1To3TxtMark(I)=.Mark(I)NextITxtTotal=.Mark(1)+.Mark(2)+.Mark(3)EndWithEndSubPrivateSubGetData()'将在文本框输入的数据存入到记录变量中DimIAsIntegerStu.Id=TxtId.TextStu.Name=TxtName.TextStu.Class=TxtClass.TextStu.Subject=TxtSubject.TextForI=1To3Stu.Mark(I)=Val(TxtMark(I).Text)NextIEndSubPrivateSubTxtMark_LostFocus(IndexAsInteger)IfIndex=3Then'当输入完最后一门课程,则计算并显示意成绩TxtTotal=Val(TxtMark(1))+Val(TxtMark(2))+Val(TxtMark(3))EndIfEndSub实验七:题目:数据库程序设计及综合实例目的:1、掌握数据库的创建;掌握数据控件的一般属性、事件、方法2、学会使用DATA控件和ADO控件对数据库进行访问日期:1班为12月1日,2内容:要求界面用铅笔画出来。'"取消"按钮的单击事件过程PrivateSubcmdCancel_Click()txtID(0).Text=""txtID(1).Text=""EndSub'"确定"按钮的单击事件过程PrivateSubcmdOK_Click()DimsqlAsString,fldAsString,conditionAsString'显示的字段列表fld="学生.学号,学生.姓名,课程.课程名,成绩.成绩"'查询条件condition="学生.学号=成绩.学号and课程.课程号=成绩.课程号"IfoptChoice(0).ValueThencondition=condition+"and学生.学号='"+txtID(0).Text+"'"Elsecondition=condition+"and课程.课程号='"+txtID(1).Text+"'"EndIfsql="select"+fld+"from学生,课程,成绩where"+condition'改变记录源Adodc1.RecordSource=sqlAdodc1.RefreshEndSub'初始化查询窗体PrivateSubForm_Load()Adodc1.Visible=FalseSetDataGrid1.DataSource=Adodc1'绑定操作DataGrid1.AllowUpdate=False'禁止更新EndSub'处理单选按钮的焦点切换PrivateSuboptChoice_Click(IndexAsInteger)txtID(Index).SetFocusEndSub'处理文本框的焦点切换PrivateSubtxtID_GotFocus(IndexAsInteger)optChoice(Index).Value=TrueEndSub'"添加"按钮的单击事件过程PrivateSubcmdAdd_Click()'根据当前按钮的标题进行不同的操作SelectCasecmdAdd.CaptionCase"添加"'向当前选项卡所对应表中添加记录SelectCaseSSTab1.TabCase0datStudent.Recordset.AddNewCase1datCourse.Recordset.AddNewCase2datScore.Recordset.AddNewEndSelect'在添加操作完成前禁止进行其他操作SSTab1.TabEnabled(0)=FalseSSTab1.TabEnabled(1)=FalseSSTab1.TabEnabled(2)=FalsecmdAdd.Caption="确定"cmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalseCase"确定"SelectCaseSSTab1.TabCase0datStudent.UpdateRecordCase1datCourse.UpdateRecordCase2datScore.UpdateRecordEndSelectSSTab1.TabEnabled(0)=TrueSSTab1.TabEnabled(1)=TrueSSTab1.TabEnabled(2)=TruecmdAdd.Caption="添加"cmdEdit.Enabled=TruecmdDel.Enabled=TruecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TrueEndSelectEndSub'"删除"按钮的单击事件过程PrivateSubcmdDel_Click()DimiAsIntegeri=MsgBox("确定要删除此记录?",vbYesNo+vbExclamation+vbDefaultButton1,"编辑")Ifi=vbYesThen'删除当前选项卡所对应表中的记录SelectCaseSSTab1.TabCase0datStudent.Recordset.DeletedatStudent.RefreshCase1datCourse.Recordset.DeletedatCourse.RefreshCase2datScore.Recordset.DeletedatScore.RefreshEndSelectEndIfEndSub'"修改"按钮的单击事件过程PrivateSubcmdEdit_Click()'根据当前按钮的标题进行不同的操作SelectCasecmdEdit.CaptionCase"修改"'修改当前选项卡所对应表中的记录SelectCaseSSTab1.TabCase0datStudent.Recordset.EditCase1datCourse.Recordset.EditCase2datScore.Recordset.EditEndSelect'在修改操作完成前禁止进行其他操作SSTab1.TabEnabled(0)=FalseSSTab1.TabEnabled(1)=FalseSSTab1.TabEnabled(2)=FalsecmdEdit.Caption="确定"cmdAdd.Enabled=FalsecmdDel.Enabled=FalsecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalseCase"确定"SelectCaseSSTab1.TabCase0datStudent.UpdateRecordCase1datCourse.UpdateRecordCase2datScore.UpdateRecordEndSelectSSTab1.TabEnabled(0)=TrueSSTab1.TabEnabled(1)=TrueSSTab1.TabEnabled(2)=TruecmdEdit.Caption="修改"cmdAdd.Enabled=TruecmdDel.Enabled=TruecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TrueEndSelectEndSub'"首记录"按钮的单击事件过程PrivateSubcmdFirst_Click()SelectCaseSSTab1.TabCase0datStudent.Recordset.MoveFirstCase1datCourse.Recordset.MoveFirstCase2datScore.Recordset.MoveFirstEndSelectcmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=TruecmdLast.Enabled=TrueEndSub'"尾记录"按钮的单击事件过程PrivateSubcmdLast_Click()SelectCaseSSTab1.TabCase0datStudent.Recordset.MoveLastCase1datCourse.Recordset.MoveLastCase2datScore.Recordset.MoveLastEndSelectcmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndSub'"下一条"按钮的单击事件过程PrivateSubcmdNext_Click()SelectCaseSSTab1.TabCase0datStudent.Recordset.MoveNextIfdatStudent.Recordset.EOFThendatStudent.Recordset.MoveLastcmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndIfCase1datCourse.Recordset.MoveNextIfdatCourse.Recordset.EOFThendatCourse.Recordset.MoveLastcmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndIfCase2datScore.Recordset.MoveNextIfdatScore.Recordset.EOFThendatScore.Recordset.MoveLastcmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndIfEndSelectEndSub'"上一条"按钮的单击事件过程PrivateSubcmdPrev_Click()SelectCaseSSTab1.TabCase0datStudent.Recordset.MovePreviousIfdatStudent.Recordset.BOFThendatStudent.Recordset.MoveFirstcmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=Tru

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论