Visual+Basic+教程.doc_第1页
Visual+Basic+教程.doc_第2页
Visual+Basic+教程.doc_第3页
Visual+Basic+教程.doc_第4页
Visual+Basic+教程.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

Visual Basic 基础经典教程1 文件的系统控件Private Sub Drive1_Change() Dir1Dir1.Path = Drive1.Drive File1 Dir1End SubPrivate Sub Command1_Click()Dim SelectFile As StringIf RinghtFile1.Path, 1 “” ThenSelectFile = File1.Path & “” & File1.filenameElseSelectFile = File1.Path & File1.filenameEnd IfMsgBox “你选择了文件” & SelectFile 显示被选择的文件全名End Sub2 文件访问(1) 顺序文件 写: AppendOpen “C:TESTFILE.TXT” For Output As #1Print #1, “Visual”, “Basic” 分写两打印区Print #1, “Visual”, “Basic” 紧随写入Write #1, “Data1”, 100, “Data2” 加入逗号,省空间,易读Close #1读:Dim FileData As StringOpen “C:TESTFILE.TXT” For Iutput As #1Do Until EOF1Line Input #1, FileDataText1.Text = Text1.Text & FileData & Chr13 & Chr10 Text1.Multiline设为trueLoopClose #1(2) 随机型文件 适用于读写有固定长度记录结构的文本或二进制文件通用Option ExplictPrivate Type ScoreRecord 定义自定义数据记录类型ID As Integer Name As String* 20 Name为长度为20的字符串End Type事件Dim MyRecord As ScoreRecord 声明变量Dim RecordNum As IntegerOpen “C:RECFILE.TXT” For Randam As # 1Len = LenMyRecordFor RecordNum = 1 To 5MyRecord.ID = RecordNum 定义IDMyRecord.Name = “Name” & RecordNum写:Put # 1, RecordNum, MyRecord 将记录写入文件Next读:Get # 1, 3, MyRecord 第三个记录Text1.Text = MyRecord.NameClose # 1(3) 二进制文件 能读取任意有结构的文件,比随机文件更为灵活Open “” For Binary As # 1Text1.Text = InputLOF(1)文件长度, # 1读整个文件,中英常用格式:Put #fielname, position, variable Get #fielname, position, variable3 多窗口(MDI)程序的设计mnuNew 事件 click:static WindowsCount As Integer 第几个窗口Dim frmD As Form1 定义子窗口变量WindowsCount = WindowCount + 1Set frmD = New Form1 标题frmD.Caption = “Child Window” & WindowCountfrmD.Show 显示子窗口mnuCascade 层叠 click:Me.Arrage vbCascade vbTileHorizontal横向平铺vbTileVertical纵向vbArrangeIcons排列子窗口图标WindowState属性: 2 Max添加模块(好习惯)Option ExplicitPublic fMainForm As ADIForm1 主窗口对象 Sub mainSet fmainForm = New MDIForm1fMainForm.Show 显示主窗口End Sub工程菜单/工程1属性 启动对象:SubMain 由通用对象模块开始执行4 多媒体公用对话控件属性 Filter .AVI .MID .WAVForm.Load: Private Sub Form.Load()MMControl1.Wait = False 设置打开设备所需属性End SubCommand1.Click:CommonDialog1.ShowOpen 显示打开文件对话框If CommonDialog1.filename . Then 判断文件后缀Select Case UCaseRightCommonDialog1.filename, 3 Case “WAV” 波形文件MMControl1.DeviceType = “WaveAudio” Else Sequencer AviVideoEnd SelectMMControl1.filename = CommonDialog1.filenameIf Not MMControl1.Mode = mciModeNotOpen ThenMMComtrol1.Command = “Close” 如果已打开,先关闭End IfMMControl1.Command = “Open” 打开设备End IfForm.Unload:Private Sub form Unloadcancel As IntegerMMControl1.Command = “Close” 确保关闭End Sub5 数据访问Data控件可用三类Recordset对象表Table一个记录集合,代表能用来添加,更新或删除记录表的单个数据库表。动态集Dynaset一个记录的集合动态,代表一个数据库或包含从一个或多个表取出的字段的查询结果,可从dynaset类型的Recordset里添加,更新或删除记录,并且任何改变都会反映在基本表上。快照Snapshot一个记录的集合静态副本,可用于寻找数据或生成报告。一个快照类型的Recordset能包含从一个或多个在同一数据库中的表里取出的字段,但字段不能更改。实例:数据控件属性Data1.Connect: Access, DatabaseName: Biblio.mdb 数据集对象 RecordsetType: 缺省1-Dynaset, RecordSource: Authors 文本框Text1.DataSource: Data1绑定,DataField字段名(查看、修改)Authors 标签 A Author绑定控件:菜单工程/部件- D.B.Grid: DataSource: Data1 右键菜单 检索字段.编辑,删除,追加/属性/列/Column2 标题 Name of Author 数据字段:Author. AllowUpdate:False 不能更新文本框locked: True 只能浏览 数据控件Data1.RecordsetType:2-Snap 或 ReadOnly: True设置RecordSource. Form:Dim SQL As String SQL语句SQL = “Select * from Authors where Au_ID 100 and Au_ID 120Data1.RecordSource = SQL外接程序/可视化数据管理器 7OLE实现 Excel数据透视表功能OLE控件插入对象 Excel Worksheet 取消:在代码中引用已有工作表三选项按钮 Option1, 2, 3 : 分别,按性别,按部门查看工程菜单/引用Excel ObjectLibrary视图/对象浏览器或FExcelForm1:Dim MyXls As Object 声明一个对象变量Form_load:Set MyXls = GetObject“C:Company.xls”OLE1.CreateLink “C:Company.xls”Form_UnloadCancel As IntegerSet MyXls = NothingOption.Click: With MyXls.PivotTables“数据透视表1”.PivotField“部门”Select Case IndexCase 0 .Orientation = xlColumnField.Position = 1Case 1 .Orientation = xlRowField.Position = 2Case 2 .Orientation = xlRowField.Position = 1End SelectEnd WithOLE控件属性:SizeMode: -Stretch8 拖放Picture1+图.Picture2. Picture1.DragMode属性:AutoDragIcon 指定拖放操作中作为指针显示对象的图标,若不指定将显示一白色轮廓Image1, Image2 Picture: (Icon 分别为拖、放)Form_load: Picture1.DragIcon = Image1.PicturePicture2_DragDrop: If Source = Picture 1 ThenPicture2.Picture = Picture1.Picture End IfPicture2_DragOver: Select Case State拖动操作进行时发生Case vbEnter 进入Picture1.DragIcon = Image2.PictureCase vbLeave 离开Picture1.DragIcon = Image1.Picture End Select资源管理器拖图片Form1图片框:Picture2Picture2.OLEDropMode: MannualOLEDrop: If Data.GetFormatvbCFFiles = Ture Then 格式:文件第一个 Picture2.Picture = LoadPictureData.Files.Item19 OOP编程、工程/添加类模块名称:car工具/添加过程名:Brand 自动添加查询赋值模块Get:Brand = vBrand 返回品牌值 类型改为StringLet:类型String利用内部属性检查If vNewValue “Audi” And vNewValue “Santana” ThenMsgBox “Can not accept this Brand”ElsevBrand = vNewValue 接受新属性值End If添加油量属性 Gas 删除 Let Gas 置为只读Get Gas As Integer: Gas = vGas 读出油量添加Run方法Run: vGas = vGas 10 减少油量添加AddGas方法 AddGas: vGas = 100 加满油加NoGas事件 Event NoGas, 在Run中触发If vGas 0 ThenvGas = vGas 10 减少油量ElseRaise Event NoGas 触发NoGas事件End If对象框 Class Initialize: vBrand = “Audi”窗体加文本框 品牌Brand vGas = 100 初始化类中的数据油量 Gas 对应后面 Text1、2命令按钮 Run AddGasForm1通用:Private With Envents MyCar As Car 声明Car类的对象变量MyCar:MyCar_NoGas : MsgBox “没油了!不能再跑了”,vbCriticalForm_Load: SetMyCar = New Car 创建Car对象实例 Text1.Text = MyCar.Brand 显示品牌 Text2.Text = FormatMyCar.Gas 显示油量Form_Unload: SetMyCar = Noting 清除引用Command1_chlick: Run按钮: MyCar.Run Text2.Text = Format MyCar.Gas 更新油量显示Command2.click Add Gas按钮 MyCar.AddGas Text2.Text = Format MyCar.Gas 更新油量显示Text1_KeyPress 更新品牌:If KeyAscii = vbKeyReturn Then Enter键MyCar.Brand = Text1.Text 写入Brand属性值Text1.Text = MyCar.Brand 更新显示End If10. 创建ActiveX控件新建 MyClock 加Timer控件 .ocx .Interval:1000 间隔1秒加标签控件 Label1 显示时间UserControl_Resize: Lable1.Move 0,0,ScaleWidth,ScaleHeight显示当前时间 Private Sub Timer1_TimerLabel1.Caption = FormatTime定义属性:工具/添加过程 CTime 设置.读出时间Get CTime: CTime = Time 读时间Let CTime:Time = vNewValue 设时间添加事件TimeOver. 在Time1_Timer:Private Sub Time1_Timer 显示当前时间Label1.Caption = FormatTime 每分钟触发TimeOver事件If SecondTime = 0 Then Raise Event TimeOverEnd Sub 测试:添加工程EXE 添加控件MyclockMyClock1_TimeOver: MsgBox “Time is Over”工程/工程属性 名称ClockDemo 描述 My Clock Demo Control文件/生成 Cl

温馨提示

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

评论

0/150

提交评论