VB总纲.docx

上传人:b****4 文档编号:4344487 上传时间:2022-11-30 格式:DOCX 页数:30 大小:286.50KB
下载 相关 举报
VB总纲.docx_第1页
第1页 / 共30页
VB总纲.docx_第2页
第2页 / 共30页
VB总纲.docx_第3页
第3页 / 共30页
VB总纲.docx_第4页
第4页 / 共30页
VB总纲.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

VB总纲.docx

《VB总纲.docx》由会员分享,可在线阅读,更多相关《VB总纲.docx(30页珍藏版)》请在冰豆网上搜索。

VB总纲.docx

VB总纲

1、时钟

2、滚动条

3、列表框

4、复选框

5、单选框

6、组合框

7、多分枝选择

8、定义函数

九、TXT

十、数组

一、时钟

程序运行后,每隔2秒命令按钮Command1向右移动100个单位。

PrivateSubForm_Load()

Timer1.Interval=2

EndSub

PrivateSubtimer1_timer()

Callmymove

EndSub

Submymove()

Command1.Left=Command1.Left+200

EndSub

二、滚动条

水平滚动条HScroll1的数值范围0~4000,LargeChange设置为200,SmallChange设置为50,水平滚动条HScroll1的值(Value)代表命令按钮Command1的宽度,当水平滚动条的滑块变化时,命令按钮Command1的宽度随之改变

PrivateSubForm_Load()

HScroll1.Min=0

HScroll1.Max=4000

HScroll1.SmallChange=50

HScroll1.LargeChange=200

Command1.Caption="驻倚靠危楼风细细,无言谁会凭栏意。

衣带渐宽终不悔,为伊销得人憔悴"

EndSub

PrivateSubHScroll1_Change()

Command1.Width=Val(HScroll1.Value)

EndSub

三、列表框

①点击“->”按钮,将左边列表中的选中项移动到右边列表的末尾;点击“<-”按钮,将右边列表中的选中项移动到左边列表的末尾;点击“=>”按钮,将左边列表所有内容移动到右边列表的末尾;点击“<=”按钮,将右边列表所有内容移动到左边列表的末尾。

PrivateSubForm_Load()

List1.AddItem"A"

List1.AddItem"B"

List1.AddItem"C"

List2.AddItem"d"

List2.AddItem"e"

EndSub

PrivateSubCommand1_Click()

i=List1.ListIndex

Ifi>=0Andi<=List1.ListCount-1Then

List2.AddItemList1.Text

List1.RemoveItemi

EndIf

EndSub

PrivateSubCommand2_Click()

i=List2.ListIndex

Ifi>=0Andi<=List2.ListCount-1Then

List1.AddItemList2.Text

List2.RemoveItemi

EndIf

EndSub

PrivateSubCommand3_Click()

Dimi%

Fori=0ToList1.ListCount-1

List2.AddItemList1.List(i)

Nexti

List1.Clear

EndSub

PrivateSubCommand4_Click()

Dimi%

Fori=0ToList2.ListCount-1

List1.AddItemList2.List(i)

Nexti

List2.Clear

EndSub

②实现追加、插入、修改、删除、清空等5个按钮的功能

SubClrList(AListAsListBox)

Fori=AList.ListCount-1To0Step-1

AList.RemoveItemi

Nexti

EndSub

PrivateSubCommand1_Click()

List1.AddItemText1.Text

EndSub

PrivateSubCommand2_Click()

i=List1.ListIndex

WithList1

Ifi>=0Andi<=.ListCount-1Then.AddItemText1.Text,i

EndWith

EndSub

PrivateSubCommand3_Click()

i=List1.ListIndex

Ifi>=0Andi<=List1.ListCount-1Then

List1.List(i)=Text1.Text

EndIf

EndSub

PrivateSubCommand4_Click()

WithList1

If.ListIndex>-1Then_

.RemoveItem.ListIndex

EndWith

EndSub

PrivateSubCommand5_Click()

ClrListList1'List1.Clear

EndSub

PrivateSubForm_Load()

List1.Clear:

