Next j
Next i
Print "元素最大值";sum
Print "元素最小巧玲珑值";sum
第八种(求行和、列和)
For i = 1 To 4
For j= 1 To 4
If i + j = 5 Then '行下标和列下标之和是一个定数
sum = sum + a(i,j)
End If
Next j
Next i
Print "副对角线数据之和";sum
九、文件读写操作
1、字符型读写数据
见概念分析篇的知识点12有详细说明。
2、数值型读写数据
见概念分析篇的知识点12有详细说明。
3、综合例题:(通用对话框和读写文件结合使用)
在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称为Textl,可以多行显示;有一个名称为CD1的通用对话框;还有三个命令按钮,名称分别为C1、C2、C3,标题分别“打开文件”、“转换”、“存盘”,如图2-5所示。命令按钮的功能是:“打开文件”——弹出打开文件对话框,默认打开文件的类型“文本文件”。选择考生文件夹下的in5.txt文件后,该文件中的内容显示在Text1中;“转换”——把Text1中的所有小写英文字母装换成大写;“存盘”——把Text1中的内容存入考生文件夹下的out5.dat文件中。在窗体中已经给出了部分程序,要求:
1) 请去掉程序中的注释符,把程序中的?改为正确的内容。但不能修改程序中的其他部分,也不能修改控件的属性。
2) 编写“转换”按钮的Click事件过程。最后把修改后的文件按原文件名存盘。注意:不得修改已有的程序和控件的属性,必须对考生文件夹下的in5.txt文件进行转换,并把转换结果通过“存盘”按钮存入考生文件夹下的out5.dat文件中。
图2-5 运行界面
已有程序代码如下:
Private Sub C1_Click()
Dim a As String
CD1.Filter = "所有文件|*.*|文本文件|*.txt|Word文件|*.doc"
CD1.FilterIndex = 2
CD1.Action = 1 '打开通用对话框,可以是CD1.ShowOpen
Open CD1.FileName For Input As #1 ' CD1.FileName是文件路径
Input #1, a
Close #1
Text1.Text = a
End Sub
Private Sub C2_Click()
Text1.Text=Ucase(Text1.Text) '小写字母转换成大写字母的过程End Sub
Private Sub C3_Click()
CD1.FileName = "out5.dat"
CD1.Action = 2 '保存通用对话框,可以是CD1.ShowSave Open CD1.FileName For Output As #1
Print #1, Text1.Text
Close #1
End Sub
VB常见程序段
一、计算类题
1.已知三位数,提取出百位数、十位数和个位数
分析:设三位数以变量x表示,x1、x2、x3分别代表百位数、十位数和个位数x1 = x \ 100
x2= (x \ 10) Mod 10
x3 = x Mod 10
x1 = Fix(x /100)
x2= Fix( (x-x1*100 / 10
x3 = x- x 1*100-x2*10
Dim a1 As Integer, b As Integer, c As Integer, s As Integer, k As Integer
s = 0: k = 0 's代表和,k代表水仙花数的个数
For i = 1 To 100
a = a(i) \ 100 '求百位数
b = (a(i) \ 10) Mod 10 '求十位数
c = a(i) Mo
d 10 '求个位数
If a(i) = a ^ 3 + b ^ 3 + c ^ 3 Then
k = k + 1
s = s + a(i)
End If
Next
Text1.Text = CStr(s \ k)
End Sub
2.已知两数m和n,求最大公约数
Do
r=m Mod n
m=n
n=r
Loop Until r=0
m即为所求最大公约数
一般程序教材P69 函数形式教材P166
3.随机产生n个在[b1,b2]之间互不相同的值
解:利用一个一维数组存放n个在[b1,b2]之间互不相同的值,用Int(Rnd * (b2-b1+1)+b1)求在[b1,b2]的随机值
For i = 1 To n
a(i) = Int(Rnd * (b2-b1+1)+b1)
For j = 1 To i-1
If a(i) = a(j) Then
i = j
Exit For
End If
Next j
Next i
注:实际程序中b1、b2和n均会给出具体值,直接将值代进程序
4.求满足一定条件的数组元素之和sum和个数n、最大数max、最小数min和平均值ave
分析:设数组元素的数值范围已知[a,b]数组元素的个数为m
Sum=0:n = 0:max = a:min=b:ave=0
For i = 1 To m
If 满足的条件Then
n = n + 1
Sum=Sum+a(i)
If a(i) > max Then
max = a(i)
End If
If a(i) < min Then
min= a(i)
End If
End If
Next
Ave=Sum/n
按题目要求显示结果
若题目改为求一维数组所有元素之和sum和个数n、最大数max、最小数min 和平均值ave,只需在初始值设置时max=a(1):min=a(1),i的初始值1改为2,并将判断条件If 满足的条件then 省去即可
二、查找与排序
1.顺序查找:在数组a中查找数num,设数组元素个数为n
Dim num As Integer, i As Integer
num = InputBox("请输入待查找的数")
For i = 1 To n
If a(i) = num Then
Text2.Text = Str(num) + "是数组中的第" + Str(i) + "个值"
Exit For
End If
Next i
If i > n Then
Text2.Text = Str(num) + "不存在于数组中"
End If
4.矩阵(二维数组)行或列交换P37、P141
设N行M列矩阵(二维数组)用Mat(N,M)表示
将第L1行和L2行元素交换
For j = 1 To M
t = Mat(L1, j)
Mat(L1, j) = Mat(L2, j)
Mat(L2, j) = t
Next j
将第C1列和C2列元素交换
For i = 1 To N
t = Mat(i, C1)
Mat(i, C1) = Mat(i, C2)
Mat(i, C2) = t
Next i
注意:具体程序要对L1、L2、C1和C2指定特定值
三、字符操作类
1.字符串s取反
For i= len(s) to 1 step -1
c=Mid(s,i,1)
fs=fs & C
next
fs即为所求
2.判断字符串myStr中的某个字符是否为字母
For I=1 to Len(myStr)
If Mid(myStr,I,1)>=”a”and Mid(myStr,I,1)<=”z” or Mid(myStr,I,1)>=“A” and Mid(myStr,I,1)<=“Z” Then
是的处理
End If
Next I
判断字符串中的某个字符是否为数字
For I=1 to Len(myStr)
If Mid(myStr,I,1)>=”0” and Mid(myStr,I,1)<=”9” Then
是的处理
End If
Next I
3.统计字符个数
典型试题:已知一段文章,出现的字符均是字母,求出现的字母频率最高的字母(不区分大小写,都以大写字母表示),并将未出现的字母显示出来。上机强化训练P56
分析:以字符串变量s代表这段文章,s1代表出现的字母频率最高的字母组成
的字符串,s2代表未出现的字母组成的字符串,用数组a存放26个字母的频率(a(1)代表“A”出现的频率,a(2)代表”B”出现的频率,……,a(26)代表”Z”出现的频率),n代表字母在字母表的位置
For i = 1 To len(s)
c = Mid(s, i, 1)
If c <> " " Then
n = Asc(UCase(c)) - Asc("A") + 1
a(n) = a(n) + 1
End If
Next i
max_n = a(1)
For j = 1 To 26
If a(j) > max_n Then
max_n = a(j)
End If
Next j
For i = 1 To 26
If a(i) = max_n Then
s1 = s1 + " " + Chr(Asc("A") + i - 1)
End If
If a(i) = 0 Then
s2 = s2 + " " + Chr(Asc("A") + i - 1)
End If
Next i
按题目要求显示s1和s2
4.字符串加密和解密
主要考查移位加密和解密,设移位的个数为n
加密:
For i = 1 To Len(s)
c = Mid(s, i, 1)
se = se & Chr(Asc(c) + n)
Next
Print se
解密:
For i = 1 To Len(s)
c = Mid(s, i, 1)
sd= sd & Chr(Asc(c) - n)
Next
Print sd
要按实际情况设置移位个数
四、文件操作类
Open App.Path & "\in.txt" For Input As #1
Do While Not EOF(1)
Input #1, str
Text1.Text = Text1.Text & str
Loop
Close #1
读数据:
Sub ReadData()
Open App.Path & "\" & "datain1.txt" For Input As #1
For i = 1 To 100
Input #1, A(i)
Text1=Text1+str(a(i))+Space(1)
Next i
Close #1
End Sub
Private Sub Form_Load()
Open App.Path & "\in5.txt" For Input As #1
n = 0
Do While Not EOF(1)
Input #1, x
n = n + 1
a(n) = x
Loop
Close #1
End Sub
数据存盘:
Sub WriteData(Filename As String, Num As Integer)
Open App.Path & "\" & Filename For Output As #1
Print #1, Num
Close #1
End Sub
Open App.Path & "\out.txt" For Output As #2
Print #2, Text1.Text
Close #2
五、动画类
典型试题:小球横向和纵向运动上机强化训练P25
完整程序:
Dim d As Integer '控制方向,d=1,代表向右和向下,d=-1代表向左和向上Private Sub Command1_Click()
Timer1.Enabled = True '计时器开
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False '计时器关
End Sub
Private Sub Form_Load()
d = 1 '开始时默认向右和向下
End Sub
Private Sub Timer1_Timer()
If Option1 Then '纵向
Shape2.Top = Shape2.Top + d * 50
If Shape2.Top <= Shape1.Top Or Shape2.Top + Shape2.Width >= Shape1.Top + Shape1.Height Then
d = -d '到底或到顶时变换方向
End If
ElseIf Option2 Then '横向
Shape2.Left = Shape2.Left + d * 50
If Shape2.Left <= Shape1.Left Or Shape2.Left + Shape2.Width >= Shape1.Left + Shape1.Width Then …Shape2.Left <= Shape1.Left
d = -d '到右或到坐时变换方向
End If
End If
End Sub
注意:计时器Timer开始时,要在属性窗口中将Enabled设为False,Interval 按要求设置
六、窗体类
典型试题:上机强化训练P19
完成程序代码:注意菜单控件数组如何设置
Form1中的代码
Private Sub mnuOper_Click(Index As Integer)
Select Case Index
Case 1
Form2.Show
Form1.Hide
Case 2
Timer1.Enabled = True
Case 3
End
End Select
End Sub
Private Sub Timer1_Timer()
Picture1.Left = Picture1.Left + 100
If Picture1.Left + Picture1.Width >= Form1.Width Then
Picture1.Left = 0
End If
End Sub
Form2中的代码:
Private Sub Command1_Click()
Form1.Show
Form2.Hide
End Sub
七、综合操作类
1.文件操作+数组+过程+菜单
典型列题:上机强化训练P51综合应用
完整程序:
Option Base 1
Dim Arr(100) As Integer, s As Integer
1
Private Sub Calc_Click()
For i = 1 To 100
If i Mod 2 <> 0 Then
Text1.Text = Text1.Text & Arr(i) & Chr(13) & Chr(10) s = s + Arr(i)
End If
Next
Print s
End Sub
Private Sub Read_Click()
ReadData
End Sub
Private Sub Save_Click()
Call WriteData("dataout.txt", s)
End Sub
2.文件操作+数组+列表框控件
典型试题:上机强化训练P26 P68综合应用
P26完整程序代码:
Dim a(10) As Integer, n As Integer
Private Sub Command1_Click()
Open App.Path & "\in5.txt" For Input As #1
While Not EOF(1)
n = n + 1
Input #1, ch$, a(n)
List1.AddItem ch
Wend
Close #1
End Sub
Private Sub Command2_Click()
'需要考生编写的内容
Dim f As Integer, d As Single
d = Val(Text1.Text)
If d < 500 Then
f = d * 0.3
ElseIf d < 1000 Then
f = d * 0.98 * 0.3
ElseIf d < 1500 Then
f = d * 0.95 * 0.3
ElseIf d < 2000 Then
f = d * 0.92 * 0.3
Else
f = d * 0.9 * 0.3
End If
Text2.Text = Int(f)
End Sub
Private Sub Command3_Click()
Open App.Path & "\out5.txt" For Output As #1
Print #1, List1.Text, Text1, Text2
Close #1
End Sub
Private Sub List1_Click()
'需要考生编写的内容
Text1.Text = a(List1.ListIndex + 1)
End Sub
VB基本程序段
随机数的产生
A(I)=Int((大数-小数+1)*Rnd)+小数
例:随机取三位正整数,则大数999,小数100 形式如:Int(900*Rnd)+100 累加/累乘
s=0:f=1
For i=1 to n
s=s+i
f=f*i
next i
交互函数
输入数置于变量或数组中:
for I=1 to n
a(I)=InputBox(“请输入第”+CStr(I)+”个数", "输入数",[缺省值])
next I
提示信息输入:
MsgBox("输入数据类型不对",Button, "出错提示") 有关Button的取值见教材62页。
两数交换
用于在要求交换两数的场合:
If a>b then
temp=a
a=b
b=temp
End If
找出最大/小数
找出一维数组中最大的数/下标
nMax=a(1)或nMaxNo=1
For I=2 to n
If a(I)>nMax或a(nMaxNo) then
nMax=a(I)或nMaxNo=I
End if
Next I
一维数组排序
用二重循环(选择法)
for I=1 to n-1
for j=I+1 to n
If a(j)>a(I) then
两数交换
End If
next j
next i
排序(冒泡法)
For i=1 to n-1
for j=1 to n-I
if a(j)>a(j+1) then
两数交换
end if
next i
是否整除的判断
用Mod运算(以整除2为例)
If x Mod 2=0 Then
可整除的操作
Else
不可整除的操作
End If
找因子(强化训练书P85)
For i=2 to sqr(n)
if n mod I =0 then
idx=idx+1
redim preserve a(idx)
a(idx)=I
end if
Next i
打印矩阵
用二重循环在图片框中打印一个矩阵
For I=1 to n
For j=1 to m
Picture1.Print a(I,j);
Next j
Picture1.Print
next I
素数的判断
判断一个数是否为素数
For I=2 to sqr(x)
If x Mod I=0 Then Exit For
Next I
If I>sqr(x) then
是
Else
不是
End If
字符的比较
判断字符串中的某个字符是否为字母
For I=1 to Len(myStr)
If Mid(myStr,I,1)>=“a”and Mid(myStr)<=“z” or Mid(myStr,I,1)>=“A” and Mid(myStr)<=“Z” Then
是的处理
End If
Next I
表达式
1.初值的设定
2.找通项
3.函数的调用(参数的设定)
4.循环中的赋值和跳出循环的条件
S=x :n=1
Do
a=afun(x,n)
if a<=eps then exit do
s=s+a : n=n+1
loop
Private function afun(Byval x as Integer,Byval n as Integer) 通项的计算…
End function
vb代码大全
用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或
VB程序题
VB程序设计结构:顺序结构、分支结构、循环结构。 一、顺序结构题: 二、分支结构: IF <条件> Then <语句组1> Else <语句组2> Endif IF <条件> Then <语句组> Endif 答案:1、a=6 b=5 2、Value=60 3、a=9 4、a=9:b=7 5、a=7 b=9 1、以下程序段的执行结果是? A=1 b=5 c=4 a=b b=c c=a Print a;b;c 2、该程序段运行后, 变量b的值为? a=7 b=8 a=a+b b=a-b 当条件满足时,执行语句组1 当条件不满足时,执行语句组2 执行完语句组1或语句组2后执行 Endif下面的语句。 4、该程序段运行后,变量a的值 为? a=8 b=7 z=a a=b b=z 5、经过几下几条语句,A和B的值分别为多少? A=6 B=7 C=A A=B B=C 6、Text1和Text2中分别输入5,6, 求Labe7l中值? Dim X AS Single, Y AS Single, Z AS Single X=Val(Text1.text) Y=Val(Text2.text) Z=X*Y/10 Label7.caption=Z 当条件满足时,执行语句组,接着执行Endif下面的语句。 当条件不满足时,执行Endif下面的语句。 1 、以下程序段的执行结果为? A=5 B=6 If A=10 Then Value=5*x Else Value=4*x End If Select case 表达式
VB程序设计习题
练习一 一、选择题 1、下面列出的程序设计语言中(A )是面向问题的语言。 A、机器语言 B、汇编语言 C、高级语言 D、0、1二进制语言 解释:机器语言和汇编语言都是面向机器的语言,二进制语言为机器语言,故其为面向机器的语言 2、下面列出的程序设计语言中(C )不是面向对象的语言。 A、C B、C++ C、Java D、VB 3、下列(D )不属于VB 6.0的版本。 A、学习版 B、专业版 C、企业版 D、共享版 解释:VB6.0共有三个版本:标准版、专业版、企业版。而其中的标准版是为初学者了解基于windows的应用程序开发而设计的,也可称为学习版。 二、填空题 1、从程序设计语言发展过程的角度来分类,计算机程序设计语言分:机器语言、汇编语言和高级语言。 2、VB 6.0采用了面向对象、事件驱动(可视化编程)的编程机制。 3、启动VB 6.0后可以从“现存”选项卡选择并打开系统中现存的工程文件。 练习二 一、选择题 1、如果窗体对象的名称为Forma1,Backcolor是窗体对象的一个属性,用来设置窗体的背景色,那么设置窗体背景色为蓝色的语句正确的是( A ) A、Forma1.Backcolor=vbBlue B、Backcolor= vbBlue C、Forma1 =vbBlue D、Forma1′s Backcolor is vbBlue. 2、下面方法中,不能打开编码编辑器的是(D) A、单击“视图”菜单中的“代码窗口”命令。 B、双击窗体设计器的窗体或控件。 C、双击窗体设计器的窗体或控件,单击工程资源管理器中的“查看代码”按钮。 D、双击窗体设计器的窗体或控件,单击标准工具栏中的“代码窗口”按钮。 3 、保存VB应用程序时,下列方法中正确的是(A) A、先保存窗体文件,再保存工程文件。 B、先保存工程文件,再保存窗体文件 C、直接保存窗体文件,系统会自动按顺序先保存窗体文件再保存工程文件。 D、直接保存窗体文件,系统会自动按顺序先保存工程文件再保存窗体文件。 二、填空题 1、VB工程文件的扩展名是工程文件(*.vbp),窗体文件的扩展名是窗体文件(*.frm)。 2、选中工程资源管理器中的窗体对象,再单击按钮可打开窗体设计器。 3、在VB中,按下工具栏中的“启动”按钮或键运行程序。 练习三 一、选择题 1、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是(C) A、工程资源管理器窗口 B、工具箱窗口 C、代码窗口 D、属性窗口 2、新建一个工程,将其窗体的名称属性设置为MyFirst,则默认的窗体文件名为(C) A、Form1. frm B、工程1. frm C、MyFirst.frm D、Form1.vbp 3、下列叙述中正确的是(C) A、只有窗体才是VB中的对象 B、只有控件才是VB中的对象 C、窗体和控件都是VB中的对象 D、窗体和控件都不是VB中的对象 解释:窗体时VB中最常见的对象,而控件是VB中预先定好的、程序中能够直接使用的对象。 4、设置窗体最小化时的图标可通过(A )属性来实现。 A、MouseIcon B、BackStyle C、Icon D、Picture 5、设置标签边框的属性是( B ) A、BorderStyle B、BackStyle C、AutoSize D、Alignment 6、文本框没有( D )属性。 A、Enable B、Visible C、BackColor D、Caption 7、下列操作中不能触发命令按钮的Click事件的是( B ) A、在按钮上单击鼠标左键 B、在按钮上单击鼠标右键 C、把焦点移至按钮上,然后按回车键 D、使用该按钮的快捷键
VBProject代码操作代码之常用语句
一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1” ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub
vb常见题型汇总代码
1.Private Sub Command1_Click() Dim r As Double, c As Double, s As Double Dim pi As Double pi = 3.1415926 r = Val(Text1.Text) c = pi * 2 * r s = pi * r * r Label3.Caption = "圆的周长为" + Str(c) + "厘米" Label4.Caption = "圆的面积为" + Str(s) + "平方厘米" End Sub 2.(5秒5分倒计时) Dim n As Integer Private Sub Command1_Click() If Option1.Value Then n = 5 If Option2.Value Then n = 300 Timer1.Enabled = True Frame1.Enabled = False Command1.Enabled = False End Sub Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() n = n - 1 Text1.Text = Str(n \ 60) & "分" & Str(n Mod 60) & "秒" If n <= 0 Then Timer1.Enabled = False Frame1.Enabled = True Text1.Text = "时间到" End If End Sub 3.心想事成 Dim x As Integer Private Sub Command1_Click() Timer1.Enabled = True If Command1.Caption = "开始" Then Timer1.Enabled = True Command1.Caption = "停止" Else Timer1.Enabled = False Command1.Caption = "开始" End If End Sub Private Sub Form_Load() Timer1.Interval = 100 x = -100 End Sub Private Sub Timer1_Timer() Label1.Left = Label1.Left + x If Label1.Left <= 0 Then x = 100 If Label1.Left >= Form1.ScaleWidth - Label1.Width Then x = -100 End Sub 4.我的调色板(滚动条) Private Sub Command1_Click() Label5.ForeColor = Label4.BackColor End Sub Private Sub HScroll1_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub 5.字形字体颜色(复选框,单选)Private Sub Check1_Click() If Check1.Value = 1 Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub Private Sub Check2_Click() If Check1.Value = 1 Then
VB程序开发的一般步骤和方法是怎样的
Visual Basic 一、名词 1.控件 2.属性 二、填空 1.在VB中,字符型常量应使用_________将其括起来,日期 /时间型常量应使用_______符号将其括起来。 2.VB的注释语句采用_________;VB的续行符采用___________;若要在一行书写多条语句,则名语句间应加 ___________分隔。 三、简答题 1.VB程序开发的一般步骤和方法是怎样的? 2.改正下列语句中的错误 1)B$=A234 2)Gf * 6 = y +99 3)Print hh=88-54 4)X=8 ,y = 54 5)Text4.Print “ * * * * * “ 四、选择题 1.可用什么函数来转让程序控制权,以便主操作系统处理其 他的事件? A、Input B、DoEvents C、Event D、Format 2.X=(98 Mod 10) \ 10 + 98 问:X = ? A、100 B、98 C、0 D、96 3.PictureBox 控件的Point方法含义为: A、取得一个点的颜色值
B、显示字符串 C、画圆或椭圆 D、设置一个点的颜色值 4.当MousePointer 属性设置为什么时,MouseIcon属性才起作 用? A、99 B、1 C、10 D、11 5.CheckBox 和OptionButton 的Alignment属性有哪些值? A、Left,Center B、Right,Center C、Left,Right D、Left,Right,Center 6.下列哪一段代码是正确的? A、If a >1 Then K =0 Else K = 1 End if B、If a >1 Then K= 0 Else K=1 C、If a >1 Then K= 0 Else K=1 End if D、If a >1 Then K= 0 End if 7. a = 1 if a > 0 then a = a +1 if a > 1 then a = 0 当VB执行到上述三句后,a 的值为多少? A、2 B、1 C、0 D、3
VB程序设计的常用算法填空题
VB程序设计的常用算法 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 将程序编写在一个GetTJput过程中,代码如下: Public Sub GetTJput() Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 For i = 1 To If a(i) < 10 Then Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If Then Next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数字 If p = 0 Then p = 10 Next i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个" Next i End Sub 二、求两个整数的最大公约数、最小公倍数 m=inputBox("m=") n=inputBox("n=") nm=n*m If m < n Then r=m mod n Do While m=n n=r
VB键盘常量大全 256个虚拟键码
Public Const VK_LBUTTON = &H1 Public Const VK_RBUTTON = &H2 Public Const VK_CANCEL = &H3 Public Const VK_MBUTTON = &H4 Public Const VK_BACK = &H8 Public Const VK_TAB = &H9 Public Const VK_CLEAR = &HC Public Const VK_RETURN = &HD Public Const VK_SHIFT = &H10 Public Const VK_CONTROL = &H11 Public Const VK_MENU = &H12 Public Const VK_PAUSE = &H13 Public Const VK_CAPITAL = &H14 Public Const VK_ESCAPE = &H1B Public Const VK_SPACE = &H20 Public Const VK_PRIOR = &H21 Public Const VK_NEXT = &H22 Public Const VK_END = &H23 Public Const VK_HOME = &H24 Public Const VK_LEFT = &H25 Public Const VK_UP = &H26 Public Const VK_RIGHT = &H27 Public Const VK_DOWN = &H28 Public Const VK_Select = &H29 Public Const VK_PRINT = &H2A Public Const VK_EXECUTE = &H2B Public Const VK_SNAPSHOT = &H2C Public Const VK_Insert = &H2D Public Const VK_Delete = &H2E Public Const VK_HELP = &H2F Public Const VK_0 = &H30 Public Const VK_1 = &H31 Public Const VK_2 = &H32 Public Const VK_3 = &H33 Public Const VK_4 = &H34 Public Const VK_5 = &H35 Public Const VK_6 = &H36 Public Const VK_7 = &H37 Public Const VK_8 = &H38 Public Const VK_9 = &H39 Public Const VK_A = &H41 Public Const VK_B = &H42 Public Const VK_C = &H43 Public Const VK_D = &H44
VB程序设计知识点归纳
第一章 1 从功能上讲,Visual Basic 6.0有3种版本,即:学习版、专业版、企业版 2 与传统的程序设计语言相比,Visual Basic最突出的特点是事件驱动编程机制。 3 Visual Basic 6.0集成环境的主窗口中含有标题栏、菜单栏、工具栏 4用标准工具栏中的工具按钮不能执行的操作是打印源程序。 5关于Visual Basic"方法"的概念错误的是方法是对事件的响应 6在Visual Basic中,称对象的数据为属性 7Visual Basic应用程序可以用解释方式执行也可以用编译方式执行 第二章 1 计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关闭计时器,应把该计时器的Enabled 属性设置为False ,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于1000 2 利用Ctrl + G操作可以打开立即窗口。 3 假定窗体上有一个标签,名为Lable1。为了使该标签透明并且没有边框,则正确的属性设置为:Lable1.BackStyle = 0 Lable1.BorderStyle = 0 4在设计阶段,当双击窗体上的某个控件时,所打开的窗口是代码窗口 5 在Visual Basic中,窗体文件的扩展名为FRM 6 窗体的Name属性指定窗体的名称,用来标识一个窗体 7 改变控件在窗体中的上下位置,应修改该控件的属性是Top 8 表示滚动条控件取值范围最大值的属性是Max 9 如果要改变窗体的标题,则需要设置的属性是Caption 10 在文本框(Text)中,通过ForeColor属性来设置字体颜色 11 若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值 为* 12 能够改变复选框中背景颜色的属性是Backcolor 13 图片框是不具有Picture属性的对象 14 窗体的Name属性指定窗体的名称,用来标识一个窗体 15 要想返回文本框中输入的内容则可利用text属性进行编程 第三章 1用于从字符串左边截取字符的函数是Left( ),设a="Visual Basic",使b="Basic"的语句是b=Left(a,8,5)。 2下列符号中哪个是VB程序中合法的变量名:A ab7 B 7ab C If D a*bc (A)数字开头,关键字,* 3X是小于100的非负数,用VB表达式表达正确的是0<=X and X<100 4设有如下变量声明Dim TestDate As Date 为变量TestDate正确赋值的表达方式是 TextDate=#1/1/200 2# 5表达式4 + 5 \ 6 * 7 / 8 Mod 9的值是5,设a=3,b=5,则表达式(a>b)Or(b>0)值为真。5/5.25 为1 如果除数与被除数不是整数时,系统会自动对其进行取整运算,取整是有规律的:如果整数部分为偶数,大于 0.5的就进位,小于等于0.5的就直接把小数去掉,5舍6入;如果整数部分为奇数,4舍5入。例如: 5\2.5等价于5\2 5\2.6等价于5\3 6函数String(n,"str")的功能是返回由n个字符组成的字符串 7设有如下声明: Dim X As Integer 如果Sgn(X) 的值为-1,则X的值是小于0的数Sgn(3-5)=-1 Sgn(5-3)=1 8Integer类型的数据由2字节组成,Long类型的数据由4字节组成。 9已知X<Y,A>B,正确表示它们之间关系的式子是Sgn(Y-X)-Sgn(A-B)=-2 10在一个有①逻辑运算②算术运算及③关系运算混合在一起的表达式(无括号)中,其运算顺序为②③①
vb常用程序代码
1、求半径为r的圆的面积,要求用户从键盘输入半r。 程序代码: Private Sub Form_click() Const PI = 3.14 Dim r% Dim s! r = InputBox("请输入半径r的值:", "求圆的面积") s = PI * r * r Form1.FontSize = 16 Print "半径是" + Str(r) + "的圆的面积是" + Str(s) End Sub 2、输入三个整数,从小到大顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a > b Then t = a: a = b: b = t If a > c Then t = a: a = c: c = t If b > c Then t = b: b = c: c = t Print "排序后:"; a, b, c End Sub 3、输入三个整数,从大到小顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a VB程序
SIN函授 Dim i%, j% Form1.Scale (-10, 3)-(10, -3) Line (-10, 0)-(10, 0) Line (0, 3)-(0, -3) For i = -10 To 10 Step 1 Line (i, 0)-(i, 0.2) CurrentX = i - 0.15 CurrentY = 0 Print i CurrentX = 9: Print "x" CurrentY = 3: Print "y" Next For j = -3 To 3 Step 1 If j <> 0 Then Line (0, j)-(0.2, j) CurrentX = 0 - 0.25 CurrentY = j + 0.1 Print j End If Next For x = -6.28 To 6.28 Step 0.001 Line (x, Sin(x))-(x + 0.001, Sin(x + 0.001)) Next 乘法口诀表
Private Sub Form_Click() Dim i%, j% For i = 1 To 9 For j = 1 To 9 Print Tab(10 * j); i & "*" & j & "=" & i * j; Next j Print Next i 打印雪花 Form1.Print Tab(1); "* * * * *"; Spc(10); "*" Print Tab(2); "* * * *"; Spc(10); "* *" Print Tab(3); "* * *"; Spc(10); "* * *" Print Tab(4); "* *"; Spc(10); "* * * *" Print Tab(5); "*"; Spc(10); "* * * * * 购买物品 Dim x!, y! x = InputBox("请输入钱数") If x < 1000 Then y = x End If If x <= 2000 And x >= 1000 Then y = 0.9 * x End If If x >= 2000 And x <= 3000 Then y = 0.8 * x End If If x >= 3000 Then y = 0.7 * x End If Text1.Text = y"
VB常用命令大全
常用命令 FontStrikeThru属性是逻辑型,决定对象上正文是否加一删除线。 FontItalic属性是逻辑型,决定对象上正文是否是斜体。 窗体的其它常用属性 2.Icon 控制图标属性:返回或设置窗体左上角显示或最小化时显示的图标。 注意:此属性必须在ControlBox属性设置为Ture才有效 3.ControlBox控制菜单框属性:设置Ture为有,如设置为False则无控件菜单,同时窗体也无最大化按钮和最小化按钮,即使MaxButton属性和MinButton属性设置为Ture。 5. BorderStyle:边框风格, 通过改变BorderStyle 属性,可以控制窗体如何调整大小。 0-None:无边框; 1-Fixed Single:单线边框,不可以改变窗口大小; 2-Sizable:双线边框,可以改变窗口大小; 3-Fixed Double:双线框架,不可以改变窗口大小。 4-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮,不可以改变窗口大小。 5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮,可以改变窗口大小。 6. WindowsState属性 用来设置窗体的运行状态。 0-Normal:正常窗口状态,有窗口边界; 1-Minimized:最小化状态,以图标方式运行; 2-Maximized:最大化状态,无边框,充满整个屏幕。 7. AutoRedraw属性 该属性决定窗体被隐藏或被另一窗口覆盖之后,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如Circle、Line、Pset和Print等方法的输出。 当为True时,重新还原该窗体以前的画面。 当为False时,则不重画AutoRedraw属性。 4 Resize事件 无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。 5 Activate事件:当窗体由非活动窗体变为活动窗体,即当窗体得到焦点时触发该事件。窗体常用的方法有: 打印输出Print 移动Move 清除Cls 显示Show 隐藏Hide等方法。 方法的使用的形式: [对象.]方法[参数] 1.Print方法 形式: [窗体名.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,] 作用: 在对象上输出信息 Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:从窗体第n列开始输出,允许重复使用。 ;(分号):光标定位上一个显示的字符后(紧凑格式)。 ,(逗号):光标定位在下一个打印区的开始位置处。每个打印区占14列(标准格式)。无;,换行。
VB代码大全
隐藏form1: form1.hide 显示form1: form1.show --------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出: Private Sub Form_Unload(Cancel As Integer) Dim iAnswer As Integer iAnswer = MsgBox("真要退出吗?", vbYesNo) If iAnswer = vbNo Then Cancel = True Else End End If End Sub ---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码: Private Sub From_Unload(Cancel As Integer) Cancel = true End Sub ------------------------------------------------------------------------------------------------ 点击command1打开33IQ网: Dim strURL Private Sub Command1_Click() strURL = "错误!超链接引用无效。 Shell "explorer.exe " & strURL, 1 End Sub ------------------------------------------------------------------------------------------------ 运行c:\1.exe shell "c:\1.exe" 执行c:\1.bat shell "c:\1.bat" 注:只适用于大部分exe和全部bat。
VB程序基本知识学案
主题:程序基本知识 数据类型、常量、变量、函数和表达式 一、点击考点: 1、知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。 2、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的 表达式。 3、掌握程序包括的四部分。 二、学习目标: 1、掌握数据类型及其特点; 2、知道常量、变量的声明格式;学会定义常量、变量 3、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。 4、知道程序包括的四部分内容。 三、学习方式: 在老师引导下的自主学习,互相评价做题效果 四、考点注解 1、知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。 (1)VB数据类型(阅读课本27页的表) (2)常量 在程序执行过程中,其值不能改变的量称为常量。常量可以直接用一个数来表示,称为常数(或称为直接常量),也可以用一个符号来表示,称为符号常量。 常量的定义格式如下: Const <常量名> [As 数据类型]=表达式 (3)变量 在程序执行过程中,其值可以改变的量称为变量。 1)变量的命名规则 ?变量名首字符必须是字母; ?变量名只能由字母、数字和下划线组成; ?变量名不能使用VB中的关键字(保留字); ?变量名在同一个作用域内必须唯一; ?变量名长度不超过255; ?变量的命名最好还应遵守一定的编程约定。 3)变量定义语句 Dim <变量名> As <类型> [, <变量名> As <类型>]… 2、知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。 运算符是在代码中对各种数据进行运算的符号。例如,有进行加、减、乘、除算术运算的运算符,有进行与、或、非、异或逻辑运算的运算符。 表达式是由运算符和运算对象及圆括号组成的一个序列,它是由常量、变量、函数等用运算符连接而成的式子。表达式是构成程序代码的最基本要素。 1)赋值运算符 赋值语句的语法格式为:
VB编程常用代码 大一练习专用
A,B,C排序由大到小 Dim a As Single,b As Single,c As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If b>a Then d=a:a=b:b=d End If If c>a Then d=a:a=c:c=d End If If c>b Then d=b:b=c:c=d End If Text4.Text=a Text5.Text=b Text6.Text=c End Sub Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" End Sub 计算a+b Private Sub Command1_Click() Text4.Text=Val(Text2.Text)+Val(Text3.Text) Text1.Text="欢迎新同学" End Sub 清除
Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" End Sub 奇偶数显示器 显示 Private Sub Command1_Click() Dim a As Integer a=Val(Text1.Text) If a/2=Int(a/2)Then Text2.Text="您输入的数是偶数" Else Text2.Text="您输入的数是奇数" End If End Sub 清除 Private Sub Command2_Click() Text1.Text="" Text2.Text="" End Sub 奇偶数判断 Dim a,b As Integer Dim result As Integer a=Val(InputBox("请输入一个整数","数的输入",300,400)) b=Val(InputBox("请输入一个整数","数的输入",300,400)) If a/2=Int(a/2)Then result=MsgBox("您输入的数:"&a&"是一个偶数",1,"判断结果") Form1.Print rusult Else m="您输入的数:"&a&"是一个奇数" result=MsgBox("您输入的数:"&a&"是一个奇数",1,"判断结果") Form1.Print result End If If b/2=Int(b/2)Then result=MsgBox("您输入的数:"&b&"是一个偶数",1,"判断结果") Form1.Print rusult Else result=MsgBox("您输入的数:"&b&"是一个奇数",1,"判断结果")
vba常用代码大全
前言 我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。 而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。 第1.1例 ASC函数 一、题目: 要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。 二、代码: Sub 示例_1_01() Dim myNum1%, myNum2% myNum1 = Asc("Excel") '返回69 myNum2 = Asc("e") '返回101 [a1] = "myNum1= ": [b1] = myNum1 [a2] = "myNum2= ": [b2] = myNum2 End Sub 三、代码详解 1、Sub 示例_1_01():宏程序的开始语句。 2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。 也可以写为 Dim myNum1 As Integer 。Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符 号 (%)。
3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。 Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。 语法 Asc(string) 必要的 string(字符串)参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。这里返回小写字母e 的ASCII代码101。 5、[a1] = "myNum1= ": [b1] = myNum1:把字符串“myNum1= “赋给A1单元格,把变量myNum1的值赋给B1单元格。 6、[a2] = "myNum2= ": [b2] = myNum2:把字符串“myNum2= “赋给A2单元格,把变量myNum2的值赋给B2单元格。 7、End Sub:程序的结束语句,和“Sub示例_1_01()”相对应。 第1.2例 Chr函数 一、题目"": 要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。 二、代码: Sub 示例_1_02() Dim myChar1$, myChar2$ myChar1 = Chr(69) ' 返回 E。 myChar2 = Chr(101) ' 返回 e。 [a1] = "myChar1= ": [b1] = myChar1 [a2] = "myChar2= ": [b2] = myChar2
VB程序的建立和运行
VB程序的建立和运行 一、课题名称: VB程序的建立和运行 二、教学课时 1课时 三、教学目标 掌握一个VB程序的建立、调试、运行、保存的过程; 掌握创建控件、设置属性的方法; 了解事件处理程序的作用及掌握编写、修改事件处理程序。 四、教学重点与难点 控件的创建及属性设置; 编写、调试事件代码。 五、教学方法与环境 任务驱动式,以讲解、演示、操作实践相结合进行教学。 网络教室,lanstar教学控制系统 六、教学过程 1、创设情景,激发学生探求、解决实际问题的愿望。 导言:如今买彩票已经成为许多人生活中不可缺少的一部分,电视里的摇奖过程勾动着众多彩民的心弦,随着摇奖机的转动,一个个中奖号码产生了。我们都知道,摇奖机摇出的号码是一个随机数,谁也无法预料、无法控制。这节课我希望能与同学们一起练习用VB软件来开发一个模拟摇奖程序,让我们也感受一下其中的快乐。 图-1 图-2 这个模拟程序开始中奖号码开始为空,当单击开奖按钮后,产生一个中奖号码。分析程序的构成,该程序在一窗口中运行,内含三个对象:标题、中奖号码、开奖按钮。 启动VB程序,进入如图-3界面。(教师演示)
图-3 放置一个标签控件、一个文本框控件、一个命令按钮控件(如下图-4)。 图-4 单击标签控件Label1将其选中,在图-4右下角的属性窗口内按下图示意修改其Caption 属性,其Font属性及另二个控件属性修改见下表。(示范、板书修改属性表)
修改后,程序界面基本完成如下图-5。保存一下程序,单击工具栏上保存图标,在弹出的对话框中依次输入窗体文件名、工程文件名,同时应该注意文件存放的位置。 图-5 双击“开奖”按钮,打开“代码编辑器”窗口如图-6,添加代码后如图-7。 图-6 图-7 此单击事件过程及三行代码的含义: Randomize 初始化随机数生成器,使 Rnd 函数产生不重复的随机数序列。 n = Int( 10000000 * Rnd )