Хранение и расчет данных в Hashtable - PullRequest
0 голосов
/ 13 декабря 2010

Я делаю небольшой инструмент, который требует некоторых расчетов. Я использую хеш-таблицу для хранения значений, которые мне нужно рассчитать. Этот инструмент непрерывно извлекает данные за определенный интервал времени (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 и даже текстовый файл для хранения Data2 и вспомнить его при втором запуске. Но не смог сделать это возможным.

Это последняя фаза моего инструмента, и я застрял с ним. Так что я очень надеюсь, что кто-нибудь придет и поможет мне в этом.

Спасибо

1 Ответ

1 голос
/ 13 декабря 2010

Чувак, я не совсем понимаю, о чем ты спрашиваешь, однако я попробую. Прежде всего, я не верю, что вам нужно использовать HASTABLE, если вы не будете искать список с помощью ключей. Похоже, вы просто хотите сохранить предыдущий результат обратного вызова во время выполнения приложения (или времени жизни). Посмотрите, как сделать ваши глобальные переменные.

'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. Обратите внимание, что это допустимое хранилище на весь срок действия приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...