DUVIDA ITENS NEW LIST

ALEVALE 09/11/2012 15:43:02
#413943
Pessoal boa tarde,

Alguém poderia dar uma luz, é o seguinte:
Os códigos abaixo, o primeiro está funcionando o segundo é o que eu fiz a alteração.
No primeiro código, eu faço um looping, pingando computadores e gravando em uma lista o rowindex, depois eu pelo rowindex eu seto se está online e offline.
A minha dúvida é o seguinte como eu posso alterar o código para salvar o IP do computador e depois coloca-lo no gridview ?
Eu axu que tenho uma luz mas estou perdindo de como eu faço para pegar por exemplo o IP do computador depois de salvo na lista, sendo que eu tenho o rowindex.
Peguei esses códigos na net.

Private fThread As Thread
Delegate Sub CheckOnlineDelegate(ByVal rowindex As Integer)
Private success As New List(Of Integer)

[ô]ATUAL
Private Sub CheckOnline(ByVal rowindex As Integer)
Dim _ping As New Net.NetworkInformation.Ping

Try
Dim _pingreply = _ping.Send(dgvComputadoresAuditados.Rows(rowindex).Cells(0).Value.ToString, 2000)

If _pingreply.Status = IPStatus.Success Then

SyncLock sucess
sucess.Add(rowindex)
End SyncLock
End If

Catch ex As Exception

End Try

SyncLock done
done.Add(rowindex)
End SyncLock

End Sub

Private Sub ThreadProc2()
Parallel.For(0, dgvComputadoresAuditados.Rows.Count, Sub(b)
CheckOnline(b)
End Sub)
End Sub

Private Sub SetOnline(ByVal rowindex As Integer)
If Not success.Contains(rowindex) Then
dgvComputadoresAuditados.Rows(rowindex).Cells(3).Value = [Ô]Offline[Ô]
Else
dgvComputadoresAuditados.Rows(rowindex).Cells(3).Value = [Ô]Online[Ô]

End If

[ô]ALTERAÇÕES
Dim sucesIP As New Dictionary(Of String, Integer)

Private Sub CheckOnline(ByVal rowindex As Integer)
Dim _ping As New Net.NetworkInformation.Ping

Try
Dim _pingreply = _ping.Send(dgvComputadoresAuditados.Rows(rowindex).Cells(0).Value.ToString, 2000)
Dim strIPEstacao As String = System.Net.Dns.GetHostByName(dgvComputadoresAuditados.Rows(rowindex).Cells(0).Value.ToString).AddressList(0).ToString()

If _pingreply.Status = IPStatus.Success Then

SyncLock sucesIP
sucesIP.Add(strIPEstacao.ToString, rowindex)
End SyncLock
End If

Catch ex As Exception

End Try

SyncLock done
done.Add(rowindex)
End SyncLock

End Sub
ALEVALE 11/11/2012 16:53:37
#414007
Resolvido !

Private success As New Dictionary(Of Integer, String)

Porém preciso colocar mais um parametro e vi que com a classe Dictionary existe a limitação de campo, consigo utilizar o [Ô]Tuple[Ô] porém não consigo usar o Tuple.Contains como eu posso fazer isso ?
Tópico encerrado , respostas não são mais permitidas