×

vb经典程序代码大全

vb经典程序代码大全(告诉我一些简单的vb编程代码)

admin admin 发表于2023-01-01 09:17:50 浏览33 评论0

抢沙发发表评论

本文目录

告诉我一些简单的vb编程代码


给几个写的模块给你看看
Public Function LoadData(strSQL As String)
Dim rst As DAO.Recordset
Dim ctl As Control
Dim fld As Object
Set rst = CurrentDb.OpenRecordset(strSQL, , dbReadOnly)
If Not rst.EOF Then
For Each ctl In ctlFormName
If Not (TypeOf ctl Is Label Or TypeOf ctl Is CommandButton) Then
For Each fld In rst.Fields
If fld.Name = ctl.Name Then
ctl = rst(fld.Name)
Exit For
End If
Next
End If
Next
End If
rst.Close
Set rst = Nothing
End Function
Public Function AddData(TableName As String)
Dim rst As DAO.Recordset
Dim ctl As Control
Dim fld As Object
Set rst = CurrentDb.OpenRecordset(TableName, , dbReadOnly)
For Each ctl In ctlFormName
If Not (TypeOf ctl Is Label Or TypeOf ctl Is CommandButton) Then
For Each fld In rst.Fields
If fld.Name = ctl.Name Then
ctl = fld.DefaultValue
Exit For
End If
Next
End If
Next
rst.Close
Set rst = Nothing
End Function
Public Function SaveData(strSQL As String)
’ On Error GoTo Err_SaveData
Dim rst As DAO.Recordset
Dim ctl As Control
Dim fld As Object
If MsgBox(“您确认要保存吗?“, vbOKCancel + vbInformation, “提示!!!“) = vbOK Then
If AddTag = True Then
Set rst = CurrentDb.OpenRecordset(strSQL, , dbReadOnly)
rst.AddNew
Else
Set rst = CurrentDb.OpenRecordset(strSQL)
rst.Edit
End If
For Each ctl In ctlFormName
’Debug.Print ctl.Name
If Not (TypeOf ctl Is Label Or TypeOf ctl Is CommandButton) Then
For Each fld In rst.Fields
’Debug.Print fld.Name
If fld.Name = ctl.Name Then
rst(fld.Name) = ctl
Exit For
End If
Next
End If
Next
rst.Update
rst.Close
Set rst = Nothing
MsgBox “数据保存成功!“, vbInformation, “提示!!!“
End If
Exit_SaveData:
Set rst = Nothing
Exit Function
Err_SaveData:
If Err = 3022 Then
MsgBox “同一节点下不能存在相同的子节点,请修改后再点保存!“, vbCritical, “警告!!!“
Else
MsgBox Err.Source & “ #“ & Err & vbCrLf & vbCrLf & Err.Description, vbCritical
On Error Resume Next
End If
Resume Exit_SaveData
End Function
Public Function DelSource(Form As Form)
Dim ctl As Control
Form.RecordSource = ““
For Each ctl In Form
If Not (TypeOf ctl Is Label) Then
ctl.ControlSource = ““
End If
Next
End Function
Public Function DelData(strSQL As String)
Dim rst As New ADODB.Recordset
Dim i As Long
If MsgBox(“你确定要删除当前记录吗?“, vbOKCancel + vbQuestion, “删除!!!“) = vbOK Then
’ Debug.Print strSQL
rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rst.RecordCount 》 0 Then
For i = 1 To rst.RecordCount
rst.Delete
rst.Update
rst.MoveNext
Next
End If
rst.Close
Set rst = Nothing
End If
End Function

VB程序代码求


1.自己画
2.将窗体的MinButton和MaxButton属性都设置为False
3.
在通用声明处写
Dim i as Boolean
该按钮的Click事件中写入如下代码:
If i Then Me.WindowState = 0 Else Me.WindowState = 2
i = Not i
4.将窗体的KeyPreview属性设置为True
在窗体的KeyDown事件中写入以下代码
If Shift And vbAltMask Then
Select Case KeyCode
Case vbKeyL
i = True
Me.WindowState = 2
Case vbKeyB
i = False
Me.WindowState = 0
End Select
End If
5.在窗体Resize事件中写入以下代码
Command1.Left = (Me.Width - Command1.Width) / 2
Command1.Top = (Me.Height - Command1.Height) / 2
完整代码如下
Dim i As Boolean
Private Sub Command1_Click()
If i Then Me.WindowState = 0 Else Me.WindowState = 2
i = Not i
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift And vbAltMask Then
Select Case KeyCode
Case vbKeyL
i = True
Me.WindowState = 2
Case vbKeyB
i = False
Me.WindowState = 0
End Select
End If
End Sub
Private Sub Form_Resize()
Command1.Left = (Me.Width - Command1.Width) / 2
Command1.Top = (Me.Height - Command1.Height) / 2
End Sub
假定窗体上只有一个按钮Command1
各控件属性设置参看上面说明

