[VB_NET AJUDA] SENDKEYS
Quando o enter é pressionado com o form em primeiro plano, o que deve ser executado?
Ele fecha uma pagina de erro , que aparece epenas no WB do VB
ao apertar enter ela fecha, e so tem como fechar com enter!
ao apertar enter ela fecha, e so tem como fechar com enter!
Ah, está fazendo um workaround. Antes de fazer o sendkeys, faça um [Ô]Me.Focus[Ô]... O problema disso é que a sua aplicação vai ficar aparecendo na frente toda a vez que fizer isso...
Como ficaria esse Me.focus?
Poderia me dar um exemplo?
Nao teria como executar isso sem ela ir pra 1 plano?
Poderia me dar um exemplo?
Nao teria como executar isso sem ela ir pra 1 plano?
Veja bem. Em outro tópico você já havia perguntado como fazer essa janela de aviso desaparecer, eu disse que essa não é a maneira correta de isso ser feito. Mas você quis tentar mesmo assim, o que é louvável. Mas dessa maneira, o que você está fazendo não tem outra maneira senão trazer o foco para a aplicação, [Ô]clicar no botão[Ô] e pronto.
Entao , o Html ta pagina e assim
Código :
<body class=[Ô][Ô] id=[Ô]PPA[Ô]>
<div class=[Ô]err-wrap[Ô]>
<div class=[Ô]err-msg[Ô]>
<div id=[Ô]cjWarning[Ô]>
<p>Parece que você está usando um navegador antigo que pode apresentar falhas de segurança. Para proteger sua conta e manter a segurança de suas informações, recomendamos que você atualize o navegador antes de acessar sua conta.
</p>
<p class=[Ô]buttons[Ô]>
<input type=[Ô]button[Ô] class=[Ô]button primary[Ô] value=[Ô]Atualizar Agora[Ô] id=[Ô]updateNow[Ô]>
</p>
</div>
<p class=[Ô]closeme[Ô]><a href=[Ô]http://localhost/webapps/auth/loginauth?execution=e2s1#[Ô]>Fechar erro</a></p>
</div>
</div>
Sera que consigo fechar por ai?
Citar
Multi-Citar
Editar
Código :
<body class=[Ô][Ô] id=[Ô]PPA[Ô]>
<div class=[Ô]err-wrap[Ô]>
<div class=[Ô]err-msg[Ô]>
<div id=[Ô]cjWarning[Ô]>
<p>Parece que você está usando um navegador antigo que pode apresentar falhas de segurança. Para proteger sua conta e manter a segurança de suas informações, recomendamos que você atualize o navegador antes de acessar sua conta.
</p>
<p class=[Ô]buttons[Ô]>
<input type=[Ô]button[Ô] class=[Ô]button primary[Ô] value=[Ô]Atualizar Agora[Ô] id=[Ô]updateNow[Ô]>
</p>
</div>
<p class=[Ô]closeme[Ô]><a href=[Ô]http://localhost/webapps/auth/loginauth?execution=e2s1#[Ô]>Fechar erro</a></p>
</div>
</div>
Sera que consigo fechar por ai?
Citar
Multi-Citar
Editar
Essa página é simplesmente uma mensagem de erro. Você precisa exibi-la?
Preciso fechar, como vc viu no outro topico!
alguem?
Private MyList As Dictionary(Of UInteger, UInteger)
Private Sub FillList()
MyList = New Dictionary(Of UInteger, UInteger)
For tb As Integer = 1 To 6000
For dCol As Integer = 1 To 130
For dLin As Integer = 1 To 500
Dim thisNumber As UInteger = MyNumber(dCol, tb, dLin)
If Not MyList.ContainsKey(myNumber) Then
MyList.Add(myNumber, myNumber)
RaiseEvent NewNumber(byval tb, dCol, dLin, myList.Count)
If MyList.Count >= 49000820 Then
Exit Sub
End If
End If
Next
Next
Next
End Sub
No código acima, a função MyNumber retorna um numero que pode variar de 1 a 48.000.820.
é possÃvel que o mesmo número seja gerado outra vez, em outra iteração.
O número é adicionado â collection, se já não tiver sido adicionado antes.
Se a collection for preenchida com todos os números possÃveis, a Sub é encerrada.
Caso contrário, todos os For...Next são executados até o fim.
Ao final, vou processar os números armazenados em outra rotina.
Pode parecer estranho estar usando Dictionary para armazenar números inteiros, mas é a única Collection em que a velocidade de processamento não diminui â medida que o número de items aumenta.
ArrayList e List(of T) consumiram tempo demais, testei com os métodos .Contains, IndexOf e .Find.
Também testei armazenando em DataTable mas a performance foi ainda pior (como eu esperava).
O Dictionary precisa estar aberto na memória para que seja possÃvel verificar [Ô]se já tem[Ô].
Ficou com velocidade bem satisfatória.
O problema é que, quando o Dictionary atinge uma determinada quantidade (uns 30 e poucos milhões) a máquina congela. Esperei uns 30 minutos e não liberou.
Reparei também que, durante a execução, mesmo sendo rápida, se eu apenas mexer o mouse, a máquina congela por alguns segundos e depois retorna.
Mas no travamento dos 30 e poucos milhões é preciso desligar o micro na marra.
Alguém poderia indicar um modo melhor (= que processe até o fim, sem perder velocidade e sem congelar) de fazer isso?
P.S: estou rodando de dentro do Visual Studio. O debugger não capta nenhum erro, parece que está processando mas alguma sobrecarga ocorre com o micro
Processador i7, 8GB RAM
Obrigado pelas respostas.
Private Sub FillList()
MyList = New Dictionary(Of UInteger, UInteger)
For tb As Integer = 1 To 6000
For dCol As Integer = 1 To 130
For dLin As Integer = 1 To 500
Dim thisNumber As UInteger = MyNumber(dCol, tb, dLin)
If Not MyList.ContainsKey(myNumber) Then
MyList.Add(myNumber, myNumber)
RaiseEvent NewNumber(byval tb, dCol, dLin, myList.Count)
If MyList.Count >= 49000820 Then
Exit Sub
End If
End If
Next
Next
Next
End Sub
No código acima, a função MyNumber retorna um numero que pode variar de 1 a 48.000.820.
é possÃvel que o mesmo número seja gerado outra vez, em outra iteração.
O número é adicionado â collection, se já não tiver sido adicionado antes.
Se a collection for preenchida com todos os números possÃveis, a Sub é encerrada.
Caso contrário, todos os For...Next são executados até o fim.
Ao final, vou processar os números armazenados em outra rotina.
Pode parecer estranho estar usando Dictionary para armazenar números inteiros, mas é a única Collection em que a velocidade de processamento não diminui â medida que o número de items aumenta.
ArrayList e List(of T) consumiram tempo demais, testei com os métodos .Contains, IndexOf e .Find.
Também testei armazenando em DataTable mas a performance foi ainda pior (como eu esperava).
O Dictionary precisa estar aberto na memória para que seja possÃvel verificar [Ô]se já tem[Ô].
Ficou com velocidade bem satisfatória.
O problema é que, quando o Dictionary atinge uma determinada quantidade (uns 30 e poucos milhões) a máquina congela. Esperei uns 30 minutos e não liberou.
Reparei também que, durante a execução, mesmo sendo rápida, se eu apenas mexer o mouse, a máquina congela por alguns segundos e depois retorna.
Mas no travamento dos 30 e poucos milhões é preciso desligar o micro na marra.
Alguém poderia indicar um modo melhor (= que processe até o fim, sem perder velocidade e sem congelar) de fazer isso?
P.S: estou rodando de dentro do Visual Studio. O debugger não capta nenhum erro, parece que está processando mas alguma sobrecarga ocorre com o micro
Processador i7, 8GB RAM
Obrigado pelas respostas.
Faça seu login para responder