本文目录一览:
VB程序设计代码
将你的textbox控件定义成数组控
件,然后运行以下代码:
Private
Sub
command1_click()这
个是保存Text1的内容到本身目录
下.
Open
App.Path
\123.txt
For
Append
As
#1
#1,
Text1(0).Text
#1,
Text1(1).Text
#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编程代码
给几个写的模块给你看看
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编程的代码
command1(index)
是一个按钮数组
text1.text
=
text1.text
+
command1(index).caption
'
意思就是点了哪个按钮就把哪个按钮的caption信息添加到
textbox
中
常用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编程入门
至于VB语言.
你可以先从编些简单的解析数学的程序
例如加减乘除方程,
教你个简单的小程序!
一、单击“求解一元二次方程”的按钮后,输入方程的系数后a、b、c,输出方程解的情况。程序界面如下:
vb代码如下:
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
Dim d As Single, x1 As Single, x2 As Single
a = InputBox("请输入一元二次方程的系数a")
b = InputBox("请输入一元二次方程的系数b")
c = InputBox("请输入一元二次方程的系数c")
If a = 0 Then
a = InputBox("因为a≠0,你输入的a=0,请重新输入系数a")
End If
d = b * b - 4 * a * c
If d = 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x1
Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x2
Else
Print "此方程在实数范围内无解"
End If
End Sub
二、输入方程的三个系数后,单击“求一元二次方程”按钮后,输出方程解的情况。程序界面如下:
vb代码如下:
一、按钮“求一元二次方程”的vb代码如下:
Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text
c = Text3.Text
d = b * b - 4 * a * c
If d = 0 Then
X1 = (-b + Sqr(d)) / (2 * a)
X2 = (-b - Sqr(d)) / (2 * a)
Label4.Caption = X1
Label5.Caption = X2
Else
Label4.Caption = "在实数范围内无解"
End If
End Sub
二、按钮“重置”的vb代码如下:
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Label4.Caption = ""
Label5.Caption = ""
End Sub
三、按钮“退出”的vb代码如下:
Private Sub Command3_Click()
End
End Sub
特殊例子(指定系数c的值为5):
在窗体“Form1.frm”的“Command1_click“事件中编写代码(请不要随便更改其它代码),使之能够实现如下功能:在Text1输入整数a、、Text2输入b,判断一元二次方程ax2+bx+5=0有无实数根。并在Text3文本框中显示判断结果,即有实数根则在Text3文本框中输出“有”,否则输出“无”。
VB程序代码如下:
Private Sub Command1_Click()
dim a as single,b as single
a = Text1.Text
b = Text2.Text
d = b * b - 4 * a * 5
If d = 0 Then
Text3.Text="有"
Else
Text3.Text="无"
End If
End Sub
如果不用dim定义变量,则上面的输入部分语句改为下面的语句,这样可以把字符变量类型转化为数值类型:
a =val(Text1.Text)
b =val(Text2.Text)
本人刚学习VB编程 有什么代码大全来让我们这些英语不好的菜鸟参考么?
这些通用的属性,希望以对你有用
修改对象的前景颜色:ForeColor属性。
修改对象的背景颜色:BackColor属性。
对象的标题或内容:Caption属性。
对象是否需要三维立体的外观:Appearance属性。
对象是否自动对齐到它所在容器的边缘:Align属性。
对象是水平放置还是垂直放置:Orientation属性。0为水平,1为垂直。
对象在它所在容器内的位置和大小:Left,Top,Width,Height属性。
对象内部坐标系统的左上角位置和内部大小:ScaleLeft,ScaleTop,ScaleWidth,
ScaleHeight属性。
当鼠标在对象上时显示的不同形状:MousePointer属性。
当鼠标在对象上时显示的提示文字:TooltipText属性。
在对象外部是否包围有1个边框:BorderStyle属性。
对象边框的颜色:BorderColor属性。
改变对象上文字成不同字体:Font属性。可分别开来:
① 是否要粗体:FontBold属性;
② 是否要斜体:FontItalic属性;
③ 设置字体名称:FontName属性。
④ 设置字号大小:FontSize属性。
⑤ 是否要加删除线:FontStrikethru属性。
⑥ 是否要加下划线:FontUnderline属性。
由用户自定义的1个对象标记:Tag属性。
设置1个对象是否可自动拖放操作,同时不响应对象事件:DragMode属性。
对象在拖放过程中显示的图标:DragIcon属性。
当对象中内容很多,对象大小不够时,是否自动扩大对象的尺寸以完全显示对象的内容:AutoSize属性。
对象是否在界面中可见:Visible属性。
对象是否有效:Enabled属性。
当对象是对象数组时,确定对象的下标:Index属性。
对象是否可通过TAB键转移获得焦点:TabStop属性。
用TAB键转移焦点时本对象所处的顺序位置:TabIndex属性。
如果对象可设置为不同样式,选择各种样式:Style属性。
选择对象中文本的的对齐方式是左对齐,右对齐还是居中对齐:Alignment属性。
使对象中文本从右到左显示(如"国和共民人华中"):RightToLeft属性。
获得对象所处的容器对象:Container属性。
如果对象是数据绑定对象,则:①对象绑定到哪个数据对象:DataSource属性;②对象绑定到哪个字段:DataField属性。③更改对象显示数据的格式:DataFormat属性;④绑定对象中数据内容是否被改变:DataChanged属性。
返回对象的父对象:Parent属性。
返回对象在代码中的名称:Name属性。
在对象上显示图片:Picture属性。
对象的当前值或当前状态:Value属性。
如果对象的作用是体现1段范围,则:
① 范围的最小值:Min属性。
② 范围的最大值:Max属性。
③ 对象的当前值:Value属性;
④ 用户对当前值每次较小的改变量:SmallChange属性;
⑤ 用户对当前值每次较大的改变量:LargeChange属性。
允许用户在对象内选中一部分内容进行操作:Sel……属性。如SelStart选中内容的开始位置,SelLength选中内容长度等。
让本对象与1个ImageList对象建立关联以使用其中的图片:ImageList属性。
对象的手工拖放方法:Drag方法,Drag 1开始拖放;Drag2停止拖放rag 0取消拖放。
在界面中移动对象的位置和大小:Move方法。
赋予对象以焦点:SetFocus方法。
当几个对象重叠在一起时,决定对象显示或被遮盖:Zorder方法.Zorder 0显示;Zorder 1遮住。
清空对象内容:Clear方法。 ★ 系统对象:就是在VB中已定义好的不用自行创建的,有:
App对象:当前的应用程序。
Clipboard对象:Windows剪贴板。
Screen对象:显示屏幕。
Printer对象:系统打印机。
Debug对象:调试窗口(调试时用)。
Screen对象的属性:
active control:拥有焦点的控件。
active form:拥有焦点的窗体。(仅限于本程序所包含窗体)
TwipsPerPixelX:对象中每一水平象素的缇数。(好象是1象素=15缇)
TwipsPerPixelY:对象中每一垂直象素的缇数。(好象是15)
Clipboard剪贴板对象的方法:
clear方法:清空剪贴板。
粘贴文本gettext方法:返回剪贴板中的文本。(如text1.text=clipboard.gettext)
粘贴图象getdata方法:返回剪贴板中的图象文件。
复制文本settext方法:复制文本到剪贴板。clipboard.settext
文本,类型格式;可以利用"类型格式"参数来改变文本成bmp等图象格式,有意思。???
复制图象setdata方法:使用指定的图形格式将图形保存到剪贴板。注:在使用本方法向剪贴板复制图象前,必须先用Clear方法清空剪贴板原有图象。如:
Clipboard .Clear
Clipboard .SetData Picture1.Picture, 2
其中参数2表示图形为bmp格式。
getformat方法:返回剪贴板中项目的格式。
剪贴板对象中项目格式有如下几种:vbCFtext(值为1)文本格式;vbCFBitmap(2)位图bmp格式;vbCFMetafile(3)图元文件wmf格式;vbCFDIB(8)与设备无关的位图格式(DIB),vbCFPalette(9)调色板格式;vbCFlink(HBF00)动态数据交互链。
检查剪贴板项目格式的例子如:
If Clipboard.GetFormat(vbCFText)=True then
mnupaste.enabled=true
end if
注:在剪贴板中可以同时包含文本和图象,互不干扰。
★ 使用打印机打印:1,打印文本:Printer对象的print方法:格式:
Printer . print 文本内容 如:Printer . print "李新宁"
在使用print方法把文本输出到打印机前,还可对字体进行设置,如:
Printer.FontSize = 14
Printer.Print "你好"
字体的设置有FontName,FontUnderline等。
2,打印整个窗体:窗体的PrintForm方法,格式:Form对象。PrintForm.
将窗体客户区及其上可见的控件全部打印到纸上,如图形,表格等。能保留原来的位置和格式,如果要使某些控件(如按纽、表格线等)不打印到纸上,只要将其Visible属性设为False即可。如:
Command1.Visible = False
Form1. PrintForm
打印机对象Printer有以下一些属性方法:
NewPage方法:在打印作业中开始新的一页。
EndDoc方法:结束打印设置并将全部结果输出到打印机(真正打印开始);
KillDoc方法:中断当前打印作业。
Page属性:打印时包含的页号。
如下例:
Printer . Print "" 初始化打印机,作好打印准备。
Printer.FontName = "Arial" 设置字体
Printer.FontBold = True
Printer.Print Label1.Caption 用粗体打印标签label1中的文本
Printer.FontBold = False
Printer.Print Text1.Text 不用粗体打印文本框中文本
Printer.EndDoc 结束打印设置并真正打印所有指定内容
★
各对象通用属性一则:tooltiptext属性--当鼠标在该对象上暂停时显示的小文本框,用于作一些对用户的提示。如:label1.tooltiptext="哇,太酷了!",注意,弹出的小文本框不会自动消失,直到鼠标离开它,如果只是作短暂的提示,那么,就用一个timer对象吧。
★ 控件的Clear方法:清除控件对象中的内容。对所有对象可用,如剪贴板也不例外,写法为:clipboard.clear
★ 同一窗体内所有界面元素焦点的次序属性:tabindex属性,它决定用tab键移动焦点时的对象次序。
★ 指定鼠标指针形状的属性:对象的
mousepointer属性,有0--15种不同的指针形状,还可以选"99"自定义形状(结合mouseicon属性指定图形文件),这样在运行程序时,当鼠标移到指定对象时,指针就会变成定义的形状了。
★ 对象的大小属性:height 高度;width 宽度
例,我们可以做一个"放大镜",当用户单击图片框时,图片框加大尺寸:
Private Sub Image1_Click()
Image1.Height = Image1.Height + 50
Image1.Width = Image1.Width + 40
End Sub
★ 改变对象在代码中的名字:"(名称)"属性:如"command1"改成"cmd1"
命名的约定:由于"(名称)"属性改变的是对象在代码中使用的名字,因此,需要起一个有相关意义而又标明相关控件类别的好名字,规则是:在你起好的名字前加上三个字母前缀:combobox
:前缀为cbo
checkbox: chk
command button cmd
common dialog dlg
data dat
★ 对象通用事件mousemove事件,当鼠标移到该对象时发生,用作特殊效果非常好。
★
在使用mousemove事件时,有时有一种情况,在对象上每移动一点鼠标,就会触发该事件,哪怕总是在这个对象上移动,而我只是想当鼠标第一次移上该对象时,使相关事件发生(如发一个声音),怎么办?可以事先设一个变量,在mousemove事件用if语句和改变变量值的办法来实现--只"if真"一次。自已试试吧。
★ 通用方法setfocus作用:赋予对象焦点,格式:
对象名.setfocus。注:SetFocus方法必须赋予界面中可视即Visible属性为真的控件上。
★
在使用setfocus方法赋予一个对象焦点时,不能在form_load事件中直接进行赋予(如在其中写command1.setfocus),因为焦点只能赋到可视(visible为真)的控件上,在load加载还未完成时,窗体及其上的控件都是不可视的。这一点值得注意,但可以在加载完后转移焦点,方法是在第一个获得焦点的对象的gotfocus事件中写:command1.setfocus,就可以了。
图形方法:
在图形方法中,首先要确定坐标系统和度量单位,可通过对象的scalemode属性改变坐标度量单位,有七种可选单位(缺省为1-缇)。一般用3(象素)。
cls:如picture1.cls 清空对象(对象内部清屏)
pset:画点并指定颜色。格式:
对象名.pset(点的坐标x,y),点的RGB颜色
picture1.pset(1000,500),RGB(255,0,0)
point:查看某个点的颜色值(一个8位以内的长整数)。格式:
对象名.point(点的坐标x,y)
x=picture1.point(1240,5910)
line:画线,矩形(加B)或画填充框(加BF)。格式:
对象名.line(x1,y1)-(x2,y2),颜色,B或BF
如果加上B或BF,则表示画矩形,B表示用指定颜色在两坐标间画矩形
框,但矩形框内部不进行颜色填充,而加BF,则用指定颜色填满整个矩形块。
Picture1.Line (100, 100)-(1000, 1000), RGB(244, 244, 0), BF
画了一个黄色矩形块。
circle:画圆,椭圆或圆弧。格式:
对象名.circle(x,y圆心坐标),半径,颜色,圆弧起点,圆弧终点,椭圆纵横比
picture1.circle(1000,500),400,RGB(0,0,255)
圆弧起点与终点在-2pi到2pi值之间(以度为单位)。
★ 打开或运行本机磁盘上指定的程序、文件(夹)、Internet地址等,功能与开始菜单"运行"相同,格式:Shell
"Rundll32.exe URL.dll,FileProtocolHandler 路径及文件名",1例如: Shell
"rundll32.exe url.dll,Fileprotocolhandler c:\windows",1 打开文件夹。
Shell "rundll32.exe url.dll,Fileprotocolhandler
",1 打开网页。
Shell "rundll32.exe url.dll,Fileprotocolhandler c:\美女.bmp",1
使用关联程序打开文件。
在Windows2000中怎么不可以?
★
指定对象所属的容器,用set关健字和对象的Container属性:,如要把在窗体form1中的一个按纽改放到picture1中去,那么用
Set Command1.Container =
Picture1.可以作为容器的有Form,Picture和Frame.格式:set 对象名.Container=容器名
★ 与绘图有关的属性(Form窗体或Picture对象):
CurrentX和CurrentY:设置当前光标的位置。如在指定位置进行输出。如:
Form1.CurrentX = 40:Form1.CurrentY = 50:Print "aaaaaaaaaaaa"
drawmode:选择绘图时线条颜色的产生方法(位与,或,。覆盖等)共16种。
drawstyle:设置画线的线型(有0-6种,0与6为实线,1为虚线,2为点线,3,4,5为点虚线)。
drawwidth:画线的宽度。
autoredraw:自动重画。(?:绘图是否在内存中直接分配空间来存放该图形信息,以便在被遮住等情况发生而重新显示时自动调用内存进行图形恢复。如果为节省内存不要这项功能,就要在代码中用paint事件来实现。)
★
通用属性与事件一则:对象的CausesValidation属性和Validate事件,这两个总是在一起使用:validate事件在对象即将失去焦点前发生,在此事件中如果设一个参数Cancel=True的话,那么窗体中其他预先设好的causesvalidation属性为true的对象就不能获得焦点(缺省时都为true),因此可用来选择性地限制某些对象,直到关健对象的Validate事件cancel等于False为止。如:
Private Sub Form_Load()
Command1.CausesValidation = False
Text2.CausesValidation = True 这个对象将受到限制
End Sub
Private Sub Text1_Validate(Cancel As Boolean)
在缺省情况下,cancel总为false
If Text1.Text "1234" Then
MsgBox "密码错误!", , "错误"
Cancel = True
End If
End Sub
运行时,如果你输入的不是1234,那么当你试图将焦点改变到text2时(如鼠标单击或用TAB键等),就会出现"密码错误"提示,并使焦点仍在text1中。
★ 通用属性:定制度量刻度的四个属性:
scaleleft,scaletop:自定义设置对象内绘图区域左上角坐标,缺省为0,0。如果进行了设置,则该对象内所有的绘图方法都将基于左上角的新坐标值进行,如原在左上角为0,0下form1.pset(100,50)画了一点,改变form1.scaleleft=100,form1.scaletop=50后,这个点就跑到左上角去了。
scalewidth,scaleheight:自定义设置对象内绘图区域宽度和高度。现有的绘图区域将根据这两个属性设置的值,确定新的单位刻度。如随便设form1.scalewidth=100,则不管怎样,反正就是将绘图区的宽width划分成100等份,每份就是新的单位刻度(还可设为负数)。
当以上四个属性中的任何1个被人为地改变后,其ScaleMode属性自动变为0用户自定义型。
★ 控件的通用属性几则:
HelpContextID:设置上下文编号,为程序提供上下文帮助,格式:
对象.HelpContextID=编号
hWnd:返回窗体或控件的句柄。[还有hdc是设备场景句柄]
parent:返回本对象的上一级对象。如对象command1放在form1中,那么
command1.parent.Cls 就是父窗口form1清屏。等价于form1.cls
利用parent属性,可以将对象作为参数来传递。
★ 对象的Drag方法:对象的手工拖动操作。
拖放:1,自动拖放--只要将要拖动对象的Dragmode属性设为1自动拖放,此时对象不再响应鼠标事件,如Click事件等。专等按下鼠标的拖动操作发生。
2,手工拖放--常用此方法。首先把要拖动对象的Dragmode属性为0,在代码中使用Drag方法启动开始拖放。格式:对象.。Drag
vbBeginDrag(值1),到达目的地后,用Drag方法终止拖放,格式:对象。Drag
vbEndDrag(值2),当然终止也可不用代码写明,只要抬起鼠标,拖放就会终止。
★ 窗体和图像框的paint事件:当对象在屏幕中被移动,改变尺寸或清除,且对象的AutoDraw属性为False时.
就会触发Paint事件,
★ 通用事件一则:dragover事件:当用户使用鼠标拖动源对象,并在目标对象上移动时,目标对象上引发该事件。格式:
Private Sub Form_DragOver(Source As Control, X As Single, Y As
Single, State As Integer)
End Sub
source和X以及Y好理解,source为源对象,X,Y为鼠标相对于该控件的位置。而state参数,返回源对象在目标对象内拖动的状态,为0表示源对象正向目标对象范围内拖动(拖入),为1表示源对象正向目标范围外拖动(拖出),为2表示源对象在目标范围内从一个位置移到了另一位置(移动)。注:它与DragDrop事件的区别在于:DragOver事件当源对象在目标对象范围内拖动过程中连续不断被触发,而DragDrop事件当源对象在目标对象范围内,同时松开鼠标时的一刹那触发。