List1.AddItem"语文":

List1.AddItem"数学":

List1.AddItem"英语"

EndSub

③实现第一条、前一条、后一条、最后一条等4按钮的功能

PrivateSubform_load()

List1.AddItem"财务"

List1.AddItem"会计"

List1.AddItem"国贸"

List1.AddItem"营销"

List1.AddItem"工管"

PrivateSubCommand1_Click()

List1.Text=List1.List(0)

EndSub

PrivateSubCommand2_Click()

List1.Text=List1.List(List1.ListIndex-1)

EndSub

PrivateSubCommand3_Click()

List1.Text=List1.List(List1.ListIndex+1)

EndSub

PrivateSubCommand4_Click()

List1.Text=List1.List(List1.ListCount-1)

EndSub

4、复选框

①窗体中4个复选框分别代表4各班级,复选框中的标题文字代表班级人数,用户选择复选框后,点击命令按钮Command1,程序计算出所选班级的总人数,结果放入文本框Text1中。

PrivateSubCommand1_Click()

Dims%

IfCheck1.Value=1Then

s=s+Val(Check1.Caption)

EndIf

IfCheck2.Value=1Then

s=s+Val(Check2.Caption)

EndIf

IfCheck3.Value=1Then

s=s+Val(Check3.Caption)

EndIf

IfCheck4.Value=1Then

s=s+Val(Check4.Caption)

EndIf

Text1.Text=Str(s)

EndSub

PrivateSubForm_Load()

Check1.Caption=30

Check2.Caption=28

Check3.Caption=31

Check4.Caption=29

Label1.Caption="人数"

Text1.Text=""

EndSub

②用户选择复选框后,点击命令按钮Command1,程序根据复选框对文本框Text1中的字体进行相应的设置。

PrivateSubCommand1_Click()

IfCheck1.Value=1ThenText1.FontBold=True

IfCheck2.Value=1ThenText1.FontItalic=True

IfCheck3.Value=1ThenText1.FontUnderline=True

EndSub

五、单选框

用户在数和算法两个框架中各选一个单选按钮,点击命令按钮Command1,程序根据选中单选按钮进行相应的计算,结果放入文本框Text1中。

PrivateSubCommand1_Click()

Dima%,b%,c%,d%

k=1:

t=0

a=Val(Option1.Caption)

b=Val(Option2.Caption)

IfOption1.ValueAndOption3.ValueThen

Fori=1Toa

k=k*i

Nexti

Text1.Text=k

ElseIfOption1.ValueAndOption4.ValueThen

Fori=1Toa

t=t+i

Nexti

Text1.Text=t

ElseIfOption2.ValueAndOption3.ValueThen

Fori=1Tob

k=k*i

Nexti

Text1.Text=k

ElseIfOption2.ValueAndOption4.ValueThen

Fori=1Tob

t=t+i

Nexti

Text1.Text=t

EndIf

EndSub

5、组合框

字体组合框包括宋体、黑体、幼圆、隶书4个列表项;字号组合框列表项的值从12~48,以4递增。

选择字体组合框或者字号组合框中的某一项,点击按钮Command1,文本框中的字体和字号进行相应的改变。

PrivateSubCommand1_Click()

Text1.FontName=Combo1.Text

Text1.FontSize=Combo2.Text

EndSub

PrivateSubForm_Load()

Combo1.AddItem"宋体"

Combo1.AddItem"黑体"

Combo1.AddItem"幼圆"

Combo1.AddItem"隶书"

Fori=12To48Step4

Combo2.AddItemi

Nexti

Text1.Text="VisualBasic"

EndSub

七、多分枝

①加密:

点击加密按钮Command1,输入1个小写英文字母,程序将该英文字母变为字母表中其后面的一个字母输出,如a改为b,m改为n,z改为a,以此类推。

点击解密按钮Command2,输入1个小写英文字母,程序将其解密后通过输出。

使用InputBox和MsgBox完成输入输出。

PrivateSubCommand1_Click()

DimaAsString,bAsString

a=InputBox("")

IfAsc(a)=122Then

