初中vb编程代码大全(初高中vb编程题)

http://www.itjxue.com  2023-03-18 09:39  来源:未知  点击次数: 

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

????Print

??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使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。

(责任编辑:IT教学网)

更多