Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 52050 - Problema con codigo en VB.Net - Bucle y Wait
IDAsuntoFechaNick 
52050 Problema con codigo en VB.Net - Bucle y Wait06/03/10 13:27marcelo_vm77   
Hola, tengo un problema con un codigo de Visual Basic (estoy usando la vesión 2008)... De más está decir que soy novato en esto de la programación =P
pero espero explicarme bien asi me entienden...

Esta es la parte del codigo en cuestion:
Private Sub cmd_firmar
    _Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles cmd_firmar.Click
    Dim contar As Integer = 0
    With CheckedListBox1
        For i = 1 To .CheckedItems.Count
            contar = contar + 1
        Next
        If contar <= 10 Then
            For navegar As Integer = 1 To .CheckedItems.Count
                Try
                    Label5.Text = .GetItemText(.CheckedItems.Item(navegar))
                    navegador2.Navigate(.GetItemText(.CheckedItems.Item(navegar)))
                    Wait(2)
                Catch

                End Try
            Next
        Else
            MsgBox("Se pueden seleccionar como máximo 10 metroflogs a firmar.")
        End If
        If contar = 0 Then
            MsgBox("Debes seleccionar al menos un metroflog a firmar")
        End If
    End With
End Sub
Private Sub navegador2
    _DocumentCompleted(ByVal sender As System.Object, ByVal e As
     System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles navegador2.DocumentCompleted
        navegador2.Document.GetElementById("mensaje").InnerText() = tb_mensaje.Text
        navegador2.Document.GetElementById("enviarmensaje").InvokeMember("click")
    End Sub
Private Sub Wait(ByVal nSec As Integer)
    'Esperar un número de segundos
    Dim t1 As Integer, t2 As Integer

    t1 = Second(Now)
    t2 = t1 + nSec
    Do
        'DoEvents()
    Loop While t2 > Second(Now)
End Sub

El problema esta en la parte del "Wait(2)", se pausa por dos segundos, pero antes que el bucle empieze , por lo que el webbrowser solo navega a el ultimo link seleccionado de la checkedlistbox...
alguien puede darme una mano ?


EDITO: Me falto decir que estoy intentando hacer "bot" que "devuelva" las firmas de metroflog xD
[Editado: marcelo_vm77, 06/03/2010 13:28:16]
IDAsuntoFechaNick 
52060 Re: Problema con codigo en VB.Net - Bucle y Wait (Resp: 52050)07/03/10 00:58luis1952   
pon:

Private vUrl As String = ""
Private vSwCompletadaWeb As Boolean = False

    Private Sub EsperaCargaWeb()
        Do Until vSwCompletadaWeb
            Windows.Forms.Application.DoEvents()
        Loop
        vSwCompletadaWeb = False
    End Sub

    Private Sub WebBrowser1
        _DocumentCompleted(ByVal sender As System.Object, ByVal e As
         System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        If e.Url = New Uri(vUrl) Then
            vSwCompletadaWeb = True
        End If
     End Sub

el lo tuyo

Private Sub cmd_firmar
    _Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles cmd_firmar.Click
    Dim contar As Integer = 0
    With CheckedListBox1
        For i = 1 To .CheckedItems.Count
            contar = contar + 1
        Next
        If contar <= 10 Then
            For navegar As Integer = 1 To .CheckedItems.Count
                Try
                    Label5.Text = .GetItemText(.CheckedItems.Item(navegar))
' pon aqui la url
vUrl=.GetItemText(.CheckedItems.Item(navegar))
' llama a navigate
                    navegador2.Navigate(New Uri(vUrl))
' espera
    EsperaCargaWeb()
' recoge resultados
navegador2.Document.GetElementById("mensaje").InnerText() = tb_mensaje.Text
    navegador2.Document.GetElementById("enviarmensaje").InvokeMember("click")



                Catch

                End Try
            Next
        Else
            MsgBox("Se pueden seleccionar como máximo 10 metroflogs a firmar.")
        End If
        If contar = 0 Then
            MsgBox("Debes seleccionar al menos un metroflog a firmar")
        End If
    End With
End Sub

El proceso es:
Poner la url de la pagina para comprobar que el evento DocumentCompleted corresponde a esa pagina porque puede ocurrir que sea de la anterior. Cuando el evento es el de la pagina (la misma url) pone el sw a true y el buche de espera termina

Espero que funcione porque aun asi, a veces .....

Saludos

[Editado: luis1952, 07/03/2010 00:59:26]
[luis1952, 07/03/2010 01:01:09]
[luis1952, 07/03/2010 01:03:01]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
52065 Re: Problema con codigo en VB.Net - Bucle y Wait (Resp: 52050)07/03/10 09:57marcelo_vm77   
Muchisimas gracias !!! rie
con esto puedo terminar...


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 10/06/2026 11:54:52 GMT