计算机2级VB重要笔记.docx
- 文档编号:4948471
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:40.57KB
计算机2级VB重要笔记.docx
《计算机2级VB重要笔记.docx》由会员分享,可在线阅读,更多相关《计算机2级VB重要笔记.docx(18页珍藏版)》请在冰豆网上搜索。
计算机2级VB重要笔记
设计窗体:
如果只要求设置没有最小化和最大化:
minbutton:
false
maxbutton:
false
如何让一个窗口成为一个对话框(大小不能改变的窗口):
borderstyle:
边框的样式。
设计为3
工程包含了窗体和模块,在保存时,都是单独保存,先保存模块(扩展名为.bas),再保存窗体(.frm),最后保存工程(.vbp)
设计窗体分为三步:
添加控件,设置属性,书写代码
控件工具栏上的控件有(从左往右):
图片框(picture),标签(LabeL),文本框(Text),框架(Frame),命令按钮(Command),复选框(Check),选项按钮(Option),组合框(Combo),列表框(List),滚动条(Hscroll,Vscroll),时钟(Timer),磁盘列表框(Drive),文件夹列表框(dir),文件列表框(file),形状(shape),线条(Line),图像框(image)
常用的控件以及属性:
(1)窗体(Form)
caption:
name:
控件的名称.(用于称呼)(name对应于属性框中的名称,只能在设计时改名称,在运行时(即在书写代码时)不能改name属性)
borderstyle:
maxbutton
minbutton
(2)标签(Label)->用于显示文字
caption
font属性(在属性框中的),而代码中设置字体属性,则需要分别设置:
fontname
fontsize
fontbold
fontitalic
fontunderline
forecolor
borderstyle:
边框的样式。
0-->无,1-->有边框
(3)文本框(Text)-->用于输入和显示文字
text:
框中的文字.(在属性框中将text属性删除,表示设置text为空,而在代码中设置text为空,应该写成:
text1.text="")
multiline:
文本框中的文字为多行.
scrollbars:
文本框中是否有滚动条.1-->水平,2-->垂直,3-->都有
(4)命令按钮(Command)
caption:
按钮上的文字.
cancel:
是否响应Esc键,即按下Esc等同于单击此按钮.
default:
是否响应Enter键,即按下Enter等同于单击此按钮
如何为按钮设置热键(访问键)?
?
在caption属性的后面输入&字母,该字母就是热键,通过按下Alt+字母等同于单击此按钮.
(5)框架(Frame)-->是一个容器.(可用于容器的有picture,frame,form)
决定一个控件大小的是height和width
决定一个控件的位置是left和top(相对于包含它的容器而言)
如何让一个控件移动?
?
(即改变位置,也就是改它们的left和top属性)
格式1:
控件名.left或top=值
格式2:
控件名.move新的left值[,新的top值,新的width,新的height]
只有caption
(6)复选框(Check)-->方框打勾
caption
value:
复选框是否被选中.0-->未选中,1-->选中,2-->不确定
(7)选项按钮(Option)-->圆圈打点
caption
value:
选项按钮是否被选中.true表示选中,false表示未选中.
end:
结束整个程序(工程)-->将关闭所有的窗体.
unload窗体名-->关闭这个窗体
me-->代表当前窗体.
unloadme:
关闭当前窗口
load(运行窗体)
load窗体名-->运行这个窗体(在内存中),此窗体并不出现.如果希望窗体出现,书写代码:
窗体名.show或窗体名.visible=true
窗体名.show-->既有load之意,也有show之意(可以单独出现)
(8)滚动条:
(Hscroll,Vscroll)
min
max
smallchange
largechange
value
例:
新建一个如图所示的窗体,要求在操作滚动框时,自动在窗口上显示当前滚动条的位置.
在Hscroll1_change()中写代码:
?
hscroll1.value
(9)时钟(Timer)-->只要是有时钟,就得设置它的interval,就必须为其timer事件写代码.
interval:
计时的间隔,每隔多少毫秒自动计时(timer一次)
enabled:
时钟是否可用.当enabled为false时,时钟停止
时钟只会发生一个事件:
Timer事件(计时事件)
例:
新建一个如图所示的窗口,要求运行时,窗体是自动显示所经过的秒数.
添加时钟,设置interval为1000
OptionExplicit
DimxAsInteger
PrivateSubTimer1_Timer()
x=x+1
Printx
EndSub
例:
新建一个如图所示的窗口,要求运行时,单击"开始计时"时,文本框自动显示所经过的秒数,单击"停止"时,时停止计时.
OptionExplicit
DimxAsInteger
PrivateSubCommand1_Click()
Timer1.Enabled=True
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubTimer1_Timer()
x=x+1
Text1.Text=x
EndSub
(10)形状(shape)-->用于显示图形
shape:
图形的形状.0-->矩形,1-->正方形,2-->椭圆,3-->圆,4-->圆角矩形,5-->圆角正方形
fillcolor:
指填充(或填充图形)的颜色.如果希望填成某种颜色,则需要将fillstyle设置为0
fillstyle:
填充的样式.0-->颜色,1-->7表示填充图形
bordercolor:
边线的颜色
(11)线条(Line)
bordercolor:
线的颜色.
x1,y1->代表第一个端点的坐标
x2,y2-->代表第二个端点的坐标.
(12)图像框(image)-->只能显示图片
picture:
图像框中的图片
在属性框中设置图片,可以直接将picture设置为图片文件名,而在代码中设置picture必须写成:
图像框名.picture=loadpicture("图片位置及文件名")
stretch:
图片是否随框的变化而变化.
默认是图多大,框多大,如果希望框多大,图多大,将stretch设置为true
如果需要同时设置picture和stretch,必须先设stretch,再设picture
(13)图片框(picture)-->用于显示图片,文字,以及作为容器
用于显示图片:
picture属性,参考图像框的picture
用于显示文字:
?
和print表示显示,默认情况下,是在窗口上显示,如果希望在图片框中显示,则必须用
picture1.print显示的内容
cls->代表清屏(默认清除是窗体),如果希望清除图片框中的文字:
picture1.cls
autosize(自动大小):
框是否随图变(变大或变小)
(14)组合框(Combo)-->由文本框和列表框构成,文本框可以输入,列表框可以选择.
列表框中的列条目的内容可以在属性框中设置list属性,(设置完一项后,按下Ctrl+Enter键输入下一项)
listcount:
list(i)-->组合框中第i项的内容(列表框的项号从0开始)
listindex-->组合框中所选中的项的序号(从0开始)
text-->组合框中被选中或被输入的内容.
如何为列表框(组合框)添加条目(项)?
?
列表框/组合框.additem要添加的项的内容
如何移去列表框的项?
?
列表框/组合框.removeitem要移去的项的序号
(15)列表框(List)-->基本同组合框,参考组合框
组合框不能多选,列表框可以,通过设置列表框的multiselect属性.
列表框有,组合框没有的属性:
selected(i)-->列表框中的第i项是否被选中.
组合框有,列表框没有的属性:
style-->组合框的样式.默认为0-->下拉组合框(即既可以输入,也可以选择),1-->简单组合框,2-->下拉列表框(只能选,不能输入)
例:
新建一个工程,窗体上有两个文本框、三个单
选按钮和一个命令按钮。
运行时,在Text1中输入若干个大写和小写字母,
并选中一个单选按钮,再单击"转换"按钮,则按选中的单选按钮的标题
进行转换,结果放入Text2
如何改变字母的大小写?
?
(1)Ucase(字符串)-->将所有的字符都变成大写
Lcase(字符串)-->将所有的字符都变为小写
(2)将一个字符变成大写
chr(Asc(x)-32)-->将x变成大写
DimiAsInteger,xAsString
Text2.Text=""
IfOption1.Value=TrueThen
Fori=1ToLen(Text1.Text)
x=Mid(Text1.Text,i,1)
Ifx>="A"Andx<="Z"Then
Text2.Text=Text2.Text&LCase(x)
ElseIfx>="a"Andx<="z"Then
Text2.Text=Text2.Text&UCase(x)
Else
Text2.Text=Text2.Text&x
EndIf
Next
ElseIfOption2.Value=TrueThen
Text2.Text=UCase(Text1.Text)
Else
Text2.Text=LCase(Text1.Text)
EndIf
对文件的操作分为三步:
(1)打开文件:
open“文件位置及文件名”forinput/output/appendas#文件号
for表示打开文件是为了?
?
forinput为了读
foroutput为了写(文件内容发生改变)
forappend为了追加(为了写)
(2)读或写文件
a.读文件(只能读到变量中)
input#文件号,变量名列表‘一个变量只存放一个逗号之前的部分或者是一行的内容.
Lineinput#文件号,字符型变量‘读一行文字
b.写文件:
print#文件号,输出项列表
(3)关闭文件
close[#文件号]
例:
单击”读数”,则将文件in5.txt中的数读入到文本框中.
dimxasinteger
open“in5.txt”forinputas#1
input#1,x
text1.text=x
close#1
例:
单击”存盘”时,则将文本框2的内容保存到out5.txt
open“out5.txt”foroutputas#1
print#1,text2.text
close#1
各种数据类型的类型说明符:
整型(%),长整型(&),单精度(!
),双精度(#),货币型(@),字符型($)
弹出式菜单(也叫快捷菜单)和下拉式菜单做法相同,只需要将主菜单项设置为不可见(即将”可见”取消选中),然后在Mousedown中写代码:
(调出快捷)
ifbutton=2then‘单击了右键
popupmenu主菜单名
endif
组合框/列表框.additem要添加的内容
组合框/列表框.removeitem要移去的项的序号
如果要求设置一个控件里面的文字相对于控件而言的位置(对齐)表示设置它们的alignment属性,1->左对齐,2右对齐,3居中
如何将一个数四舍五入保留三位小数:
(1)int(x*1000+0.5)/1000
(2)cint(x*1000)/1000
数组用于存放一组数(若干个数),数组在使用之前,必须要先定义。
定义数组的格式:
dim数组名(下标1)as类型
dim数组名(下标1,下标2)as类型
如果要设置控件中的文字相对于控件本身而言的对齐,需要设置它的alignment属性,0—>左对齐,1右对齐,2居中
文本框(text)的属性:
(1)text:
框中的内容
(2)passwordchar:
文本框中显示的占位符,(一般设置为*号)
以下属性(和文本框的选中有关)
selstart:
选择的文本的起始位置
sellength:
选择的文本的长度.
seltext:
选择的内容
hideselection:
默认情况下,当文本框失去焦点时,其中选中的文字不再呈选定状态,如果将hideselection设置为false,则文本框中的文字总是呈选定状态.
如果希望让文本框中自动选中文字,就是设置文本框的selstart和sellength
例:
新建一个窗体,要求单击选中时,则选中文本框1中的第3位开始的3个字符.单击“删除”时,则把所选中的字符剪切到文本框2.
PrivateSubCommand1_Click()
Text1.SelStart=2
Text1.SelLength=3
EndSub
PrivateSubCommand2_Click()
Text2.Text=Text1.SelText
Text1.SelText=""
EndSub
输入框(inputbox)
格式有两种
(1)语句
(2)函数
1.语句:
inputbox提示信息[,标题,默认值]
2.函数:
(将所输入的值存到变量中,以便以后使用)
变量名=inputbox(提示信息[,标题,默认值])
消息框(msgbox)
格式有两种
(1)语句
(2)函数
1.语句:
msgbox提示信息[,按钮及图标及默认按钮,标题]
2.函数:
将所选择的按钮保存到变量
变量名=msgbox(提示信息[,按钮及图标及默认按钮,标题])
例:
程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后单击命令按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中
Fori=1ToLen(Text1.Text)
c=Mid(Text1.Text,i,1)‘每个字符
Ifc<>""Then
dc=dc+c‘dc用于存放每一个单词
Else
List1.AddItemdc
dc=""
EndIf
Next
List1.AddItemdc'由于最后一个单词没有空格,添加最后一个单词
ubound(数组名)-求一个数组下标的上限
Lbound(数组名)求一个数组下标的下限
表示x能被y整除,有三种方法:
(1)xmody=0
(2)x/y=int(x/y)
(3)x/y=x\y
判断一个数x是否为素数
可以用x去除2x-1中的每一个数
也可以用x去除2int(x/2)中的每一个数
用x去除2sqr(x)中的每一个数
const常量名=值表示设一个常量,并赋值,注意:
不允许再次给值。
(即常量名就代表了一个具体的值)
如果想处理数据a(m,n)中的每一个元素,此时必须写成:
fori=1tom‘行标
forj=1ton‘下标
a(i,j)‘代表每一个数组元素
next
next
如何向窗体上添加一个通用对话框?
工程/部件,选择”MicrosoftCommondialogcontrol6.0”,此时将会在控件工具栏上的出现对话框的图标(和其它的控件一样添加,可以画,也可以双击)
默认情况下,对话框不会自动出现,必须调出
如何让对话框出现?
?
(即调出对话框)(两种方法)
(1)设置对话框的action属性:
对象名.action=值
值可以为1,2,3,4,5,表示调出的对话框的类型
1打开,2保存,3颜色,4字体,5打印
(2)调用对话框的方法:
对象名.方法名
showopen打开,showsave保存,showcolor颜色,showfont->字体,showprint打印
第21套题(看有什么问题?
?
)
DimxAsInteger,gsAsInteger
x=Text1.Text-1
gs=0
DoWhilex>0
IfIsPrime(x)=TrueThen
gs=gs+1
Label1(gs-1).Caption=x
Ifgs=3ThenExitDo
Else
x=x-1
EndIf
Loop
以下代码用于判断一串文字s中的回文的个数
红色部分用于判断某个单词(即dc)是否为回文
gs=0
Fori=1ToLen(s)
zm=Mid(s,i,1)
Ifzm<>""Then
dc=dc+zm
Else
flag=True
Forj=1ToLen(dc)/2
IfMid(dc,j,1)<>Mid(dc,Len(dc)-j+1,1)Then
flag=False
ExitFor
EndIf
Next
Ifflag=TrueThengs=gs+1
dc=""
EndIf
Next
Text1.Text=gs
Array()函数用于给单个变量赋一组值,此时的简单变量就变成了数组
例如:
Dima‘a是一个变量,只能存放一个值
A=array(值1,值2,值3..)‘此时a变量就成为数组,a(n),n由所给的值决定.
事件:
是由系统预先规定好的动作,可以由系统(计算机)自动引发也可以由用户引发.
如load
unload是由系统自动进行的操作
click,dblclick,mousedown,change事件是由用户进行操作
标识符(就是指文件名,变量名)
变量名(或文件名)在命名时规定:
只能以字母开头,只能包含字母,下划线和数字,其它的任何字符都是非法字符,并且不能和vb的关键字同名.
关键字:
如for,loop,print,and
算术运算符的优先级:
先乘方(^),再乘除,再整除(\),再求余(mod),再加减,最后连接(&)
逻辑运算符的优先级是:
先not再and再or
String()-->用于产生一个字符串
两种格式:
(1)string(N,字符串S)-->产生一个含有N个S首字符的字符串.
如string(3,”abc”)-->结果为aaa
(2)string(N,Ascii码)-->产生一个含有N个该Ascii码对应的字符串
?
string(2,65)-->结果为AA
keycode表示所按的键的键位符.字母的keycode(无论是大写不是小写),值都为大写的keyascii值
keyascii表示所按的键对应字符的Ascii值
Format(x,”格式符格式”)-->将x以某种格式输出
格式符有两种:
0-->代表一位数字(不足的位数,补0)
#-->代表一位数字
-->表示千位分隔符
?
Format(3.1567,”0.00”)‘3.16
?
formart(3.1567,”#.##”)‘3.16
?
format(3.1567,”00.00000”)’03.15670
?
format(3.1567,”##.#####”)‘3.1567
?
format(123456.78,”0,00.000”)‘123,456.780
iif(表达式,值1,值2)-->如果表达式为true,结果为值1,否则为值2.
如果要将数组n个数进行排序,必须写双层循环
fori=nto2step-1
forj=1toi-1
ifa(j)>a(j+1)then‘升序
交换
endif
next
next
keypreview:
如果在控件中(如text1中)按下键,优先执行窗口的keydown过程,再执行控件本身的keydown过程
VB的应用程序既能以解释的方式执行,也能用编译的方式的执行。
a为数组,b为简单变量
foreachbina-->将每一个a依次赋给b,第一次b中存放a
(1),第二次存放a
(2),注意:
b永远是一个简单变量.
逻辑型的数据在参加数值运算时,将true变成-1,false变为0
数值型数据在参与逻辑运算时,认为非0为true,0为false
变量名必须以字母开头,只能包含字母,下划线和数字,其它的任何字符都为非法字符,并且不能和vb的关键字同名(如print,dim等等不能取)
当形参为控件名时,如果在任何时候传递的是同一种类型的控件,则可以写上该种类型的控件类型或control.如果为不同类型的控件,则必须应该写成control
如果传递的是文本框,则形参中应该写成astextbox
如果传递的实参时而文本框,时而标签,则形参应该写成ascontrol
程序的基本结构是:
顺序结构,选择结构和循环结构.
函数的返回值只有一个,过程没有返回值
自定义的过程和函数过程,只能在通用/声明或模块中定义.
foreachbina
语句段
next
b必须为简单变量,a必须为数组.表示将每一个a的元素依次赋给b,则第一次循环时,b=a
(1),第二次循环时,b=a
(2),依次类推。
即b就是代表每一个a,也就是a(i)
顺序文件的长度是任意的,随机文件的长度是固定的.
一种逻辑结构(分为两种:
线性结构和非线性结构)对应多种存储结构(分为:
顺序存储和链式存储),即线性结构(也叫线性表)既可以顺存,也可以链式存,各种存储结构影响数据处理的效率.
排序方法:
(1)交换类:
冒泡排序:
n(n-1)/2
快速排序:
n(n-1)/2
(2)插入类:
简单插入排序:
n(n-1)/2
希尔排序:
O(n1.5)
(3)选择类:
简单选择排序:
n(n-1)/2
堆排序:
O(nlog2n)
查找方法有两种:
顺序查找(n次),二分法查找(log2n)
二方法查询适用于顺序存储的有序线性表.
线性链表指的是链式存储的线性表.链表只能顺序查找.
数据独立性分为两种:
逻辑独立性和物理独立性.(A变,B不变是,叫A独立)
(逻辑)数据模型分为三种:
层次模型,网状模型,关系模型
层次模型:
用树形表示实体之间联系的模型.
网状模型:
用箭头或有向图表示实体之间的联系.
关系模型:
用关系(即二维表)来表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 VB 重要 笔记