【发布时间】:2016-01-19 22:45:23
【问题描述】:
我有几个课程,其中包含有关现场总机的详细信息。我正在使用 Userform 将数据存储在每个类中声明的变量中。我正在努力将数据存储在我的任何数组中。我是否以正确的方式声明这些变量?这是我的一个类的示例:
Dim pEquipID(3) As String
Dim pIr(3) As Integer
Dim pIm(3) As Integer
Dim pTripCurrent(3) As Integer
Dim pTripTime(3) As Integer
Dim pIsc(3) As Integer
Public Property Let EquipID(index As Integer, value As String)
pEquipID(index) = value
End Property
Public Property Let Ir(index As Integer, value As Integer)
pIr(index) = value
End Property
Public Property Let Im(index As Integer, value As Integer)
pIm(index) = value
End Property
Public Property Let TripCurrent(index As Integer, value As Integer)
pTripCurrent(index) = value
End Property
Public Property Let TripTime(index As Integer, value As Integer)
pTripTime(index) = value
End Property
Public Property Let Isc(index As Integer, value As Integer)
pIsc(index) = value
End Property
Public Property Get EquipID(index As Integer) As String
EquipID(index) = pEquipID(index)
End Property
Public Property Get Ir(index As Integer) As Integer
Ir(index) = pIr(index)
End Property
Public Property Get Im(index As Integer) As Integer
Im(index) = pIm(index)
End Property
Public Property Get TripCurrent(index As Integer) As Integer
TripCurrent(index) = pTripCurrent(index)
End Property
Public Property Get TripTime(index As Integer) As Integer
TripTime(index) = pTripTime(index)
End Property
Public Property Get Isc(index As Integer) As Integer
Isc(index) = pIsc(index)
End Property
这就是我存储数据的方式:
Private Sub Enter1_Click()
'create class variables
Dim Transformer1 As cTransformer
Set Transformer1 = New cTransformer
Dim Fuse1 As cFuse
Set Fuse1 = New cFuse
Dim CircuitBreaker1 As cCircuitBreaker
Set CircuitBreaker1 = New cCircuitBreaker
Dim Pump1 As cPump
Set Pump1 = New cPump
Dim Cable1 As cCable
Set Cable1 = New cCable
'store circuit breaker entries
CircuitBreaker1.EquipID(0) = CB1ID1.value
CircuitBreaker1.EquipID(1) = CB2ID1.value
CircuitBreaker1.Ir(0) = Cb1Ir1.value
CircuitBreaker1.Ir(1) = CB2Ir1.value
CircuitBreaker1.Im(0) = CB1Im1.value
CircuitBreaker1.Im(1) = CB2Im1.value
CircuitBreaker1.Isc(0) = CB1Isc1.value
CircuitBreaker1.Isc(1) = CB2Isc1.value
CircuitBreaker1.TripCurrent(0) = CB1trip1.value
CircuitBreaker1.TripCurrent(1) = CB2trip1.value
CircuitBreaker1.TripTime(0) = CB1time1.value
CircuitBreaker1.TripTime(1) = CB2time1.value
当我 debug.print CircuitBreaker 数组时,终端会打印空白值。我使用这样的循环来打印每个数组:
Dim count As integer
For count = 0 To 1 Step 1
Debug.Print CircuitBreaker1.EquipID(count)
Next count
注意这个打印语句在 Enter1_click() 里面
【问题讨论】:
-
cb1/2 对象是什么?
-
如果您包含用于打印值的代码会很有用
-
现在包含打印代码
-
我可以在 Locals 窗口中看到该值,但它会打印一个空字符串。 i.imgur.com/6Fg5GBv.png这是你正在经历的吗?
-
我得到空字符串打印到即时窗口,我的本地窗口是空的。我只想检查这些数组是否存储了 TextBox 条目。我能够将条目存储在其他变量中并打印到即时窗口,只是在数组中挣扎