高中VB编程的一些源代码


uEnd是用户定义捕捉VB输出框(MsgBox)按下按钮事件一个变量.即你的原代码
MsgBox
“您确定要离开吗?“,
vbYesNo
+
vbQuestion,
“离开程序“
执行按vbYes或vbNo按钮的结果参数值返回给程序以便执行下一代码.当然你不用这变量也能做到,但按钮需按两次:
Private
Sub
Command2_Click()
MsgBox
“您确定要离开吗?“,
vbYesNo
+
vbQuestion,
“离开程序“
If
MsgBox(“您确定要离开吗?“,
vbYesNo
+
vbQuestion,
“离开程序“)
=
vbYes
Then
End
End
If
End
Sub
uEnd
=
MsgBox(“您确定要离开吗?“,
vbYesNo
+
vbQuestion,
“离开程序“)
上句代码实际上可看作VB输出框执行结果赋值于uEnd,
=
号在VB6.0中本身就应该看为赋值号.而且程序代码简洁明了,不易写错.
下面参考MSDN的有关MsgBox说明:
MsgBox
函数
在对话框中显示消息,等待用户单击按钮,并返回一个
Integer
告诉用户单击哪一个按钮。
MsgBox
函数示例
本示例使用
MsgBox
函数,在具有“是”及“否”按钮的对话框中显示一条严重错误信息。示例中的缺省按钮为“否”,MsgBox
函数的返回值视用户按哪一个钮而定。本示例假设
DEMO.HLP
为一帮助文件,其中有一个内容代码为
1000。
Dim
Msg,
Style,
Title,
Help,
Ctxt,
Response,
MyString
Msg
=
“Do
you
want
to
continue
?“

定义信息。
Style
=
vbYesNo
+
vbCritical
+
vbDefaultButton2

定义按钮。
Title
=
“MsgBox
Demonstration“

定义标题。
Help
=
“DEMO.HLP“

定义帮助文件。
Ctxt
=
1000

定义标题

上下文。

显示信息。
Response
=
MsgBox(Msg,
Style,
Title,
Help,
Ctxt)
If
Response
=
vbYes
Then

用户按下“是”。
MyString
=
“Yes“

完成某操作。
Else

用户按下“否”。
MyString
=
“No“

完成某操作。
End
If
感谢你发的短消息!
该回答在由回答者修改过

VB程序代码


为什么不用VB自带的StrRevserse()函数呢?
Visual Basic Scripting Edition 语言参考
-------------------------------------------------------------------
StrReverse 函数
返回字符串,此字符串与指定字符串顺序相反。
StrReverse(string1)
string1 参数是要进行字符反向的字符串。如果 string1 是零长度字符串 (““),则返回零长度字符串。如果 string1 为 Null,则会出现错误。
说明
下面的示例利用 StrReverse 函数返回按相反顺序排列的字符串:
Dim MyStr
MyStr = StrReverse(“VBScript“) ’MyStr 包含 “tpircSBV“。

急求VB程序代码


Private Sub Command1_Click()

  Dim a(10) As Integer

  Randomize

  Max = -1

  Min = 100

  For i = 1 To 10

    a(i) = Int(Rnd * 90) + 10

    Print a(i);

    s = s + a(i)

    If a(i) 》 Max Then Max = a(i)

    If a(i) 《 Min Then Min = a(i)

  Next i

  Print

  Print “最大值=“; Max

  Print “最小值=“; Min

  Print “平均值=“; s / 10

  Print

End Sub


VB程序设计代码


将你的textbox控件定义成数组控
件,然后运行以下代码:
Private
Sub
command1_click()这
个是保存Text1的内容到本身目录
下.
Open
App.Path
\123.txt
For
Append
As
#1
Print
#1,
Text1(0).Text
Print
#1,
Text1(1).Text
Print
#1,
Text1(2).Text
Close
#1
End
Sub
Private
Sub
Form_Load()
Dim
i
As
Integer
Open
App.Path
\123.txt
For
Input
As
#1
Do
While
Not
EOF(1)
Line
Input
#1,
ss
Text1(i).Text
=
ss
i
=
i
+
1
Loop
Close
#1
End
Sub

典型的VB程序代码,如,水仙花开、求100以内的所有素数


Private Sub Label1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.Click
Dim a%, b%, c!, i%
Label1.Text = ““
i = 0
For a = 1 To 100
For b = 2 To a - 1
c = a Mod b
If c = 0 Then
Exit For
End If
Next
If c 》 0 Then
Label1.Text &= a & “, “
i = i + 1
If i Mod 5 = 0 Then
Label1.Text &= vbCrLf
End If
End If
Next
End Sub

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) 既 X》0 则Y=1;X=0 则Y=0;X《0 则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