Ola desenvolvedores.... Publiquei um video bem rapido ensinando o basico de como consumir um webservice em .net (C#) usando o Protheus. Espero que seja util. Abaixo estou disponibilizando um codigo que monta um navegador em advpl. Ele guarda as paginas visitadas e permite a navegacao entre elas como acontece em um navegador web. Obs: Para funcionar, e preciso configurar o smartcliente.ini e colocar logo abaixo da marcacao [config] a opcao: BrowserEnabled=1 #include "protheus.ch" User Function Navegador()Private aPages := {} // array que guarda os enderecos visitadosPrivate nPgVist := -1 // controle a posicao do array aPages Private aSize := MsAdvSize() // pega o tamanho da tela Private oDlg1, oTIBrwPrivate cNavegado := Space(80) // usado no objeto get para guardar os enderecos web Private lcont := .T. DEFINE MSDIALOG oDlg1 TITLE "Navegador" From aSize[7],0 to aSize[6],aSize[5] of oMainWnd PIXELcNavegado := "http://www.google.com" // pagina inicialoNav:= TGet():New(10,10,{|u| if(PCount()>0,cNavegado:=u,cNavegado)}, oDlg1,340,5,,,,,,,,.T.,,,,,,,,,,) @ 010, 350 Button oBtnIr PROMPT "Ir" Size 40,10 Action(Processa({||Navegar()},"Abrindo","Aguarde...")) Of oDlg1 Pixel @ 010, 390 Button oBtnImp PROMPT "Imprimir" Size 40,10 Action oTIBrw:Print() Of oDlg1 Pixel@ 010, 430 Button oBtnAnte PROMPT "Anterior" Size 40,10 Action (Retorna()) Of oDlg1 Pixel@ 010, 470 Button oBtnDep PROMPT "Avancar" Size 40,10 Action(Avanca()) Of oDlg1 Pixel @ 010, 510 Button oBtnSair PROMPT "Sair" Size 40,10 Action(Sair()) Of oDlg1 Pixel oTIBrw:= TIBrowser():New( 025,010,aSize[5]-640, 270, "http://www.google.com", oDlg1 ) aaDD(aPages,"http://www.google.com")oNav:bLostFocus := { || Valido()}Activate MsDialog oDlg1 CenteredReturn Static Function Navegar() Ir()ReturnStatic Function Ir() oTIBrw:Navigate(AllTrim(cNavegado),oDlg1) aaDD(aPages,AllTrim(cNavegado)) nPgVist := Len(aPages)Return Static Function Avanca() // proxima proxima pagina que jah foi visitada if(Len(aPages) > nPgVist .and. Len(aPages) > 1 ) nPgVist++ oTIBrw:Navigate(aPages[nPgVist],oDlg1) cNavegado := aPages[nPgVist] oNav:Refresh() EndIf Return Static Function Retorna() // pagina anterior que foi visitada if(nPgVist>1) nPgVist-- oTIBrw:Navigate(aPages[nPgVist],oDlg1) cNavegado := aPages[nPgVist] oNav:Refresh() EndIf ReturnStatic Function Sair() // fecha a tela oDlg1:End() ReturnAbaixo um print da tela: Border Menina ( pintura e nichos ) Pintura Alice Border Border Meninas Border Ursos Border Border Safari ( mdf ) Border Meninas Border ( mdf ) Sente falta do sangue frio correndo em suas veias enquanto voce mira na cabeca do seu adversario? Pois entao chegou a hora de voce conhecer a evolucao do estilo Counter-Strike e aprender a usar novas armas. Combat Arms marca um novo passo nos jogos de tiro em um game em que seu jogador se torna mais forte a cada inimigo abatido.O jogo impressiona com seu realismo e sistema de experiencia e nao deve nada a nenhum outro titulo gratuito de tiro em primeira pessoa. Trata-se de uma nova versao do jogo multiplayer online que conquistou o mundo exclusiva para jogadores brasileiros. Neste momento voce pode estar na mira de algum adversario, entao nao fique parado, pegue sua arma e detone seus oponentes. Quando o mago malvado Gargamel expulsa os pequenos seres azuis da sua vila, eles rolam do seu mundo magico e caem no nosso mais precisamente, bem no meio do Central Park de Nova York. Os Smurfs precisam encontrar um jeito de voltar para a vila antes que Gargamel os localize.Diversao garantida Para a familia inteira !!!Titulo Traduzido: Os SmurfsGenero: Animacao | ComediaDuracao: 1h34minDiretor: Raja GosnellLancamento: 2011Tamanho: 700 MbFormato: RMVBQualidade: TSQualidade