初中vb编程代码大全(初高中vb编程题)
vb编程的代码和函数
我自己整理了一些,不多,你看看吧。如果要有列子的再找我。 (一)类型转换类函数
1. CType(X)
[格式]:
P=CBool(X) ' 将X转换为“布尔”(Boolean)类型
P=CByte(X) ' 将X转换为“字节”(Byte)类型
P=CCur(X) ' 将X转换为“金额”(Currency)类型
P=CDate(X) ' 将X转换为“日期”(Date)类型
P=CDbl(X) ' 将X转换为“双精度”(Double)类型
P=CInt(X) ' 将X转换为“整型”(Integer)类型
P=CLng(X) ' 将X转换为“长整型”(Long)类型
P=CSng(X) ' 将X转换为“单精度”(Single)类型
P=CStr(X) ' 将X转换为“字符串”(String)类型
P=Cvar(X) ' 将X转换为“变体型”(Variant)类型
P=CVErr(X) ' 将X转换为Error值[ 范例 ]:
(1). CStr(13)+CStr(23)' 数值转换成字符串后,用"+"号连接, 结果:1323
(2). CInt("12")+12' 字符串转换成整型后与12相加, 结果:24
(3). P=CInt(True)' 输出结果为-1
' 布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0
(4). CBool(-0.001)' 输出结果为True
' 将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True.
2. Int(X),Fix(X):取X的整数值
[格式]:
P=Int(X) ' 取=X的最大整数值
P=Fix(X) ' 取X的整数部分,直接去掉小数[范例]:
(1) Int(-54.6) ' 结果为-55,取=-54.6的最大整数
(2) Fix(54.6) ' 结果为54,取整数并直接去掉小数
(二)常用数学函数
[格式]:
1. Abs(N) 取绝对值
例:Abs(-3.5) 结果:3.52. Cos(N) 余弦函数
例:Cos(0) 结果:13. Exp(N) e为底的指数函数
例:Exp(3) 结果:20.0684. Log(N) 以e为底的自然对数
例:Log(10) 结果:2.35. Rnd[(N)] 产生随机数
例:Rnd 结果:0--1之间的数6. Sin(N) 正弦函数
例:Sin(0) 结果:07. Sgn(N) 符号函数
' 说明:取正负号。Y=Sgn(X) 既 X0 则Y=1;X=0 则Y=0;X0 则Y= -18. Sqr(N) 平方根
例:Sqr(9) 结果:39. Tan(N) 正切函数
例:Tan(0) 结果:010.Atn(N) 反切函数
例:Atn(0) 结果:0[注意]:在三角函数中,以弧度表示。(一)字符串类函数:1. ASC(X),Chr(X):转换字符字符码[格式]:
P=Asc(X) 返回字符串X的第一个字符的字符码
P=Chr(X) 返回字符码等于X的字符[范例]:
(1)P=Chr(65)
‘ 输出字符A,因为A的ASCII码等于65
(2)P=Asc(“A”)
‘ 输出65
2. Len(X): 计算字符串X的长度
[格式]:
P=Len(X)
[说明]:
空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。[范例]:
(1) 令X=”” (空字符串)
Len(X) 输出结果为0
(2) 令X=”abcd”
Len(X) 输出结果为4
(3) 令X=”VB教程”
Len(X) 输出结果为4
3. Mid(X)函数:读取字符串X中间的字符
[格式]:
P=Mid(X,n)
由X的第n个字符读起,读取后面的所有字符。
P=Mid(X,n,m)
由X的第n个字符读起,读取后面的m个字符。[范例]:
(1) X=”abcdefg”
P=Mid(X,5)
结果为:P=”efg”
(2) X=”abcdefg”
P=Mid(X,2,4)
结果为P=”bcde”
4. Replace: 将字符串中的某些特定字符串替换为其他字符串
[格式]:
P=Replace(X,S,R)
[说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:
X=”VB is very good”
P=Replace(X,good,nice)
输出结果为:P=”VB is very nice”
5. StrReverse:反转字符串
[格式]:
P=StrReverse(X)
[说明]:
返回X参数反转后的字符串
[范例]:
(1)X=”abc”
P=StrReverse(X)
输出结果:P=”cba”
6. Ucase(X),Lcase(X):转换英文字母的大小写
[格式]:
P=Lcase(X)
‘ 将X字符串中的大写字母转换成小写
P=Ucase(X)
‘ 将X字符串中的小写字母转换成大写
[说明]:除了英文字母外,其他字符或中文字都不会受到影响。[范例]:
(1) 令 X=”VB and VC”
则Lcase(X)的结果为”vb and vc”,Ucase(X)的结果为”VB AND VC”
7. InStr函数:寻找字符串
[格式]:
P=InStr(X,Y)
从X第一个字符起找出Y出现的位置
P=InStr(n,X,Y)
从X第n个字符起找出Y出现的位置
[说明]:
(1) 若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。
(2) InStr(X,Y)相当于InStr(1,X,Y)。
(3) 若字符串长度,或X为空字符串,或在X中找不到Y,则都返回0。
(4) 若Y为空字符串,则返回0。日期时间类函数:
1. Year(X),Month(X),Day(X):取出年,月,日
[格式]:
P=Year(X)
取出X“年”部分的数值
P=Month(X)
取出X“月”部分的数值
P=Day(X)
取出X“日”部分的数值
[说明]:Year返回的是公元年,若X里只有时间,没有日期,则日期视为#1899/12/30#
2. Hour,Minute,Second函数:取出时,分,或秒
[格式]:
P=Hour(X)
取出X“时”部分的数值
P=Minute(X)
取出X“分”部分的数值
P=Second(X)
取出X“秒”部分的数值
[说明]:Hour的返回值是0---23之间[范例]:
X=10:34:23
P=Hour(X)
Q=Minute(X)
R=Second(X)
则输出结果:P=10,Q=34,R=233. DateSerial函数:合并年,月,日成为日期
[格式]:DateSerial(Y,M,D)
其中Y是年份,M为月份,D为日期
[说明]:
(1) M值若大于12,则月份从12月起向后推算M-12个月;若小于1,则月份从1月起向后推算1-M个月。
(2) 若日期D大于当月的日数,则日期从当月的日数起,向后推算D-当月日数;若小于1,则日期从1日起向前推算1-D日。
[范例]:
P=DateSerial(2000,02,02)
则结果为P=2000/02/02
4.TimeSerial函数:合并时,分,秒成为时间
[格式]:P=TimeSerial(H,M,S)
其中H为小时数,M为分钟数,S为秒数
[说明]:推算原理同上面的DateSerial
[范例]:
P=TimeSerial(6,32,45)
结果为:P=6:32:45
5.Date,Time,Now函数:读取系统的日期时间
[格式]:
P=Date()
P=Time()
P=Now()
[说明]:这三个函数都无参数
[范例]:
若当前时间为2003年8月29日晚上19点26分45秒,则
P=Now()
结果为:P=2003-08-29 19:26:45
6.MonthName:返回月份名称
[格式]:P=MonthName(X)
[说明]:X参数可传入1---12,则返回值为“一月”、“二月”……,但是在英文Windows环境下,返回的是”January”,”February”……
[范例]:
P=MonthName(1)
则P=“一月”
7.WeekdayName:返回星期名称
[格式]:P=WeekdayName(X)
[说明]:X参数可传入1—7,则返回值为“星期日”,“星期一”……,但是在英文windows环境下,返回的是”Sunday”,”Monday”……
[范例]:
P=WeekdayName(1)
结果为:P=”星期日”
常用vb的编程代码
先在程序中加一个Label,名字应该符合VB程序控件命名规范:
lbl名称
再加一个Timer控件,名字也要符合命名规范
在窗体代码对话框中打入
Private Sub Form_Load()
On Error Resume Next
Me.Font = "Arial"
Me.FontSize = 24
Me.FontBold = True
Timer控件名.Enabled = True
Timer控件名.Interval = 1000
End Sub
'下列函数只能二选其一
'是时间显示
Private Sub Timer控件名_Timer()
On Error Resume Next
Label控件名.Caption = Time
End Sub
'是日期与时间显示
Private Sub Timer控件名_Timer()
On Error Resume Next
Label控件名.Caption = Now
End Sub
VB编程代码怎么写
Private?Sub?Command1_Click()
??CurrentY?=?0
??For?i?=?1?To?9
????If?i?=?5?Then
??????Print?Space(9?-?i);
??????For?j?=?1?To?2?*?i?-?1
????????Print?"*";
??????Next?j
????Else
??????Print?Space(i?-?1);
??????For?j?=?1?To?2?*?(10?-?i)?-?1
????????Print?"*";
??????Next?j
????End?If
??Next?i
End?Sub
Private?Sub?Command2_Click()
??CurrentY?=?0
??Dim?a(8)?As?String,?b(8)?As?String
??For?i?=?LBound(a)?To?UBound(a)
????If?i?=?4?Then
??????a(i)?=?String(2?*?i?+?1,?"*")
??????b(i)?=?Space(25?-?i)
????Else
??????a(i)?=?String(2?*?(8?-?i)?+?1,?"*")
??????b(i)?=?Space(17?+?i)
????End?If
????Print?b(i)?+?a(i)
??Next?i
End?Sub
Private?Sub?Command3_Click()
??CurrentY?=?0
??For?i?=?1?To?9
????If?i?=?5?Then
??????Print?Space(43?-?i);
??????Print?String(2?*?i?-?1,?"*")
????Else
??????Print?Space(33?+?i);
??????Print?String(2?*?(10?-?i)?-?1,?"*")
????End?If
??Next?i
End?Sub
Private?Sub?Form_Load()
??Me.Width?=?4800
??Me.Height?=?2640
??Command1.Width?=?1245:?Command1.Height?=?315:?Command1.Left?=?120:?Command1.Top?=?1830
??Command2.Width?=?1245:?Command2.Height?=?315:?Command2.Left?=?1635:?Command2.Top?=?1830
??Command3.Width?=?1245:?Command3.Height?=?315:?Command3.Left?=?3150:?Command3.Top?=?1830
End?Sub
介绍一个VB小的有趣的程序代码
'万花筒程序
'粘贴下面代码即可,?不用添加任何控件
Private?WithEvents?Timer1?As?Timer
Dim?r,?r1,?t,?a1!,?a2!,?xb!,?yb!,?s!,?b#
Private?Sub?Form_Load()
??????Me.Width?=?4500:?Me.Height?=?4500
??????Me.Move?(Screen.Width?-?Me.Width)?\?2,?(Screen.Height?-?Me.Height)?\?2
??????Me.AutoRedraw?=?True
??????Me.Caption?=?"CBM666的万花筒"
??????Set?Timer1?=?Controls.Add("vb.timer",?"Timer1")
??????Timer1.Interval?=?10
End?Sub
Private?Sub?Timer1_Timer()
??????Randomize
??????r?=?340?*?Rnd
??????If?r??0?Then
?????????r1?=?500
?????????s?=?r?*?Rnd
?????????b?=?RGB(256?*?Rnd,?256?*?Rnd,?256?*?Rnd)
?????????For?t?=?1?To?10000
????????????a1?=?t?*?3.1415926?/?180
????????????a2?=?(r1?/?r)?*?a1
????????????xb?=?500?+?(-(r1?-?r)?*?Cos(a1)?-?s?*?Cos(a2?-?a1)?+?420)?*?4
????????????yb?=?500?+?((r1?-?r)?*?Sin(a1)?-?s?*?Sin(a2?-?a1)?+?380)?*?4
????????????Me.PSet?(xb,?yb),?b
?????????Next?t
??????End?If
End?Sub
vb程序代码
第一行改为
Public Sub sum(ByVal n As Integer, S As Integer)
已经调试通过
难道是因为你的text3.text为空或非数值,因此p=0,所以s3=0?
s1和s2是不是也为零?如果不是,就把
Dim s1, s2, s3 As Integer
改为
Dim s1, s2, s3
还有一个问题,所谓“溢出”也可能是你输入的数字或者计算过程超过了Integer的最大正数32767,如果是这样,请把所有数值变量改为Long类型
sub是可以带参数的,也是可以传值的,但如果参数是ByVal的就不会传回实参。
当然,楼主的问题,最好还是用Function,这才是标准的用法
子程序也是可以用
call abc(a,b)
的形式调用的,而且a,b的值可以在子程序内部调用后(不是指直接对a,b的调用),再返回到子程序外部的,也就是说,a,b的值在调用子程序前后是可以变化的
ByRef是参数的默认调用方式,所以是可以省略的
VB编程水仙花数
VB实现水仙花数的程序代码如下:
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
实现具体步骤如下:
1.启动VB程序,新建一个标准的exe项目,如下图。
2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码窗口,如下图。
3.接下来,开始为命令按钮编写单击事件。click事件实现了上面提供的程序代码,如下图。
4.按F5运行程序并单击命令按钮。水仙花产量为4:15,370,371,407,如下图。
扩展资料:
C语言实现水仙花数的代码:
#include?stdio.h
#include?stdlib.h
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事项:
VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。
VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。
VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用daos、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。
程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。