【文档说明】VisualBasic程序设计及应用.ppt,共(321)页,2.757 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2472.html
以下为本文档部分文字说明:
VisualBasic程序设计及应用主讲教师:唐大仕dstang2000@263.net北京大学课程有关事项◼参考书◼VisualBasic程序设计,◼唐大仕,清华大学出版社,2003◼(丛书主编:卢湘鸿)◼V
isualBasic程序设计题解与上机指导◼唐大仕,清华大学出版社,2003◼教学网站◼校内:http://cf.pku.cn/tds◼备份:http://www.dstang.com/cf2◼与唐大仕老师联系◼dstang2000@263.net◼QQ:3511164
63◼上机◼时间星期四9-10节,地点3、5、6号机房课程要求◼不迟到、不旷课◼完成参考资料的阅读、练习等课后任务◼按时交作业1序论程序与语言的概念◼为什么要学习程序设计◼软件=程序+文档◼程序:指令的序列◼语言◼汇编语言asm:用助记符来表示计算指令◼高级语言c,pasc
al,fortran,◼用表达式来表示计算◼用过程来表示流程◼面向对象的语言c++,java,vb◼用对象来表示实现世界◼每个对象有自己的属性、功能、能与外界交互VisualBasic简介◼一种程序设计环境◼一种程
序设计语言◼具有广泛的用途VB快速入门单击→右击→双击设计与运行◼界面设计◼(插入对象,设其属性)(对象窗)◼代码设计◼(双击对象,填写代码)(代码窗)◼运行◼按F5(或点“启动”按钮)◼示例:按钮→信息示例:按钮→信息◼在程序中书写:◼MsgB
ox"Hello!"◼编程提示:◼要用西文标点、空格◼单击“启动”按钮才会运行◼单击“结束”按钮才可以进一步修改保存◼保存◼窗体文件.frm◼工程文件.vbp◼其他辅助文件◼编程提示:◼文件应保存在自已的文件夹中,不要放在VB98下◼下次打开这个程序,只需双击
.vbp文件即可◼每一个程序都要单独建一个工程◼每个程序放在单独的文件夹中◼交作业时,将文件夹中的所有文件压缩成一个文件编译◼编译◼编译就是将源程序转成可执行程序的过程◼怎样编译◼文件→生成xxxxx.exe文件◼编程提示:◼exe是交给最终用
户的,编程者不需要它一些典型应用一些专题知识◼自己设计一个屏幕保护程序;◼自己设计一个多媒体播放器;◼自己设计一个小游戏;◼信息安全与密码问题;◼软件工程,程序漏洞的原因;◼信息管理系统;◼网上信息交流,聊天,游戏的
原理;◼电子商务的基本构成方式;◼计算机智能及其局限性;◼分形图形与计算机艺术;等等。课程目标◼1.程序◼以VisualBasic为工具◼掌握程序设计的基本概念和基本方法◼具备使用程序来解决一些实际问题的能力◼2.应用◼通过程序
来提高Word、Excel、网页制作等常用软件的应用能力◼了解病毒防护、数据加密、企业信息化、电子政务、人工智能、数字艺术等专题知识◼以简明的程序来介绍,不是十分注重编程技巧技术,而是重在理解其本质。VB程序设计环境◼工程窗口◼对象窗口◼
代码窗◼属性窗◼工具箱注意区分三种状态◼设计状态◼运行状态◼中断状态小结◼程序、软件与语言◼VisualBasic是一种高级语言◼设计◼界面设计◼代码设计◼运行◼保存◼编译VisualBasic程序设计主讲教师:唐大仕dstang2000@263
.net北京大学课程2VB程序设计的核心概念VB中的对象◼属性(property)◼对象的状态,用名词、形容词表示◼方法(method)◼对象的动作或功能,用动词表示◼事件(event)◼对象与外界的交互属性的书写◼对象.属性◼Command1.Caption=“xxxx
x”◼Text1.ForeColor=vbRed◼Me.BackColor=RGB(255,0,0)◼注:Me表示窗体◼Me.BackColor=RGB(Rnd*255,Rnd*255,Rnd*255)◼注:Rnd表示随机数(范围
0到1之间,不包括1)◼注意用等号方法的书写◼对象.方法◼Command1.Move1000,500◼Me.Print"Hello"◼注意:属性和方法都可以智能提示◼若没有提示,经常都因为写错了对象名◼写错了对象名,运行时会提示“需要对象”◼可以用
Me.来正确地书写对象名事件的书写◼PrivateSub对象名_事件名(……)◼写书代码◼……◼EndSub◼一般不用手工书写◼可直接在代码窗的顶部选择对象名及事件名◼事件驱动◼示例:MouseMove事件参见文件event_drive.frm◼Me.Caption=x&","&y◼注意
:&表示连接,&前后需要一个空格示例:事件→改变属性◼改变字体、大小、颜色◼注意:=表示赋值◼a=a+1进一步理解对象对象命名◼对象名◼对象名(Name)与文字(Caption/Text)不同◼窗体名.控件名匈牙利命名法◼对象命名的惯例:匈牙利命名法◼前缀(表类型
)+单词(表意义)◼例:◼btnSayHellobtnOkcmdOk特殊对象名◼事先定义好的对象◼Me,Screen,Printer,App,Debug◼注:Me表示当前窗体◼Me.可省略◼Me.Left=(Screen.Width-Me.W
idth)/2◼操作技巧:Ctrl+J快速提示vbXxxxx◼F2对象浏览几种常用对象◼按钮CommandButton前缀btn◼标签Labellbl◼文本框TextBoxtxt◼图片框PictureBoxpic◼注:如果要在按钮上加图片必须首先设设Style然后再设Picture,Down
Picture常见的属性◼Name◼ForeColor,BackColorFontSizeFontName◼TopLeftWidthHeight◼Caption/Picture/Text/Value◼Visiabl
eEnabled默认属性◼对象有一个默认属性(属性值)◼如:Label的Caption,Text的Text◼如:Text1.Text="...."◼可写为Text1="...."常见的方法◼Move(
适用于各种控件)◼Print(适用于窗体及图片框)◼Show/Hide(适用于窗体)常见的事件◼有关Mouse,keyboard,◼有关选择,文字改变事件驱动编程◼对象之间的相互作用◼示例:两个文本框显示同样的文本◼文本框的change事件◼跳动的小球◼Shape形
状对象:ShapeFillColorFillStyle◼Timer计时器对象:Interval◼Shape1.Left=Shape1.Left+Rnd*1000-500◼Me.Caption=Now◼Form_Load事件
◼变色的彩灯◼Shape1.FillColor使用帮助◼按F1键进入MSDN(要求安装了MSDN)◼使用网络上的MSDN◼进入http://msdn.microsoft.com◼选>Library>DevelopmentToolsandLanguages>Visu
alStudio6.0>VisualBasic6.0>◼按F2键进入对象浏览窗口◼按Ctrl+J键进入快速提示◼使用vb5的中文帮助,可从教学网上下载网络上的资源◼国内◼http://www.vbgood.com/http
://www.vbaspnew.com◼http://vbworld.sxnw.gov.cn/◼http://www.vbdak.net/◼国外◼http://msdn.microsoft.com/vbasic/◼http://www.vb-helper.com/◼http://ww
w.planet-source-code.com/◼使用搜索引擎◼www.baidu.comwww.google.com◼讨论区bbs.pku.cn,bbs.tsinghua.edu.cn上的VB讨论区小结◼Visua
lBasic程序设计语言◼是一种面向对象的高级语言◼VisualBasic程序设计环境◼是一种易用的、集成化的、可视化编程环境◼VisualBasic程序设计核心概念◼对象:属性、方法、事件◼事件驱动编程VisualBasic程序设计主讲教师:唐大仕dstang2000@26
3.net北京大学课程3数据与运算数据与运算◼数据:常量与变量◼数据的类型◼Me.Height=3000数值◼Command1.Caption="PressMe"文字◼Label1.Visible=False逻辑◼Me.PrintNow日期时间◼不同的类型:◼数据的含义不同◼数据的运算不
同◼数据的存储方式不同数据类型◼类型占字节数◼整型Integer2(范围-32768~32767)◼长整型Long4◼单精度Single4◼双精度Double8◼。数据类型(续)◼逻辑型Boolean2值能为
True或False◼日期型Date8◼字符串型String◼变体型Variant◼对象型Object变量◼变量的含义◼变量的名字◼用字母、数字、下划线构成◼不能用数字开头变量的定义◼隐式定义◼不定义而直接赋值◼显式定义◼使用DIM◼例◼DimageA
sInteger◼DimiCount%AsInteger,salaryAsDouble◼DimstudentNameAsString◼字面常量的书写◼整数、实数类似于数学中的写法◼如123-45123.452
.3E-54#◼十六进制&H0027D9◼长整数1234&◼日期◼#9:21:30PM##7/21/99#◼逻辑◼TrueFalse◼字符◼"Hello""A"""符号常量ConstPIAsDouble=3.14运算符◼算术运算◼
+(加)-(减)*(乘)/(除)◼\(整除)mod(取余)^(乘方)◼字符串连接&+◼关系运算><=>=<=<>◼逻辑运算AndOrNot表达式◼表达式举例:参表达式.txt运算符的优先级◼优先级(从高到低):◼算术运算(其中^→*/→\→+-)◼关系运
算(>=<)◼逻辑运算(其中Not→And→Or)◼用圆括号程序的基本任务◼输入→处理→输出◼示例:圆的面积◼DimrAsDouble,areaAsDouble◼ConstPiAsDouble=3.14◼r=InputB
ox("请输入半径")◼area=Pi*r*r◼MsgBox"半径为"&r&"的圆的面积是"&area◼注意:要定义变量关于数据类型的几个细节◼类型的不严格◼如Me.Caption=Now()◼如r=Text1.Text◼精度问题◼如i=5.6i=5.5i=5.4示例◼求解一元二
次方程◼用文本框来表示输入、输出◼用按钮来表示命令◼对象名一定要写正确◼注意公式中用Sqr表平方根,注意圆括号数学函数◼Rnd◼Int(Rnd*9)+1◼注:Randomize表示随机初始化◼Sqr,Abs平方根,绝对值◼Sin,Cos正
弦、余弦(弧度作单位)◼Log,Exp自然对数、指数◼Int取整(不超过它的最大整数)◼示例:◼rnd_luckynumRnd_投针Sqr_triangle_area字符串函数◼Len求长度◼LTrim,RTrim,Trim去空
格◼UCase,LCase大写、小写◼Left,Right,Mid左边、右边、中间◼InStr在字符串的子串位置◼Asc,Chr,String求ASCII码、转字符、重复字符日期函数◼Date,Time,Now当前日期、时间、◼Year,Mo
nth,Day,Weekday求年、月等◼Hour,Minute,Second求时、分、秒转换及判断◼CInt,CLng,CDbl,CDate,CStr转成相应的类型◼Str,Val转成字符串,转成数字◼He
x,Oct转成十六进制,八进制◼Format◼Format(Now(),"hh:mm:ss")◼Format(3.14,"#,###.000")◼IsNumeric,IsDate是否为数字、为日期重要函数列表◼I
/O:MsgBoxInputBoxBeep◼数学:RndAbsIntSqrSinCosLogExp◼字符串:LenLTrimRTrimTrimUCase◼MidLeftRightInStrChrAsc◼日期:DateTimeNow◼YearMonthDay◼转换判断CIntValForm
atIsDateIsNumeric◼小专题:VB的函数与Excel函数◼+-*/\Mod^◼AndOrNot◼RndAbsIntSqrSinCosLogExp◼LenLTrimRTrimTrimUCaseLCaseMidLeftRightInStr
ChrAsc◼DateNowYearMonthDay◼CIntValFormatIsDateIsNumeric◼+-*/Mod()^◼And()Or()Not()◼RandAbsIntSqrtSinCosLogExp◼LenLTrimRTrimTrimUpperLowerMidLeftRightF
indCharCode◼TodayNowYearMonthDay◼IntValueFormatIsDateIsNumberExcel函数举例◼在学生名单表中◼排序字段◼=MID(A2,4,2)&"_"&A2◼随机选择◼=INDEX(A2:A161,RAND(
)*161+1)◼查找◼=VLOOKUP(D2,A2:B161,2,FALSE)小结◼数据类型◼常量与变量◼运算符◼常用函数VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程4语句与分支控制VB语言
◼程序设计语言的两个重要方面:◼数据◼控制简单语句◼简单语句◼一句一行◼多句同行(用:)◼一句跨多行(用_)注释◼对程序的执行没有影响◼用单引号开始,直到行尾◼注释的用途:◼对一段程序◼对一些变量◼对一些算法赋值语句=◼示例:a=a
+1◼示例:移动的小球◼示例:交换两变量值输入与输出◼程序的基本过程:◼输入→处理→输出◼输入输出的常见方法:◼使用控件进行◼输入(如TextBox)◼输出(如Label)◼使用InputBox,MsgBox◼使用Print表示输出Print的使用◼
Print◼换行◼不换行(,或;)◼示例:圆的面积◼方法Print,cls,与;◼示例:a*b=cIf条件语句◼两种写法:◼同一行:◼If条件Then…Else…◼多行:◼If条件Then◼…◼Else◼…◼EndIf示例◼示例:
小球移动,但不出边界◼要点1:使用变量◼要点2:使用If◼示例:闰年◼yMod400=0OryMod100<>0AndyMod4=0◼要点1:使用Mod◼要点2:使用And及Or条件语句嵌套◼条件语句的嵌套◼示例:性别,年龄的判断◼示例:判断圆的半径◼编程提示:◼
使用Tab键正确地缩进ElseIf◼示例:分数的判断◼示例:所得税的计算SelectCase◼Selectcase表达式◼case常量◼。。。。◼case常量◼。。。。◼caseelse◼….◼EndSel
ect◼示例:分数示例:自动出题及判分◼If及SelectCase的使用◼变量的使用◼注意,a,b,op三个变量是放到最前面的◼(不在Sub内,被称为窗体级变量)◼随机数的使用◼Rnd◼Randomize◼随机数初始化,一般在Form_Load中◼据Rn
d的数值来表示不同的字符,如+-*/IIF函数◼IIf(条件,式1,式2)◼例如:◼M=IIf(a>b,a,b)◼z=IIf(a<1,“小”,IIf(a=1,“等”,“大”))小专题:关于随机数◼伪随机数◼线性同余算法◼Xn+1=(Xn*a
+c)modm,◼其中m>0称为模数,0≤a<m称为乘数,0≤c<m称为增量,0≤X0<m称为初始值或种子◼如X=(X*123+59)mod65535◼如X=(X*2053+13849)mod65535◼如a取69069或1664
525(即&H19660D)Java语言中用的公式◼synchronizedpublicvoidsetSeed(longseed){◼this.seed=(seed^0x5DEECE66DL)&((1L<<48)-1);◼}◼synchronizedprotected
intnext(intbits){◼seed=(seed*0x5DEECE66DL+0xBL)&((1L<<48)-1);◼return(int)(seed>>>(48-bits));◼}◼DonaldKnuth,T
heArtofComputerProgramming,Volume2,Section3.2.1.C语言中用的公式◼unsignedlongintnext=1;◼intrand(void)◼{◼next=next*1103515245+12345;◼return(unsign
edint)(next/65536)%32768;◼}◼voidsrand(unsignedintseed)◼{◼next=seed;◼}生成标准正态分布的随机数◼产生方法很多。◼近似方法(利用中心极限定理)◼即用个变量产生一个变量。◼其中是抽自的随机数,可近似为一个变
量。◼简单地说:6个均匀分布的随机数的平均值是一个正态分布的随机数()1,0Nn()1,0U()1,0N()2112−=unxiu()1,0U==niiunu11()1,0N蒲丰氏(Buffon)问题◼如果针的长度是平行间的距离的
一半,则:Pi=总数/相交的针针在平行线间的位置蒙特卡罗(MonteCarlo)方法◼蒙特卡洛方法是一种应用随机数来进行计算机模拟的方法.此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数.◼蒙特卡罗方法
的主要应用范围包括:粒子输运问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面。随着科学技术的发展,其应用范围将更加广泛。◼蒙特卡罗方法在粒子输运问题中的应用范围主要包括:实验核物理,反应堆物理,高能物理等方面。◼蒙特卡罗方法在
实验核物理中的应用范围主要包括:通量及反应率,中子探测效率,光子探测效率,光子能量沉积谱及响应函数,气体正比计数管反冲质子谱,多次散射与通量衰减修正等方面。◼在我们所生活的世界上,充满了不确定性小结◼简单语句◼输入及输出◼If
/ElseIf语句◼SelectCase语句VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程5循环语句、绘图三种控制结构◼为什么要有循环◼程序的三种控制结构◼顺序◼分支(选择)◼循环程序流程图◼流程
线◼开始与结束◼任务及子任务◼输入与输出◼条件判断For语句◼Forv=1To100Step2…Next◼其中Step1可以省略使用For语句◼示例◼显示1-100◼画同心圆◼1+2+…+100◼1*1+2*2+...+100*100◼6^3+....+69^3DoLoop◼DoWhi
le条件◼。。。◼Loop◼示例:角谷猜想Do循环的几种写法◼DoWhile条件(或:Until条件)◼。。。◼Loop◼Do◼。。。(至少执行一次循环)◼LoopWhile条件(或:Until条件)
◼While条件◼。。。◼Wend循环的五要素◼初始化◼循环条件◼循环动作◼循环改变◼结束后处理理解循环◼1变量5要素3典型◼几种循环的比较绘图◼在哪里绘图:◼在窗体上◼如:Me.Circle(1000,1000),300◼在PictureBox上◼如:Pi
cture1.Circle(1,1),1单位及比例尺◼比例尺◼.ScaleMode◼=vbTwips1/1440inch◼=vbPixels像素◼Scale(-50,50)-(50,-50)◼ScaleLeftSc
aleTop◼ScaleWidthScaleHeightScale(-50,50)-(50,-50)绘图状态◼CurrentX=100,CurrentY=100◼ForeColorBackColor◼DrawWidt
hDrawStyle◼FillColorFillStyle◼DrawMode◼(决定最终颜色与当前画笔颜色、背景颜色的关系)◼=vbCopyPen,=vbXorPen◼Font◼FontSize,FontName,
◼FontBold,FontItalic绘图方法◼Line(x,y)-(x,y),color,BF◼其中B表示画框、BF表示画填充的矩形◼Circle(x,y),r,color◼Circle(x,y),r,col
or,start,end,aspect◼PSet(x,y),color◼Print"....."◼Cls清屏◼示例:draw_Simple_0.frm绘图示例◼函数图◼螺线◼画极坐标图◼旋转的椭圆◼编程提示:◼Form_Load中绘图,先Me.Show上机注意事项◼1.关于文件◼
2.关于图片◼3.关于内容◼4.关于书写循环出口语句◼ExitFor◼示例:判断质数◼ExitDo◼其他几个相关的语句:◼ExitSub退出此段Sub子程序◼End结束整个程序◼Stop停止执行,进入中断状态循环的嵌套◼示例◼画图(多张饼)◼1!+2!+
….+10!◼九九乘法表◼2-100以内的角谷猜想◼内外循环的关系◼每重循环的控制变量◼控制变量间的关系循环的应用(了解)◼数列求和:---递推法◼1!+2!+….+10!◼2+22+222+…◼Exp_sum◼Pi/2◼Pi/4+−+−=71513114++
++=75332153213112++++=!3!2132xxxex循环的应用◼字符串加密附:关于密码与加密◼口令(password)◼原则:自己易记、他人难猜、经常更改◼技巧:不与自己直接相关,而是间接相关◼并且不能太短
,字母、数字、符号混合◼在公共场合使用口令要谨慎◼不能让IE记住口令◼注意防护:◼一些口令破解软件,◼如AdvancedPdfpasswordcovery◼如RarPasswordCracker,Passware◼
防止木马口令使用经验谈◼不要使用本人的生日、身份证件号码、银行账户中的前几位、后几位或姓名的拼音作为密码。◼不要将密码设置为相同的数字或字母,尽量使用数字与字母的组合构成密码◼不要将密码设置为有顺序的数字或字母◼不
要将网上银行“登录密码”和“交易密码”设置成相同的密码◼在任何情况下不能将密码漏给他人,包括银行工作人员◼在使用网上银行时,最好不要直接用键盘输入密码,而用“密码软键盘”输入密码常见的安全措施—正确使用网银◼常见方式“钓鱼”◼“钓鱼”之
一:电子邮件◼“钓鱼”之二:盗号木马◼“钓鱼”之三:网址欺骗◼防钓鱼◼直接输入域名◼用密码软键盘◼加密交易信息◼使用加密控件,使用密码U盘,使用https协议◼同样,防止短信诈骗加密技术加密技术:把信息转换成一种不可读或不可理解的形式解密技术私钥对称加密公钥非对称加密
单向函数四种传统加密方法◼1.代码加密◼2.替换加密◼3.变位加密◼4.一次性密码簿加密对称密码术(单一密钥)加密算法:CHARACTER+3DearLiXiu……………………明文GhduOlAlx……………………密文AF
计划接收者发送者DES算法◼DES是对称密钥加密的算法,DES算法大致可以分成四个部分:◼(1)初始置换◼(2)迭代过程◼(3)逆置换和◼(4)子密钥生成DES加密原理示意图左半部分32位右半部分32位新的左半部分新的右半部分密钥移位置换后的密钥f+非
对称密码术明文密文明文公共密钥私有密钥我其他人RSA算法◼RSA算法是非对称密钥加密,其算法演算过程◼(1)密钥配制过程◼(2)加密◼(3)解密RSA举例◼取两个质数p=11,q=13,◼p和q的乘积为n=p×q=143,
◼算出另一个数z=(p-1)×(q-1)=120;◼再选取一个与z=120互质的数,例如e=7,◼则公开密钥=(n,e)=(143,7)。◼对于这个e值,可以算出其逆:d=103。因为e×d=7×103=721,满足e×dmodz=1;即721mod120=1成立。◼则秘密密钥=(n
,d)=(143,103)。◼设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值:◼c=memodn=857mod143=123
并发送给李先生。◼李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m=cdmodn=123103mod143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。◼RSA的安全性◼就目前的计算机水平用1024位的密钥是安全的,
2048位是绝对安全的。RSA实验室认为,512位的n已不够安全,应停止使用,现在的个人需要用668位的n,公司要用1024位的n,极其重要的场合应该用2048位的n。◼RSA用于身份验证和数字签名◼数字签名必
须保证以下3点:◼接收者能够核实发送者对报文的签名。◼发送者事后不能抵赖对报文的签名。◼接收者不能伪造对报文的签名。◼现在已有多种实现各种数字方法,但签名的采用公开密钥算法要比常规算法更容易实现。电子
签名◼电子签名(比数字签名更广泛的概念)注:媒体_vir_fingerprint_F0914.avi注:《电子签名法》注:www.icbc.com.cn中国工商行usbkey客户证书注:outlookexpress电子邮件加密
及签名注:http://www.ca365.com申请免费试用证书保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。密钥与密码破译方法◼(1)密钥的穷尽搜索◼破译密文就是尝试所有可能
的密钥组合。虽然大多数的密钥尝试都是失败的,但最终有一个密钥让破译者得到原文,这个过程称为密钥的穷尽搜索。◼(2)密码分析◼已知明文的破译方法◼选定明文的破译方法◼(3)其他方法◼“窥视”或“偷窃”密钥内容;进行“垃圾分析”;等等防止密码破译的措施◼(
1)强壮的加密算法◼(2)动态会话密钥◼(3)保护关键密钥小结◼控制结构与流程图◼ForNext语句◼DoLoop语句◼循环出口语句◼循环的嵌套◼循环的应用----数列求和VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程6过程、函数、数组
过程◼学习VB语言:单词→语句→篇章◼使用过程的好处◼任务分解◼代码重用◼示例:sub_print100事件过程与普通过程◼事件过程◼与某个对象事件相关◼过程名为:对象名_事件名◼如:SubComma
nd1_Click()◼如:SubForm_Load()◼普通过程◼与事件无关◼表示某项任务过程的定义◼Sub过程名(参数As类型,。。。)◼。。。◼EndSub过程的调用◼使用Call◼Call过程名(参数值。。。
)◼注意,要用括号◼或省略Call◼过程名参数值,。。。◼注意,不用括号◼一个参数时,可用括号,也可不用◼示例:画花儿◼示例:sub_delay◼注:second,doloop函数◼函数也是一种子程序◼是一种带返回值的过程◼内建函数◼已由VB定义好,可直接使用◼如:CInt(),In
t(),Rnd(),Now()I/O函数◼MsgBox◼有关按钮图标/有关返回值◼MsgBox"hello",vbInformation◼InputBox◼有关默认值/有关返回值◼a=InputBox("PleaseIn
putanum",,99)函数的定义◼Function函数名(参数,。。。)As类型◼。。。注意:其中有一句:◼函数名=某个值◼EndFunction函数的调用◼一般用于表达式:◼函数名(参数值。。。)用括号◼示例:◼sub_fac_10:求:1!+
2!+……+10!◼求组合数m!/n!/(m-n)!◼100以内的质数参数的传递◼形参与实参◼参数的传递顺序◼按位置传递传值与引用◼传值ByVal◼传引用ByRef(缺省为ByRef)◼传引用就是传变量本身◼示例
◼简单示例◼fun_digi2Sum模块◼模块◼工程/添加模块◼设定启动对象:工程/属性/启动对象◼模块中的变量/过程◼模块名.过程名◼Public与Private过程◼过程缺省是Public的变量的作用域
◼作用域(可见性)◼全程变量Public或Global◼窗体级变量Private或Dim◼局部变量Dim◼示例数组◼数组的概念◼加上下标来决定是哪个变量◼定义数组◼Dim数组名(数组大小)As类型◼使用数组◼数组名(下标)◼ForEach……Next数
组的大小◼下标Dima(100)表示0—100共101个◼Dima(2to9)◼OptionBase0或1规定起始值◼二维数组dimc(10,20)◼Lbound(数组名)求最小下标◼Ubound(数组名)求最大下标数组的应用◼最大值与平均值◼排序◼统计◼筛法求素数(*)◼约瑟夫问题(*
)◼画金刚石◼体育彩票36选7小结◼过程◼函数◼参数传递◼过程中的变量VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程7控件界面设计◼界面设计的重要性◼界面元素◼控件◼窗体◼绘图◼
菜单◼其他有关控件的使用◼怎样得到控件相关的属性、方法与事件:◼Ctrl_J快速提示◼F1--MSDN(如果安装了MSDN)◼F2--ObjectBrowser◼可以参考其他一些资源◼光盘,如:<<编程资源大全>>◼书籍,如:<
<VB6参考手册>>◼www.vb-helper.com(国外,选其中“search”)◼http://www.vb60.com◼http://music.crzz.com/vb/◼http://moonsoft.com/e_commerce/soft/download/other/ind
ex7.htm控件的一般属性◼Alignment对齐方式◼0vbLeftJustify◼1vbRightJustify◼2vbCenter◼Appearance01:3D◼AutoSizeTrueFalse◼BackColorForeColor◼RGB(r,g,b)◼vbRe
dvbGreen◼QBColor(Rnd*15)◼123235&&Hrrggbb&控件的一般属性(续)◼BorderStyle◼Caption◼Font◼xxx.Font.Bold=true◼xxx.Font.Italic
=True◼xxx.Font.Underline=True◼xxx.Font.Size=24◼xxx.Font.Name="宋体"◼或xxx.FontName="宋体"◼LeftTopWidthHeight控件的一般属性
(续)◼MousePointer◼MouseIcon◼(当MousePointer为99时,设MouseIcon)◼Picture◼设计时:◼选择文件◼(注意:当程序拷贝到其他机器时,由于图片找不到,则会出问题,所以不推荐这种方式)◼粘贴图片(这时图片信息存于.f
rx文件中)◼运行时:◼xxx.Picture=LoadPicture(“xxx.jpg”)◼注意,图片文件放到同一目录中,要使用扩展名(如.jpg)控件的一般属性(续)◼ToolTipText◼UseUnemonic◼
caption中用&表示下划线,如"&Open"◼Visiable:TrueFalse◼Enabled:TrueFalse◼如Timer1.Enabled=False◼如Command1.Enabled=False◼WordWrap◼MultiLineCo
mmandButton按钮◼Caption◼Style,Picture◼使之为图片按钮◼补充示例:PicButton.frm◼ToolTipText◼EnabledLabel标签◼Caption◼ToolTipText,AutoSize,WordWr
ap,◼Alignment◼0vbLeftJustify◼1vbRightJustify◼2vbCenter◼例:Label_mouse_shell_263◼注:shell"程序名参数"◼表示调用外部程序TextBox文本框◼SelStart,SelLength,Se
lText,Text◼MultiLine,ScrollBars◼PasswordChar"*"◼Locked,Enabled◼SetFocus方法,◼GotFocus,LostFocus事件◼示例:tex
t_sel_password_enterFrame框◼Caption◼BorderStyle◼框:容器◼线◼成组VisibleCheckBox及OptionButton◼CheckBox复选框◼Value(1或0或2):vbChecked◼OptionButton单选框◼Va
lue(True或False)◼放到一个Frame◼经常做成控件数组◼示例:Checkbox_option.frm滚动条◼HScrollBar,VScrollBar◼Max,Min,ValueShape及Line◼
Shape形状/Line线◼Shape/x1,y1,x2,y2◼BorderStyle,BorderColor◼BorderWidth◼FillStyle,FillColor,◼BackStyle,BackColorTimer定时器◼Timer◼Interval,Enabled
◼示例:◼Timer_Shape_Line_Clock.frmListBox及ComboList◼ListBox列表框ComboList组合框◼'可以认为ComboList=List+Text◼Style◼MultiSelect◼List(i),ListCount,◼ListIndex,Se
lected(i),SelCount◼AddItem,RemoveItem,Clear方法◼Combo的Text◼示例:Combox_list.frmPictureBox及Image◼PictureBox◼可作容器,可以在上面画图◼xxx.Picture=
LoadPicture("XXX.jpg")◼Image◼不能作容器,但可以Stretch◼Image1.Picture=LoadPicture("XXX.bmp")◼示例:跳舞的小女孩dance_girl◼补充示例:PicImageHover.
frm多控件的布局◼多控件的选定与设置◼视图→工具栏→窗体编辑器◼对齐与大小◼格式→对齐、间距◼TabIndex(Tab顺序)◼格式→顺序◼控件的成组◼用一个Frame框◼示例:人员信息_control.frm外部控件◼ActiveXControl(外部控件)◼是已经编好的程序,可用
于VB中◼一般存在于.ocx.dll文件中◼加入外部控件的步骤:◼1.工具箱上点右键,选Component...(组件)◼从中进行选择,如:◼MicrosoftWindowsCommonControl◼2.从工具箱上,
选控件,加入到窗体中使用外部控件◼1.属性:◼F4,属性窗◼点右键,打开属性页◼2.方法/事件◼3.当程序复制其他机器时,要求系统中必须安装有相应的控件◼例:MicrosoftWindowsCommonContro的ProgressBar(参见书中示
例)MediaPlayer控件◼常用的媒体文件◼.avi◼.mpg◼使用WindowsMediaPlayer控件◼播放声音(.mid,.wav,.mp3)◼播放视频(.avi,.mpg)◼.FileName=“…”◼.Play方法进行播放◼在MediaPlayer9以上版本,
使用.URL表示文件名◼用Visible置为False可以使之不可见使用MicrosoftInternetControl◼加入控件MicrosoftInternetControl◼IEWebBrowser1.Navigate方法◼可以
用来浏览网页,以及IE能浏览的内容(特别是Flash动画/gif动画等)小结◼控件的一般属性◼CommandButton,Label,TextBox◼Frame,CheckBox,OptionButton◼HScrollBar,VScrollBar◼ListBox,C
omboBox◼PictureBox,Image◼外部控件VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程8窗体、菜单、控件数组窗体◼Form◼窗体与对话框◼添加窗体◼加入系统定义的窗体或对话框(仅对企业版)特
殊的事件◼Resize◼Paint◼示例:Form_Resize_Paint.frm特殊的属性◼BackColorBorderStyle◼WindowStatusStartupPosition◼MousePointer◼示例:简单屏保:form_
screen_save.frm◼生成屏保:File/MakeEXE文件名为:xxxx.scr◼然后将xxxx.scr文件复制到windows系统目录下◼示例:屏保ScreenSaver(*)多窗体◼加入窗体:◼Project/AddForm◼
已有的窗体及对话框◼加入模块:Project/AddModule◼(模块中可以定义变量public,定义Sub,Function)◼设定程序入口:◼Project/Property/StartupObject窗体的显示及隐藏◼当某个事件发生时(如点击某
个菜单或图片)◼Form2.Show◼Me.Hide◼LoadForm2(注意Load写在前面)◼UnloadForm3◼frmAbout.ShowvbModal,Me◼'模态模块◼用于定义变量、函数、过程◼PublicxxxxAsString◼PublicSubxx
xxx(xxx)◼PublicFunctionxxxx(xxx)AsXXXX◼PublicSubMain()可作为程序入口◼调用模块中的过程◼可以用模块名如:CallModule1.mysub怎样在窗体之间交流信息◼直接使用控件:◼Form2.Text1.Text="hell
o"◼使用模块中的变量◼在模块中定义变量:PublicageAsInteger◼在窗体1中对它赋值:age=Text1.Text◼在窗体2中使用它:Ifage>18ThenMenu菜单◼进入菜单编辑器:◼Tools/MenuEditor(或按Ctrl+E)◼有关菜单项:◼菜单名(Na
me)◼菜单文字(Caption)◼其中用&表示下划线(如&Open)◼用单独的减号(-)表示分隔线◼快捷键(ShorCutKey)如Ctrl+O◼菜单的级别(按左右箭头按钮)◼Checked,Enabled,Visible◼W
indowList菜单的编程◼与按钮相似◼菜单上单击,对XXX_Click事件进行处理Menu菜单◼进入菜单编辑器:◼Tools/MenuEditor(或按Ctrl+E)◼有关菜单项:◼菜单名(Name)◼菜单文字(Caption)◼其中用&表示下划线(如&Open)◼用单独的减号(
-)表示分隔线◼快捷键ShorCutKey如Ctrl+O◼菜单的级别(按左右箭头按钮)◼Checked,Enabled,Visible◼WindowList菜单的编程◼与按钮相似◼菜单上单击,对XXX_Click事件进行处理控件数组◼控
件数组:◼同名的多个控件,称为控件数组◼每个控件的Index不同◼产生方法(以下方法均可):◼1.复制、粘贴◼2.将多个控件的名字相同◼3.设Index◼4.程序中LoadXXX(i)则生成一个新的◼复杂示例:计算器(不讲)处理控件数组的事件◼在控件的
事件中可以用Index◼示例:按钮数组.frm◼示例:六个滚动条:line_color_grad_scroll.frm◼◼示例:排块游戏.frm◼(练习使用控件数组、过程、函数)◼有趣示例:雪花飘飘snowflake◼示例:小结◼窗体:事件与属性◼多窗体:加入与交互◼菜单:编辑
与编程VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程9API及多媒体编程API的概念◼API◼ApplicationProgrammingInterface◼应用程序编程接口◼简单地说,就是使用别人提供的函数(或过程
)◼Win32API◼Windows自带的API函数◼相关资源◼cf.pku.cn/tds上的资源◼http://www.allapi.net/使用API◼声明API函数◼PrivateDeclareFunction.…Lib…A
lias…◼若使用Public,则必须将Declare放入模块文件中◼调用API函数◼a=函数名(参数)◼Call过程名(参数)◼函数名参数使用APITextViewer◼打开APITextView(API文本浏览
器)◼开始→程序→VisualBasic→中文版工具→…◼File/Open打开Win32API.txt◼选Private或Public◼(注意:用于窗体时,只能选Private)◼选Declare或Constants◼双击需要的函数、常数◼最后Copy/Paste到VB代码
中◼注意:尽量不要手工书写,因为极易写错声明常数与类型◼常数◼PrivateConst◼类型◼PrivateType◼句柄作参数◼句柄Handle,是一个数字,代表某个对象◼这是由于API中没有像VB中“对象”的概念◼如Me.hwnd代表窗体API应用举例
◼GetTickCount◼Topmost◼WinRoundRect◼设定桌面墙纸多媒体编程◼多媒体的概念◼多媒体编程的基本方式◼使用API◼使用MCI指令◼使用ActiveX控件图像及动画◼常用的图像文件◼.bmp/
.jpg/.gif,.png◼动画◼使用Image或PictureBox来实现图像的切换◼如以前讲过的“跳舞的小女孩”图像的进一步处理◼图像的处理◼用不同的算子对图像上的点进行运算◼示例:PicRGBtoGray◼进一步的技术(了解)◼使用API函数中的BitBlt◼BitBltPd.hDC,x
,y,w,h,Ps.hDC,x,y,COPY_PUT◼使用VB中自带的PaintPicture方法◼PaintPictureimg.Picture,x,y,w,h,x,y,w,h◼示例:Bitblt_Pain
tPicture(了解)播放声音◼常用的声音文件◼.wav◼.mid.midi◼.mp3◼使用Win32API◼使用sndPlaySound(只能播放wav文件)◼使用Beep(*)◼使用声卡驱动程序中的API(了解)◼与具
体的声卡相关◼最简单的办法是:使用Mediaplayer控件(后面讲到)使用MCI指令(了解)◼MCI指令◼API◼PrivateDeclareFunctionmciSendStringLib"MMSYSTEM"(ByVallpstrCommandAsString,ByVallpstrReturn
StrAsAny,ByValwRetumLenAsInteger,ByValhCallBackAsInteger)AsLong◼播放CD,AVI◼示例:MCI_Play.frm◼演示:电子琴MMControl控件(了解)◼使用MicrosoftMulti
mediaControl◼播放CD◼MMControl1.DeviceType="CDAudio"◼MMControl1.Command="open"◼播放wav◼MMControl1.DeviceType="WaveAudio"◼MMContro
l1.FileName="……."◼MMControl1.Command="open"MediaPlayer控件◼常用的媒体文件◼.avi◼.mpg◼使用WindowsMediaPlayer控件◼播放声音(.mid,.wav,.mp3)◼播放视频(.avi,.mpg)◼.
FileName=“…”◼.Play方法进行播放◼在MediaPlayer9以上版本,使用.URL表示文件名使用MicrosoftInternetControl◼加入控件MicrosoftInternetControl◼IEWebBrowser1.Navigate方法◼加入Micros
oftCommonDialogControl控件◼.showOpen◼.showSave◼.showFont◼.showColor◼.showPrint流式媒体◼流式媒体◼Real格式:.rm,.ram◼Microsoft格式:.asf◼使用RealPlayer控件Flash动画◼F
lash动画◼可以使用SothinkSWFCatcher等工具下载◼在VB中使用:◼ShockwaveFlashControl◼.movie=“……”◼.play使用Agent◼Agent◼加入MicrosoftAgentContr
ol2.0◼示例:msagent-hello◼网站◼http://www.microsoft.com/msagent/default.asp◼动作列表可参见:◼http://msdn.microsoft.com
/library/default.asp?url=/library/en-us/msagent/deschar_3pgy.asp◼教程可参见:◼http://www.agent-launchpad.co.uk/tutorials/◼更多角色可参见:◼http://ww
w.msagentring.org/chars.htm小结◼API的使用◼API应用举例◼多媒体编程:API,MCI,Control◼图像、动画◼音频◼视频◼AgentVisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程
10文件读写、程序调试文件的概念◼理解“文件”◼是信息的集合◼存储于一定的介质上◼按名存取◼文件名◼"E:\vb_class\Draw\mypic.bmp"◼"\\teacher\share\sub\file1.txt"
◼App.Path&"\myfile.bmp"文件的种类◼在VB中按文件的存取方式,可以分为三种:◼顺序文件(sequentialfile)◼即:文本文件,不定长记录文件◼随机文件(randomaccessf
ile)◼即:定长记录文件,用来表示记录◼二进制文件(binaryfile)◼即:所有其他文件文件的操作◼文件的打开◼Open文件名[For方式][Access存取类型]As[#]文件号◼FreeFile()得到可用的文件号◼读写
(了解)◼LineInput(读入文本),Get(读入)◼Print,Write(写入文本),Put(写入)◼EOF()判断是否到文件尾◼关闭◼Close文件号文件应用举例◼文本文件(掌握)◼示例:FileCopy_AddLineNum◼注:OnError.
...◼定长记录的文件(*了解)◼示例:File_Random_Student◼二进制文件(*了解)◼示例:File_Read_Bmp文件及目录控件◼DriveListBox,◼Drive1.Drive◼DirListBox,◼Dir1.Path◼Fi
leListBox◼File1.Path◼File1.FileName◼◼示例:图片浏览器pic_browser通用对话框◼MicrosoftCommonDialogControl◼.ShowOpen◼.Sh
owSave◼.ShowFont◼.ShowColor◼.ShowPrint文件和目录管理◼几个命令◼FileCopy复制文件◼Kill删除文件◼MkDir建立目录◼RmDir删除目录◼几个函数(了解)◼GetAttr文件及目录属性◼Fi
leLen文件长度◼FileDateTime文件时间Dir查找文件(了解)◼Dir(“*.txt”)用于首次查找◼在循环中,Dir()用于其他各次查找◼示例◼DirFind程序中的错误◼错误的种类◼语法错◼逻辑错◼运行错◼减少错误的一般方法:◼Tab缩进,空格,空行,注释◼显式定义变量,
OptionExplicit◼变量名(匈牙利命名法)调试(debug)◼断点(breakpoint):◼F9或在行的左边单击◼跟踪(trace)◼F8(逐语句,stepinto)◼Shift_F8(逐过程,st
epover)◼Ctr_F8(执行到当前行,Runtocursor)或点右键选择◼监视(watch)◼光标指向一个变量◼View/WatchWindow,然后点右键,AddWatch◼使用立即窗口(Immediate)?表示print错误的捕获与处理◼错
误的捕获◼OnErrorResumeNext◼OnErrorGotoXXXXXX◼错误的捕获◼XXXXX:◼Err.Number◼Err.Description◼产生错误(由程序故意产生一个错误)◼Err.Raise◼示例:err_divb
y0err_fordebugary_prime_filter补充:IC卡及条码◼IC卡◼按读写方法分:接触式及非接触式(射频或红外)◼按结构分:存储卡及CPU卡◼身份证与校验码◼参见ID15_18.f
rm◼银行卡中的校验码◼http://www.gsfzb.gov.cn/law-1/news/view.asp?id=12156◼条码知识◼http://www.saibon.com.cn/server/info.htm
条码条码:由一组规则排列的条、空及其对应字符组成的标记,用以表示一定的信息。空白区起始符第一个字符对第二个字符对终止符空白区1234条码的编码编码方法宽度调节法25条码是一种只有条表示信息的非连续型条码。条码字符由规则排列的
5个条构成,其中有两个宽单元,其余是窄单元。宽单元一般是窄单元的三倍,宽单元表示二进制的“1”,窄单元表示二进制的“0”。按这种方式编码时,是以窄元素(条纹或间隔)表示逻辑值“0”,宽元素(条纹或间隔)表示逻辑值“l”。条码的分类◼一维条码。◼商品条码
:EAN码和UPC码。◼物流条码:128码、ITF码、39码、库德巴(Codabar)码等。◼二维条码。◼行排式二维条码◼如:Code16K、Code49、PDF417◼矩阵式二维条码◼如:CodeOne、MaxiCode、Q
RCode、DataMatrixPDF417QRCode小结◼文件的分类及操作◼文件及目录控件◼程序的调试VisualBasic程序设计主讲教师:唐大仕dstang2000@263.net北京大学课程11数据库编程本讲内容◼数据库基本概念◼使用Data
控件◼基本的SQL语句◼数据库相关应用数据库◼数据库(Database)◼数据库管理系统(DBMS)◼Oracle,DB2◼MSSQLServer◼MSAccess桌面数据库(*.mdb)◼数据库系统的优点:◼数据的共享性、独立性、完整性和冗余数据少◼管理
功能◼数据定义/操纵/完整/安全/并发关系型数据库(RDB)◼数据表(Table)、记录(Record)、字段(Field)◼字段类型◼charintsmallintbitfloatdatetimeimage◼主键:primarykey◼示例:◼书目表:编号(ID)
,书名,作者,出版社,关键字◼读者表:id,姓名,性别,系别,email◼借阅表:人号,书号,日期,◼选课表:人,课,成绩◼2501,A03,80◼2501,A04,83◼2502,A04,87数据库的使用◼用可视化的界面◼如:使用SQLServer企业管理器◼通过SQL语句◼如:使用SQLSe
rver查询分析器SQL◼SQL(StructuredQueryLanguage),即结构化查询语言◼SQL包含数据定义、数据查询、数据操纵和数据控制等多种功能◼是数据库的标准操作语言SQL语句◼SELECT*FROM[publ
ishers]◼SELECTage,sex,salary+bonus◼FROMemployee◼WHEREdepart='销售部'andtitle='经理'◼[GROUPBY<列名>[HAVING<条件>]]◼[ORDERBY<列名>[ASC,DESC]]◼SELECTavg(salary)FRO
MemployeeSQL语句(续)◼加入数据◼INSERTINTO[employee](name,age)VALUES('李明',18)◼更新数据◼UPDATE[employee]SETsalary=salary+500◼删除数据◼DELETEFROM[employee]WHERE
age>80◼创建及删除数据表◼CREATETABLE[employee]◼(idinteger,namechar(10),ageinteger)◼DROPTABLE[employee]通过编程来操作数据库◼Client/Server模式(客户/服务模式)◼数据库提供服务,称为Server◼程
序是客户端,称为Client◼客户端通过SQL命令来向服务端发出请求◼编程的任务◼通过用户界面获取参数,并形成SQL语句◼建立与数据库的连接◼向数据库管理系统发出命令(SQL)◼从数据库得到数据并显示到用户界面数据库编程的基本技术(*)◼基
于DAO(DataAccessObject)◼早期的技术,主要用于MSAccess◼编程语言以VB,VC为主◼使用方式:◼通过Data控件(要添加控件:工具箱右击→部件)◼通过DAO对象库(要添加引用:工程菜单→引用)◼基于ADO(ActiveXDataObject)◼应用更广
,用于各种数据库◼编程语言包括VB,VC,VBScript,ASP等◼使用方式:◼通过ADODC控件(要添加控件:工具箱右击→部件)◼通过ADO对象库(要添加引用:工程菜单→引用)使用Data控件◼Data控件:◼DatabaseName(选
xxxx.mdb,注意Access97格式)◼RecordSource(选表名,或填SQL语句)◼Text或其他控件:◼DataSource(选Data1)◼DataField(选字段名)◼示例:背单词,通
讯录◼还可以使用MicrosoftDataBoundGridControl:◼DataSource(选Data1)使用DAO对象(*)◼DAO(DataAccessObject)◼引用DAO:Project(工程)/Ref
erence(引用)...中,选MicrosoftDAO3.51ObjectLibrary◼DAO的基本对象◼Database数据库◼RecordSet记录集(相当于表)◼Fields(i)记录中的字段◼Data1.RecordSet记录集RecordSet的基本操作(*
)◼移动当前记录◼.MoveFirst.MoveLast.MoveNext,.MovePrevious◼编辑◼.Edit.Fields(i)=.....Update◼.AddNew.fields(i)=.....Update◼.Delete◼查找◼.FindF
irst.FindNext使用ADO对象(*)◼ADO(ActiveXDataObject)◼引用ADO:Project(工程)/Reference(引用)...中,选MicrosoftActiveXDataObject2.1Library◼ADO中的基本对象◼Connection连接◼
RecordSet记录集◼Fields(i)字段◼CommandParameter(了解即可,表示命令及参数)ADO的基本操作(*)◼建立连接◼conStr="Driver={MicrosoftAccessDriver(*.mdb)
};Dbq=c:\mydir\biblio.mdb;"◼DimconnAsADODB.Connection◼Setconn=NewADODB.Connection◼conn.OpenconStrADO的基
本操作(续)(*)◼执行SQL◼DimrsAsADODB.Recordset◼conn.CursorLocation=adUseClient◼Setrs=conn.Execute("Select*FROM
[Publishers]")◼SetDataGrid1.DataSource=rsADO的基本操作(续)(*)◼显示各个字段的名字◼Fori=0Tors.Fields.Count-1◼Printrs.Fields(i).Name,◼Next◼在数据集中遍历数据◼DoWhileNot
rs.EOF◼Fori=0Tors.Fields.Count-1◼Printrs.Fields(i).Value'或直接写为rs(i)◼Next◼rs.MoveNext◼Loop常用的连接方式(*)◼连接Access
97文件◼"Driver={MicrosoftAccessDriver(*.mdb)};Dbq=c:\mydir\biblio.mdb;"◼连接MicrosoftSQLServer◼"Driver={SqlServer};Server=192.168
.0.12;Database=pubs;Uid=sa;Pwd=tree“◼连接ODBC数据源(较少使用,针对其他数据库)◼"Dsn=biblio;Uid=sa;Pwd=tree"应用演示◼图书馆系统◼订单管理◼收支管理◼图表MIS:管
理信息系统◼MIS系统的设计:◼界面设计-------数据的输入输出◼功能设计-------数据的业务处理◼数据设计-------数据的存储管理(DB)办公自动化(OA)OA基本目的◼优化组织结构◼调整
管理体制◼提高工作效率◼增加协同办公能力◼提高决策效能系统软件架构OA实施步骤◼第一步、建立基础应用系统◼建立OA信息化基础平台◼建立公文流转、资产管理、档案管理等◼解决事务工作的效率问题◼第二步、建立协同工作系统◼继续扩展应用系统,并建立网站门户◼
进一步加强信息共享,解决协同工作问题◼全面实现数字化办公,使管理工作上一个台阶◼第三步、完善知识管理系统◼建立基于KM的OA系统,提高决策能力◼使企业在知识的积累的基础上持续发展ERP:企业资源规划HR供应链管理SCMGIS系统◼GIS(GeographicInfo
rmationSystem)◼地理信息系统◼GIS是解决空间问题的工具、方法和技术;从学科的角度,GIS是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科◼信息是基于地理位置的GPS全球卫星定位系统◼GPS(GlobalPositioningSystem)◼目前共有二十四
颗卫星,其中21颗工作卫星,3颗在轨备用卫星◼俄罗斯的GLONASS系统◼欧洲“伽利略计划”(30卫星)◼中国的北斗卫星导航系统◼手机的GPSOne定位本地搜索◼http://map.baidu.com◼http://maps.googl
e.com◼http://bendi.sina.com.cn◼http://www.mapbar.com◼GoogleEarthhttp://earth.google.com小结◼数据库基本概念◼使用Data控件◼基本的SQL语句◼数据库的应用VisualBasic程序设计主讲教师:唐
大仕dstang2000@263.net北京大学课程12VB的其他应用(*)VBA◼VBA:VisualBasicForApplication◼在各种Office软件中使用◼宏(marco):实际上是一个Sub◼工具/宏/录制宏◼注意:指
定一个快捷键◼也可以:工具/自定义…/命令/宏,将它拖到工具栏中◼工具/宏/VisualBasic编辑器◼注意:保存到当前文档中◼宏的运行◼使用前面指定的快捷键Word中的VBA◼示例:加行号的宏◼示例:跳动的文字◼见UpDown_O
nTime.doc◼关于宏病毒◼工具/宏/安全性Excel中的应用◼Excel中的宏◼Excel中的变量◼引用(如A1,A1:B3)◼Excel中的函数VB的函数与Excel函数◼+-*/\Mod^◼AndO
rNot◼RndAbsIntSqrSinCosLogExp◼LenLTrimRTrimTrimUCaseLCaseMidLeftRightInStrChrAsc◼DateNowYearMonthDay◼CIntValFormatIsD
ateIsNumeric◼+-*/Mod()^◼And()Or()Not()◼RandAbsIntSqrtSinCosLogExp◼LenLTrimRTrimTrimUpperLowerMidLeftRightFindCharCode◼TodayNowYearMonthDay◼IntValu
eFormatIsDateIsNumberExcel中的其他函数◼表示判断及统计的◼If(条件,值1,值2)CountIf◼MAXMINAVERGE◼应用举例◼身份证取出生日及性别◼=IF(MOD(RIGHT(A4,1),2)=1,"男","女
")◼=IF(LEN(A5)=18,DATE(MID(A5,7,4),MID(A5,11,2),MID(A5,13,2)),DATE(MID(A5,7,2),MID(A5,9,2),MID(A5,11,2)))◼条件格式◼分数<60或=A5<60◼不同行不同色=MOD(R
OW(),2)=0◼突出显示成绩最高的=($D5=MAX($D$4:$D$7))◼显示重名的=(COUNTIF($B$4:$B$8,$B6)>1)手机中的应用网页中的应用◼网页html中的标记◼网页中的脚本(script)◼常见的有javascript及vbscript◼VBS
cript◼变量没有类型◼在网页中使用VBScript◼<scriptlanguage=vbscript>……</script>◼举例:◼各种不同的scriptVBScript◼在ASP(动态服务端网页)中使用VBScript◼<%…
………%>◼示例:使用ADO,显示数据库内容◼在QQ中使用电子商务SQLInjection与安全SELECTCOUNT(*)FROMUsersWHEREUserName=‘’or1=1--ANDPassword=‘’SELECTCOUNT(*)FROMUsersWHEREUserN
ame=‘Jeff’ANDPassword=‘imbatman’应用中的Query模型恶意的Query语句"or1=1"matcheseveryrecordinthetable"--"commentsouttheremainderofthequery补充:有关Bug◼Bug的产生◼程序漏洞◼
几个例子◼新建文本文件◼求最大值◼后门:通用密码◼手机中的更新程序◼复活节彩蛋◼Windows的update的重要性从程序到软件◼软件工程的基本概念◼软件开发过程◼计划◼需求分析◼系统设计◼软件实现◼确认◼维护VisualBasic程序设计主讲教师:唐大仕ds
tang2000@263.net北京大学课程13常用算法算法◼指令的有限序列◼特点:◼有穷性◼确定性◼可行性遍试◼逻辑上:针对所有可能的情况,◼形式上:For中用If◼示例:1.韩信点兵,百鸡问题,鸡兔同笼问题◼2.水仙花数13+53+33=153◼3.完全数28=1+2+4+7+14◼4.百
分币◼5.佩尔方程◼6.验证猜想:哥德巴赫猜想迭代◼逻辑上:多次使用同一算法◼形式上:a=f(a)◼示例:1.求平方根◼2.Mandelbrot集,Julia集◼3.倍边法求Pi◼4.数字平方和XnXn+1)(/)('1nnnnxfxfxx−=+递归◼逻辑上:一个问题化为
同样的问题◼形式上:自己调用自己◼示例:1.求阶乘◼2.菲波那契数列◼3.Celay树,Koch分形集小结◼数组:定义与下标◼遍试:for中用if◼迭代:for中n=f(n)◼递归:f(n)中用f(n-1)VisualBasic程序设计主讲教师:唐大仕dstang2000@26
3.net北京大学课程复习复习内容◼第1部分VB基础第1-2章◼第2部分VB语言第3-6章◼第3部分VB界面第7-8章◼第4部分VB应用第9-16章(较少)第1部分VB基础第1-2章程序设计的概念◼程序设计语言◼语言的分类◼Visua
lBasic在各种语言中的地位◼程序设计的基本方面◼从编写的内容看:界面与代码◼从程序的本质看:数据与控制◼程序设计与软件工程VB程序设计的基本步骤◼界面设计◼代码编写◼运行/编译VB中的核心概念◼对象◼属性(property)◼方法(method)◼事件(event)◼事
件驱动第2部分VB语言第3-6章数据与运算◼数据:常量与变量◼数据的类型◼Integer,Single,Double,Boolean,String,Date,Variant变量与常量◼变量◼隐式定义◼显式定义◼Dim,Public,Global,Private,Static◼合法的变量名◼A1
S_N◼常量◼字面常量◼12,12.3,2.3e-8,"Hello",#2008-12-30#◼符号常量◼ConstPIAsDouble=3.14运算符◼算术运算符◼+-*/\mod(取余)◼^(乘方)◼字符串
连接&+◼关系运算><=>=<=<>◼逻辑运算AndOrNot◼运算的优先级控制结构◼程序的三种控制结构◼顺序◼分支◼循环语句◼简单语句◼分支控制语句◼If◼ElseIf◼SelectCase◼循环控制语句◼For…Ne
xt◼DoWhile…Loop◼While与Until条件◼ExitDo与ExitFor语句的应用◼分支的嵌套◼循环的嵌套◼ForI=1to9◼ForJ=1ToI◼Next◼Next◼循环的五要素◼递推法数列求和◼Forn=1
To10◼f=f*n◼s=s+f◼Next过程◼过程的定义◼Sub过程名(参数……)◼……◼EndSub◼过程的调用◼Call过程名(参数值……)用括号◼过程名参数值……不用括号函数◼函数的定义◼Function函数名(参数……)As类型◼
其中有一句:函数名=某个值◼EndFunction◼函数的调用◼函数名(参数值…..)用括号,且用于表达式中◼函数名参数值……◼后一种用法中,将函数作为Sub使用,不理会其返回值过程中的几个概念◼传值与传址(ByVal,ByRe
f)◼变量的作用域◼全程Public◼局部于窗体,Private(Dim)◼局部于过程内Dim◼变量的生存期◼static常用函数◼I/O:MsgBoxInputBox◼数学:RndAbsIntSqrSinCo
sLogExp◼字符串:LenLTrimRTrimTrimUCaseLCase◼MidLeftRightInStrChrAsc◼日期:DateTimeNow◼YearMonthDayHourMinuteSecond◼转换判断CIntCLngCDblVal◼FormatIsDateIsNu
meric◼数组◼定义数组◼Dim数组名(数组大小)As类型◼数组元素的个数◼使用数组常用算法◼遍试:◼逻辑上:针对所有可能的情况,◼形式上:For…Next中用IF◼迭代◼逻辑上:多次使用同一算法◼形式上:Do…Loop中用a=f(a)◼递归◼逻辑上:
一个问题化为同样的问题◼形式上:自己调用自己:F(n)中调用F(n-1)第3部分界面第7-11章控件◼常用控件的属性、方法、事件◼控件的典型应用◼外部控件(ActiveX控件)的使用◼控件数组绘图◼坐标系◼绘图状态◼绘图方法窗体与菜单◼窗体的属
性、方法与事件◼多窗体◼窗体的显示◼窗体间的信息交互◼菜单图片、动画◼Picture/Image◼LoadPicture第4部分VB的应用第12-16章文件与数据库◼文本文件◼打开、读写、关闭◼数据库◼基本概念◼SQL语句◼Data控件(DAO技术)◼ADO技术程序中的错误◼错
误的种类◼语法错◼逻辑错◼运行错◼调试◼断点◼跟踪◼监视◼错误的捕获与处理◼OnErrorGoToxxxxxAPI◼API的声明与调用◼Declare◼调用多媒体及网络编程◼API,ActiveXControl◼音频/视频的播放◼网络浏览重点◼VB语言◼运算、各
种语句、数组、过程与函数◼VB常用函数◼VB常用算法◼包括一些应用◼VB常用控件◼注:笔试中第9-16章(VB应用)内容很少难点◼循环◼循环的五要素◼循环的嵌套◼数列求和◼遍试算法◼数组◼过程与函数◼
变量的作用域◼参数的传递有关考试◼考试内容◼考试形式◼选择、填空、编程、问答等题型◼每种题型占20%-40%Thanks祝同学们学习愉快,学有所获,学有所成!