b=Chr(97)

Else:

b=Chr(Asc(a)+1)

EndIf

MsgBoxb

EndSub

PrivateSubCommand2_Click()

DimcAsString,dAsString

c=InputBox("")

IfAsc(c)=97Then

d=Chr(122)

Else:

d=Chr(Asc(c)-1)

EndIf

MsgBoxd

EndSub

②铁路收费:

铁路行李托运费计算规则为:

行李重量不超过50kg时,每千克0.25元;超过50kg不超过100kg时,其超过部分每千克0.35元;超过100kg时,其超过部分每千克0.45元。

点击按钮Command1,程序输入行李重量,计算并输出托运费用。

使用InputBox和MsgBox完成输入输出。

PrivateSubCommand1_Click()

DimaAsDouble,bAsDouble

a=Val(InputBox(""))

Ifa>=0Anda<=50Then

b=a*0.25

ElseIfa<=100Then

b=12.5+(a-50)*0.35

ElseIfa>=100Then

b=30+(a-100)*0.45

EndIf

MsgBoxb

EndSub(也可用selectcase语句)

③成绩评定;成绩评价方法为:

90及以上优秀,80及以上良好,70及以上中等,60及以上及格,60以下不及格。

点击按钮Command1,程序输入成绩,输出成绩评价。

使用InputBox和MsgBox完成输入输出。

PrivateSubCommand1_Click()

a=Val(InputBox("输入成绩"))

Ifa>=90Then

b="优秀"

ElseIfa>=80Then

b="良好"

ElseIfa>=70Then

b="中等"

ElseIfa>=60Then

b="及格"

Else

b="不及格"

EndIf

MsgBoxb

EndSub(也可用selectcase语句或者直接限定范围进行选择)

8、定义函数:

①【一个月有几天】一个月的天数:

在窗体Form1中实现函数Days。

参数y和m分别表示年份和月份,函数返回该年该月的天数。

提示:

闰年2月份有29天,平年有28天。

闰年的条件:

1)年份能被4整除,但不能被100整除;2)或年份能被400整除PublicFunctionDays(yAsLong,mAsLong)AsLong……EndFunction

Functionleap(yAsLong)AsBoolean

b1=yMod4=0

b2=yMod100<>0

b3=yMod400=0

leap=b1Andb2Orb3

EndFunction

PublicFunctiondays(yAsLong,mAsLong)AsLong

SelectCasem

Case2

Ifleap(y)Then

days=29

Else

days=28

EndIf

Case4,6,9,11

days=30

Case1,3,5,7,8,10,12

days=31

EndSelect

EndFunction

PrivateSubCommand1_Click()

Dima&,b&,c&

a=Val(InputBox(""))

b=Val(InputBox(""))

c=days(a,b)

MsgBoxc

EndSub

②【三角形】:

在窗体Form1中实现函数Triangle。

a,b,c三个参数为三角形三条边,若三边能构成三角形,通过参数p将周长返回,函数返回值返回三角形面积;否则周长和面积均返回0。

提示:

海伦公式为:

PublicFunctionTriangle(aAsLong,bAsLong,cAsLong,pAsLong)AsDouble……EndFunction

PublicFunctionTriangle(aAsLong,bAsLong,cAsLong,ByRefpAsLong)AsDouble

Diml

Ifa+b<=cOra+c<=bOrb+c<=aThen

Triangle=0:

p=0

Else

p=a+b+c

l=p/2

Triangle=Sqr(l*(l-a)*(l-b)*(l-c))

EndIf

EndFunction

PrivateSubCommand1_Click()

Dima&,b&,c&,p&,s#

a=Val(Text1.Text)

b=Val(Text2.Text)

c=Val(Text3.Text)

s=Triangle(a,b,c,p)

Text4.Text=str(p)

Text5.Text=str(s)

EndSub

③【计算总和】:

在窗体Form1中实现函数Sum。

参数a()为输入的数组,函数返回数组中所有元素之和。

PublicFunctionSum(a()AsLong)AsLong……EndFunction

