需要帮助我正在撰写的一段代码。我是脚本新手,所以请原谅。
基本上在下面的代码中,每当找到文本“Busy working Thread Id =”时,我intBusyThreads
递增1。
Do While oTextFile.AtEndOfStream <> True
strLine = oTextFile.ReadLine
If inStr(strLine, "Busy Working Thread Id=") Then
intBusyThreads = intBusyThreads + 1
End If
Loop
但是,如果线程ID不同,我只希望它增加。
例如:
繁忙的工作线程ID = 0x01
繁忙的工作线程Id = 0x05
繁忙的工作线程ID = 0x01
在这个例子中,我的代码只会增加intBusyThreads
2,因此线程Id 01和05是唯一的。我在尝试找到允许我这样做的代码时遇到了麻烦。由于线程Id将始终更改,我不知道如何指定该变量。 (希望这很有意义)我尝试了一些诸如strcomp()
之类的东西。建议?
谢谢!
答案 0 :(得分:1)
使用唯一的线程ID创建dictionary,并仅在字典中不存在当前ID时递增计数器:
Set uniqueIDs = CreateObject("Scripting.Dictionary")
Do While oTextFile.AtEndOfStream <> True
strLine = oTextFile.ReadLine
If inStr(strLine, "Busy Working Thread Id=") Then
id = Split(strLine, "=")(1)
If Not uniqueIDs.Exists(id) Then
intBusyThreads = intBusyThreads + 1
uniqueIDs.Add id, True
End If
End If
Loop