DUVIDA COM WEBBROWSER

EDULOCO 07/09/2012 21:14:58
#409294
Galera boa noite. alguém pode me ajudar com um exemplo de como posso fazer uma função? Eu não estou conseguindo entender direito a idéia do webbrowse_.documentcompleted

Eu fiz um aplicativo que ao clicar no botão buscar ele entra nessa pagina http://api.bf3stats.com/ps3/player/?player=Edu_loco&output=sig onde o [Ô]/ps3[Ô] vem de um radiobutton e o [Ô]/Edu_loco[Ô] você digita em um textbox, agora a dúvida, como que eu faço para pegar as informações na frente do = e colocar em um textbox? Exemplo :

stats.global.headshots=1074 quero pegar o 1074 e jogar em um textbox, creio que seja simples, mas ja procurei no google e não achei nada parecido, até baixei um script daqui de nfe, mas la demonstra a fazer com tags de html :s

Por favor me ajude com algum exemplo de como fazer que eu mesmo se viro para adaptar no meu código.

A idéia inicial era fazer o aplicativo entrar nesse link http://bf3stats.com/stats_ps3/Edu_loco já que a pagina tem as tags ai eu me virava, porém quando eu ciico em buscar e o webbrowser carrega a pagina, um erro aparece dizendo assim:

Erro no script desta pagina
linha 14
caractere 13
Erro: [Ô]JSON[Ô] não está definidido
e mais alguma coisas, porém não é erro do aplicativo , é do internet explorer o.O se eu clicar em continuar ele abre a pagina de boa, porém é chato esse erro ficar aparecendo toda hora que clicar no buscar ;s

Agradeço desde já a ajuda de vocês!
PEGUDO 10/09/2012 14:23:02
#409370
Resposta escolhida
Amigo,
A URL que você postou está retornando erro de servidor:
http://api.bf3stats.com/ps3/player/?player=Edu_loco&output=sig

Verifique se é este endereço mesmo para que possamos ajudar.
PEGUDO 10/09/2012 14:45:29
#409372
Ok. Voltou ao normal.

Criei uma função:

Public Function PegaHeadshots(ByVal QualWebBrowser As WebBrowser) As String
Dim Vetor() As String = Nothing

PegaHeadshots = Nothing
Vetor = Split(QualWebBrowser.Document.Body.InnerHtml, Chr(10))

For Each Item As String In Vetor
If Item.Contains([txt-color=#e80000][Ô]stats.global.headshots[Ô][/txt-color]) Then
Item = Replace(Item, Chr(10), [txt-color=#e80000][Ô][Ô][/txt-color])
Item = Replace(Item, Chr(13), [txt-color=#e80000][Ô][Ô][/txt-color])
Item = Trim(Mid(Item, InStr(Item, [txt-color=#e80000][Ô]=[Ô][/txt-color]) + 1))

PegaHeadshots = Item
Exit For
End If
Next

Return PegaHeadshots
End Function


no Click de algum botão, coloque:
MsgBox([txt-color=#e80000][Ô]Quantidade de tiros: [Ô][/txt-color] & PegaHeadshots(WebBrowser1)

Claro, para este exemplo funcionar, você terá que ter um WebBrowser chamado[txt-color=#0000f0] WebBrowser1 [/txt-color]e a página já tem que estar carregada nele.
EDULOCO 10/09/2012 15:44:45
#409375
Pegudo no caso eu vou precisar pegar varias outras informações da página, ai não seria interessante criar uma função para cada evento certo? Eu entendi a função ai que você me passou e de um item só eu vou conseguir fazer,porém e se for varios itens? e no caso de printar eu não vou usar msgbox e sim textbox, ai é só colocar textbox1.text = PegaHeadshots(WebBrowser1) correto? Desculpa a pergunta meio ignorante é que tá tenso rsrs, tento entender essa linguagem mas as funções e modo de usar que me complico, em perl eu fiz o mesmo script e noss foi rapidinho mas no visual basic as funções me deixam confuso. Se não for forçar muito Pegudo pode me passar um tutorial meio completo e de facil entendimento das funçoes, uso de class,sub,function e como usa-las?

Obrigado desde já Pegudo e tenha uma boa tarde.
PEGUDO 11/09/2012 11:01:40
#409418
Bom...
Primeiro vamos ao caso do teu programa.
Eu vi, pelo código fonte, que sua página é simplesmente texto ou seja não existem Tags HTML (<html>, <body>, <br>, <ul>, <div>, etc) então para você pegar vários itens você deverá, infelizmente, colocar o parâmetro que você quer que o programa ache, como o exemplo abaixo:
If Item.Contains([txt-color=#e80000][Ô]stats.global.headshots[Ô][/txt-color]) Then

Ou seja, o programa vai pegar apenas o conteúdo que conter o parâmetro: [txt-color=#e80000][Ô]stats.global.headshots[Ô][/txt-color].
Então para vários conteúdos, serão vários parâmetros.

Pegue o exemplo em anexo e veja como consigo pegar os valores que eu quero, baseados nos parâmetros que eu passo.
Segundo, Um tutorial, explicando isso tudo, seria muito demorado de se fazer.
Olhando o código você poderá ver vários comentários que eu coloquei que te dará um bom entendimento.
Mas qualquer coisa que você não entenda, estou às ordens.
EDULOCO 11/09/2012 16:29:59
#409447
Pegudo eu dei uma olhada meio por cima já que estou no trabalho, chegando em casa eu vou visualizar melhor o fonte que você me mandou, porém é exatamente isso que eu quero fazer, quando eu chegar em casa vou tentar entender melhor, qualquer duvida eu posto novamente aqui, mas com esse seu source eu já consigo meio que me virar, em questão do tutorial Pegudo, eu queria algo para iniciantes, você não precisa criar, só de me indicar algo para aprender sobre as classes e subrotinas da linguagem e os comandos basicos de uso como if,else if,while... já vai me ajudar muito, eu entendo para que serve cada função mas não sei como usar no visual basic, então com um tutorial simples dessas funções já ia me sanar muitas dúvidas que tenho quanto a linguagem.

Obrigado Pegudo pela ajuda até agora, você criou no seu exemplo praticamente minha ideia do que estou criando rsrsrs.
Tópico encerrado , respostas não são mais permitidas