Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2015, 09:27
i34a23
 
Fecha de Ingreso: agosto-2007
Ubicación: Santiago de Chile
Mensajes: 67
Antigüedad: 16 años, 8 meses
Puntos: 1
vb.Net ejecutar acciones al finalizar un loop for each y no antes.

Hola,
La verdad no entiendo porque sucede esto, desde hace muy poco que estoy programando en vb.net (advierto que mis conocimientos de programación no son muy acabados o pulcros)

Les comento, cree una funcion publica en la que existe un loop for each, que analiza los elementos html de una url.

Código:
Public Function ReadGroupList()
        Dim htmlcollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")

        For Each anchorGroup As HtmlElement In htmlcollection
            Dim GroupCheck As String
            Dim GroupDetected As String
            Dim GroupDetectedDos As String

            GroupCheck = anchorGroup.GetAttribute("href")
            GroupDetected = Microsoft.VisualBasic.Left(GroupCheck, 32)
            GroupDetectedDos = Microsoft.VisualBasic.Left(GroupCheck, 33)

            If (GroupDetected = "https://www.facebook.com/groups/" And GroupDetectedDos <> "https://www.facebook.com/groups/?") Then
                Dim GroupUrl As String = GroupCheck
                Dim Delimitador_B As String = "?ref=bookmarks"

                GroupUrl = Split(GroupUrl, Delimitador_B, , CompareMethod.Text)(0)
                TextBox5.Text = TextBox5.Text & GroupUrl & Environment.NewLine
            End If
        Next
    End Function
y luego tengo un boton que acciona esta función, mi idea es que al finalizar la recopilacion de datos, y al finalizar completamente la función, exista un msgbox que indique que el proceso finalizo.

Código:
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim GroupsUrlBrowser As String


        If WebBrowser1.Url() = New Uri("https://www.facebook.com/bookmarks/groups?exist") Then

            ReadGroupList()
            Label7.Text = ""
            MsgBox("Finished")
        End If

    End Sub
está acción se realiza sólo si se accede a una url Especifica.

El PROBLEMA es que el msgbox aparece al menos 4 veces, por lo que deduzco que el loop no ha finalizado.

alguna ayuda para resolver esto ?

Atte
Isaac Escobar