1

私が書いているコードについて助けが必要です。私はスクリプトを書くのが初めてなので、許してください。

基本的に、以下のコードintBusyThreadsでは、「Busy working Thread Id=".

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 に答える