1

需要我正在编写的一段代码的帮助。我是脚本新手,请见谅。

基本上在下面的代码中,每次找到文本“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

在这个例子中,我的代码只会增加intBusyThreads2,因此线程 ID 01 和 05 是唯一的。我在试图找到允许我这样做的代码时遇到了麻烦。由于线程 ID 总是会改变,我不知道如何指定该变量。(希望这是有道理的)我尝试了一些东西,例如strcomp(). 建议?

谢谢!

4

1 回答 1

1

创建具有唯一线程 ID 的字典,并仅在字典中不存在当前 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 
于 2012-11-27T17:42:14.010 回答