Functionsum(a()AsLong)AsLong

sum=0

Fori=LBound(a)ToUBound(a)

sum=sum+a(i)

Nexti

EndFunction

PrivateSubCommand1_Click()

Dima(3)AsLong

TextToArrayText1,a

MsgBoxsum(a)

EndSub

④【排序】:

在窗体Form1中实现子程序Sort。

参数a()为数组,子程序Sort对该数组按正序(从小到大)排序。

PublicSubSort(a()AsLong)……EndSub

PublicSubsort(a()AsLong)

Dimi%,j%,k%,p%

Fori=LBound(a)ToUBound(a)-1

p=i

Forj=i+1ToUBound(a)

Ifa(p)>a(j)Thenp=j

Nextj

k=a(i)

a(i)=a(p)

a(p)=k

Nexti

EndSub(王老师的那种算法可能会评测错误)

⑤【判断是否三角形等腰】:

在窗体Form1中实现函数TriangleClass。

a,b,c三个参数为三角形三条边,函数返回三角形的形状。

可能的三角形形状为以下4种:

等边三角形,等腰三角形,一般三角形,不构成三角形。

PublicFunctionTriangleClass(aAsLong,bAsLong,cAsLong)AsString……EndFunction

PrivateSubCommand1_Click()

DimaAsLong,bAsLong,cAsLong

a=Val(InputBox(""))

b=Val(InputBox(""))

c=Val(InputBox(""))

MsgBoxtriangleclass(a,b,c)

EndSub

PublicFunctiontriangleclass(aAsLong,bAsLong,cAsLong)AsString

Dims$

Ifa+b<=cOrb+c<=aOra+c<=bThen

s="不构成三角形"

ElseIfa=bAnda=cAndb=cThen

s="等边三角形"

ElseIfa=bOrb=cOra=cThen

s="等腰三角形"

Else:

s="一般三角形"

EndIf

triangleclass=s

EndFunction

⑥【最大值】:

在窗体Form1中实现函数Max。

参数a()为输入的数组,函数返回数组中的最大值。

PublicFunctionMax(a()AsLong)AsLong……EndFunction

OptionBase1

PrivateSubForm_Load()

Dimn%,a%(),i%

n=Val(InputBox(""))

ReDima(n)

Fori=1Ton

a(i)=Val(InputBox(""))

Nexti

MsgBoxmax(a())

EndSub

PublicFunctionmax(a()AsLong)AsLong

DimiAsInteger

max=a(LBound(a))

Fori=LBound(a)ToUBound(a)

Ifa(i)>maxThenmax=a(i)

Nexti

EndFunction

⑦【排序】:

在窗体Form1中实现子程序Sort。

参数a()为数组,子程序Sort对该数组按逆序(从大到小)排序。

PublicSubSort(a()AsLong)……EndSub

PublicSubSort(a()AsLong)

n=UBound(a)

Fori=0Ton-1

Forj=i+1Ton

Ifa(j)>a(i)Then

t=a(i)

a(i)=a(j)

a(j)=t

EndIf

Nextj

Nexti

EndSub

⑧【完数】:

在窗体Form1中实现函数Perfect。

如果参数x为完全数,该函数返回True;否则返回False。

(完全数:

真因子(除自身以外的因子)之和为其本身)PublicFunctionPerfect(xAsLong)AsBoolean……EndFunction

PrivateSubCommand1_Click()

DimxAsLong

x=Val(InputBox(""))

MsgBoxperfect(x)

EndSub

PublicFunctionperfect(xAsLong)AsBoolean

Fori=0Tox-1

IfxModi=0Then

s=s+i

EndIf

Nexti

Ifs=xThen

perfect=True

Else

perfect=False

EndIf

EndFunction

⑨【符号函数】在窗体Form1中实现函数MySgn。

当参数x>0时,函数MySgn返回1;当参数x<0时,函数MySgn返回-1;当参数x=0时,函数MySgn返回0。

PublicFunctionMySgn(xAsLong)AsLong……EndFunction

PublicFunctionMySgn(ByValxAsLong)As

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1