vb代码分析

vb代码分析,第1张

Public Sub LoadFP() '加载数据

Dim Item As ListItem

Dim rs As ADODB.Recordset, rs1 As ADODB.Recordset ’声明对象

Set rs = New ADODB.Recordset

Set rs1 = New ADODB.Recordset

rs.Open "Select * From Factory order by FactoryID desc", cnMain, 1, 1 ‘查询

If Not rs.EOF Then

Do Until rs.EOF

Set Item = List1.ListItems.Add(, , rs("FactoryName"), , 1) ’把Factory表里的数据加载到List1中

Item.SubItems(1) = rs("FactoryPhone")

Item.SubItems(2) = rs("FactoryAddress")

rs.MoveNext

Loop

End If

rs1.Open "Select * From Provide order by ProvideID desc", cnMain, 1, 1

If Not rs1.EOF Then

Do Until rs1.EOF

Set Item = List2.ListItems.Add(, , rs1("ProvideName"), , 2) ’把Provide表里的数据加载到List2中

Item.SubItems(1) = rs1("ProvidePhone")

Item.SubItems(2) = rs1("ProvideAddress")

rs1.MoveNext

Loop

End If

SetSB 2, "共 "滑空裂 &rs.RecordCount &" 条厂商记录, " &rs1.RecordCount &" 条供亏搏货商记录."

End Sub

Private Sub Form_Resize()‘窗体调整

On Error Resume Next

List1.Width = Width / 15 - 104

List1.Height = Height / 15 - 114

List2.Width = Width / 15 - 104

List2.Height = Height / 15 - 114

PicTop.Width = Width / 15 - 16

Cls

Line (2, 2)-(Width / 15 - 14, Height / 15 - 29), 10921638, B

End Sub

Private Sub List1_DblClick() ’列表1双信闭击

On Error GoTo aaaa

Dim j As Long

j = List1.SelectedItem.Index

cmdEdit_Click ‘编辑

aaaa:

End Sub

Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer) ’键盘按下

On Error GoTo aaaa

If KeyCode = vbKeyDelete Then ‘按下的是删除键Delete

Dim j As Long

j = List1.SelectedItem.Index

cmdDel_Click ’执行删除

End If

aaaa:

End Sub

Private Sub List2_DblClick() ‘列表2双击

On Error GoTo aaaa

Dim j As Long

j = List2.SelectedItem.Index

cmdEdit_Click ’编辑

aaaa:

End Sub

Private Sub List2_KeyDown(KeyCode As Integer, Shift As Integer) ‘列表2键盘按下

On Error GoTo aaaa

If KeyCode = vbKeyDelete Then ’按下的是Delete键

Dim j As Long

j = List2.SelectedItem.Index

cmdDel_Click ‘删除

End If

aaaa:

End Sub

Option Explicit

Dim FirstNumber, NumberBuffer As Double'定义数据类型

Dim chr As String

Dim ScaleCodeState As Boolean

Dim ScaleCode As Integer

Dim ScaleSymbol(0 To 7) As String '上面这些DIM都是定义数据类型

Private Sub Init()'==sub过答迟程,实际功能就是清零。把label、FirstNumber、等都初始化

Label1.Caption = "0"

FirstNumber = 0

ScaleCode = 0

ScaleCodeState = False

Label2.Caption = ""

End Sub        '==sub过程结束

Private Sub ClearAll_Click() '点击ClearAll按钮

Call Init'执行init过程,就是清零

End Sub

Private Sub Form_Load()'程序启动

Call Init'先清零,下面分别赋值加减乘除

ScaleSymbol(0) = "+"

ScaleSymbol(1) = "-"

ScaleSymbol(2) = "*"

ScaleSymbol(3) = "/"

End Sub

Private Sub NumberKey_Click(Index As Integer)'点击NumberKey按钮,NumberKey是数组控件

chr = Val(Index)

If Left(Label1.Caption, 1) = "0" And Mid(Label1.Caption, 2, 1) <> "." Then Label1.Caption = Right(Label1.Caption, Len(Label1.Caption) - 1)

'如果label1的第一个字符是0,并且第二个字符不是.,则label1去掉第一个0。这个功能是防做举粗止输纯镇入了00.9999这样的数,就自动变为0.9999

If Len(Label1.Caption) < 20 Then '判断输入的数字长度小于20

    If ScaleCodeState = True Then

        ScaleCodeState = False

        Label1.Caption = ""

    End If

    Label1.Caption = Label1.Caption + chr

    NumberBuffer = Val(Label1.Caption)

End If

End Sub

Private Sub ScaleKey_Click(Index As Integer)'点加减乘除

ScaleCode = Index

FirstNumber = NumberBuffer

ScaleCodeState = True

Label2.Caption = ScaleSymbol(Index)

Label1.Caption = "0"

End Sub

Private Sub Equal_Click()'开始计算

Select Case ScaleCode

Case 0'加

NumberBuffer = FirstNumber + NumberBuffer

Case 1'减

NumberBuffer = FirstNumber - NumberBuffer

Case 2'乘

NumberBuffer = FirstNumber * NumberBuffer

Case 3'除

NumberBuffer = FirstNumber / NumberBuffer

End Select

Label1.Caption = NumberBuffer'显示结果

FirstNumber = NumberBuffer

ScaleCodeState = True

Label2.Caption = ""

End Sub

程序的功能是接住鼠标左键,在窗体空白处画曲线,也就是鼠标轨迹

Dim sta As Boolean '布尔型,控制画还是不画线

Private Sub Command1_Click() '窗体上Command1按钮单击事件

Me.Cls '窗体界面清除

End Sub

Private Sub Form_mousedown(button As Integer, shift As Integer, x As Single, y As Single)

'在窗体上鼠标按下事件(button是哪个键按下,shift是否有组合键,X,Y分别是当前鼠标的横纵坐标)

PSet (x, y) ’设置点(X,Y),也就是画了一个点

sta = True '打开开关,说明在画线

End Sub

Private Sub Form_mousemove(button As Integer, shift As Integer, x As Single, y As Single)

'液弯在窗虚迅体上鼠标移动事件,参数同上

If sta Then Line -(x, y) ‘如果 画线开关打开着 那么 把当前点和上一个点连成线

End Sub

Private Sub Form_mouseup(button As Integer, shift As Integer, x As Single, y As Single)

'在窗体上鼠标差埋此d起事件

sta = False ‘关闭开关,不画线

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12491742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存