我用VB调用了Access中的表的一列数据传给了数组,然后一个个输出用line(x1,y1)-(x2,y2)绘制曲线。
现在我想把这个数组在另一窗体中调用,绘制曲线,该如何定义?DimjAsIntegerDimnAsIntegerDimmAsIntegerDimstr1AsStringDi...
现在我想把这个数组在另一窗体中调用,绘制曲线,该如何定义?Dim j As Integer
Dim n As Integer
Dim m As Integer
Dim str1 As String
Dim str2 As String
Dim a(65536) As Double
Private Sub Form_Load()
PicScale PictureWatch '调整图像框的坐标系
PicMidleLine PictureWatch '在图像框中画一条中线
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
str2 = "Data Source=E:\VB毕业设计\振动信号处理\temp.mdb;"
conn.Open str1 & str2
rs.Open "select 温度 FROM caiji", conn, adOpenStatic, adLockReadOnly
Do Until (rs.EOF Or rs.BOF)
a(j) = rs.Fields(0)
j = j + 1
rs.MoveNext
Loop
For n = 0 To j - 1
m = 0 + n * 1000
PictureWatch.Line (m, a(n) * 40)-(m + 1000, a(n + 1) * 40), vbGreen
Next n
End Sub
如上面程序的数组a(n),我需要在另一个窗体使用它,重新写过感觉复杂了,应该如何定义及使用。 展开
Dim n As Integer
Dim m As Integer
Dim str1 As String
Dim str2 As String
Dim a(65536) As Double
Private Sub Form_Load()
PicScale PictureWatch '调整图像框的坐标系
PicMidleLine PictureWatch '在图像框中画一条中线
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
str2 = "Data Source=E:\VB毕业设计\振动信号处理\temp.mdb;"
conn.Open str1 & str2
rs.Open "select 温度 FROM caiji", conn, adOpenStatic, adLockReadOnly
Do Until (rs.EOF Or rs.BOF)
a(j) = rs.Fields(0)
j = j + 1
rs.MoveNext
Loop
For n = 0 To j - 1
m = 0 + n * 1000
PictureWatch.Line (m, a(n) * 40)-(m + 1000, a(n + 1) * 40), vbGreen
Next n
End Sub
如上面程序的数组a(n),我需要在另一个窗体使用它,重新写过感觉复杂了,应该如何定义及使用。 展开
1个回答
展开全部
把这个数组定义在公有模块里就行了。
其实还有更简单的方法,你甚至可以在公有模块里写一个通用过程,这个过程专门用于画图:
public sub Paint(Pict as picturebox)
................
end sub
这样在任何一个窗体里都可以通过一句代码来调用画图如:
paint picture1
其实还有更简单的方法,你甚至可以在公有模块里写一个通用过程,这个过程专门用于画图:
public sub Paint(Pict as picturebox)
................
end sub
这样在任何一个窗体里都可以通过一句代码来调用画图如:
paint picture1
更多追问追答
追问
那个,我把这个部分放到了类模块里,但是调用的时候报错说需要对象。
追答
模块 不是类模块,而且这段代码也得相应改改,不是照搬
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询