发表于:2004-05-18 10:38:00
10楼
在Visual Basic中操作MCGS:
假定MCGS运行环境正在运行一个工程,且该工程有20个数值型数据对象,其名称为Dat01到Dat20。要求用VB编制一个应用程序,该程序的界面如下图所示,按“从MCGS读数据”按钮时,能把MCGS中Dat01到Dat10的值读回显示在左列文本框内,按“向MCGS写数据”按钮时,能把右列文本框内输入的数据写到MCGS的Dat11到Dat20数据对象中。
Dim DatObj As Object
Private Sub Form_Load()
On Error Resume Next
Set DatObj = GetObject(, "McgsRun.DataCentre")
If Err Then
MsgBox ("请先启动MCGS运行环境!")
End
End If
End Sub
Private Sub Cmd_Read_Click()
Dim msg As String, tt As Variant
For i = 1 To 10
msg = "Dat" + Format$(i, "00")
DatObj.GetValueFormName msg, tt
Txt(i) = Format$(tt)
Next i
End Sub
Private Sub Cmd_Wirte_Click()
Dim msg As String, tt As Variant
For i = 1 To 10
msg = "Dat" + Format$(i, "00")
tt = Val(Txt(i + 10))
DatObj.SetValueFormName msg, tt
Next i
End Sub
在Assess、Excel中都有对应的VB程序可以编程,实现对MCGS的各种操作,其方法和在Visual Basic中基本相同,可参考上面的代码进行。
GetValueFormName,SetValueFormName
注意这两个方法名字写错了,要把form 改为from.
一个小小的发现,还请mcgs在5.6版把它改过来!!