我正在制作一个需要一些计算的小工具。我使用哈希表来存储我需要计算的值。此工具从网页上连续提取特定时间间隔(30秒)的数据,并将这些数据添加到哈希表中。现在的问题是我需要存储以前的提取数据,当新的提取发生时,我需要从新数据中扣除以前的数据。
以下是我目前正在遵循的流程:
Dim MyTable as New Hashtable
MyTable.Add("Data1","200")
MyTable.Add("Data2","100")
MyTable.Add("Data3", MyTable.Item("Data1") - MyTable.Item("Data2") )
'Here I need to redefine the value of Data2 as same as Data1
MyTable.Add(MyTable.Item("Data1"))
首次运行时,它显示Data3 = 100的结果。但在第二次运行时,我需要重新定义Data2 = Data1的值。所以我需要在第二次运行时得到Data3 = 0的结果。这可能不是进行此类操作的正确方法。我也尝试使用listbox,listview甚至textfile存储Data2并在第二次运行时调用它。但是无法实现。
这是我工具的最后一个阶段,我坚持不懈。所以,我真的希望有人能在这方面帮助我。
由于
答案 0 :(得分:1)
'This variable is outside the scope of the function.
Private previousResult As Integer
Public Function ComputeData(valueOne as Integer, ValueTwo as Integer) as Integer
previousResult = valueOne - valueTwo
Return previousResult
End Function
每当调用ComputeData时,新的计算结果都存储在previousResult变量中。请注意,它是应用程序生命周期内的有效存储。