Ilano 0 Denunciar post Postado Março 25, 2011 Olá pessoal, Tenho neste link um exemplo de como consultar a situação do CPF e neste outro outras consultas consumindo webservice. Fiz um pequeno teste: procedure TForm1.SpeedButton1Click(Sender: TObject); begin //Passando valores para campos da web. WebBrowser1.OleObject.Document.all.Item('login', 0).value := 'teste'; WebBrowser1.OleObject.Document.all.Item('senha', 0).value := 'teste'; WebBrowser1.OleObject.Document.all.Item('cpf', 0).value := TxtCPF.Text; end; procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('http://ws.fontededados.com.br/consulta.asmx?op=SituacaoCadastralPF'); end; Ele está funcionando perfeitamente, mas não sei como clicar no botão, pois não existe um ID ou um Name para o botão para implementar o click WebBrowser1.OleObject.Document.all.Item('Button', 0).Click; Contudo, isso não é o principal motivo deste post, este é apenas um teste. O principal motivo deste post é utilizar este webservice para, ao digitar o CPF meu campo receber o nome do dono deste CPF, pois é gerada em outra página um XML contendo o nome da pessoa. Alguém sabe como posso resolver esse problema? Grato, Ilano. Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Março 29, 2011 Nenhuma sugestão? :( Estou precisando agora para CNPJ, trazer os dados da empresa. Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Março 31, 2011 Como posso pegar o nome da pessoa da consulta no Consulta CPF Web Service e jogá-lo para o meu campo TxtNome? Só preciso descobrir como implemento isso e montar o XML. Por favor, me ajudem meu tempo está expirando e ainda não consegui implementar isso. Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 1, 2011 Sou uma negação com XMLs e tal mas tive uma idéia: function TForm1.DownloadFile(Source, Dest: string): Boolean; begin try Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0; except Result:= False; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if DownloadFile('http://ws.fontededados.com.br/consulta.asmx/SituacaoCadastralPF?login=teste&senha=teste&cpf=999999999', 'C:\Users\William Ferreira\Arquivo.XML') then //Infome um caminho válido para este parâmetro ShowMessage('Download realizado com sucesso!') else ShowMessage('Falha no donwload!'); end; Você faz o download do arquivo XML e faz a leitura do arquivo. meu código está com erro, como não sei nada sobre leitura de XML através de componentes que não sejam decendentes do TextFile, não consigo corrigir o problema: procedure TForm1.ExibeSituacao; var XMLFile : TXMLDocument; NodePai : IXMLNode; I : Integer; {SituacaoCadastral} {RetornoSituacaoCadastralPF} begin XMLFile := TXMLDocument.Create(Application); XMLFile.LoadFromFile('C:\Users\William Ferreira\Arquivo.XML'); XMLFile.Active := True; NodePai := XMLFile.DocumentElement.ChildNodes['RetornoSituacaoCadastralPF']; ShowMessage(NodePai.Text); end; --------------- Correção: Consegui fazer a leitura do XML: procedure TForm1.ExibeSituacao; var XMLFile : TXMLDocument; NodePai : IXMLNode; I : Integer; {SituacaoCadastral} {RetornoSituacaoCadastralPF} begin XMLFile := TXMLDocument.Create(Application); XMLFile.LoadFromFile('C:\Users\William Ferreira\Arquivo.XML'); XMLFile.Active := True; // NodePai := XMLFile.DocumentElement.ChildNodes['SituacaoCadastral']; ShowMessage(XMLFile.DocumentElement.ChildNodes['SituacaoCadastral'].Text); end; Não é a situação ideal mas consegui realizar a verificação. Compartilhar este post Link para o post Compartilhar em outros sites
sicsp 0 Denunciar post Postado Abril 1, 2011 Engraçado bdexterholland, a "ideia" que voce teve é praticamente igual a esta aqui ó http://scriptbriasil.com.br/forum/index.php?showtopic=130463 Voce não teve nem o trabalho de mudar o nome da função. Alias, não só dessa mas de outros lugares tambem, voce montou essa função de varios pontos na net e não citou nenhuma fonte e ainda assumiu a ideia para voce? Isso é uma falta gravíssima, voce como moderador trainee não deveria dar exemplo quanto a isto? Sou uma negação com XMLs e tal mas tive uma idéia: function TForm1.DownloadFile(Source, Dest: string): Boolean; begin try Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0; except Result:= False; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if DownloadFile('http://ws.fontededados.com.br/consulta.asmx/SituacaoCadastralPF?login=teste&senha=teste&cpf=999999999', 'C:\Users\William Ferreira\Arquivo.XML') then //Infome um caminho válido para este parâmetro ShowMessage('Download realizado com sucesso!') else ShowMessage('Falha no donwload!'); end; Você faz o download do arquivo XML e faz a leitura do arquivo. meu código está com erro, como não sei nada sobre leitura de XML através de componentes que não sejam decendentes do TextFile, não consigo corrigir o problema: procedure TForm1.ExibeSituacao; var XMLFile : TXMLDocument; NodePai : IXMLNode; I : Integer; {SituacaoCadastral} {RetornoSituacaoCadastralPF} begin XMLFile := TXMLDocument.Create(Application); XMLFile.LoadFromFile('C:\Users\William Ferreira\Arquivo.XML'); XMLFile.Active := True; NodePai := XMLFile.DocumentElement.ChildNodes['RetornoSituacaoCadastralPF']; ShowMessage(NodePai.Text); end; --------------- Correção: Consegui fazer a leitura do XML: procedure TForm1.ExibeSituacao; var XMLFile : TXMLDocument; NodePai : IXMLNode; I : Integer; {SituacaoCadastral} {RetornoSituacaoCadastralPF} begin XMLFile := TXMLDocument.Create(Application); XMLFile.LoadFromFile('C:\Users\William Ferreira\Arquivo.XML'); XMLFile.Active := True; // NodePai := XMLFile.DocumentElement.ChildNodes['SituacaoCadastral']; ShowMessage(XMLFile.DocumentElement.ChildNodes['SituacaoCadastral'].Text); end; Não é a situação ideal mas consegui realizar a verificação. Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 1, 2011 Me desculpe mas o código copiado foi apenas o código do Download, se você considera esta falha grave, por favor, sinta-se a vontade de denunciar. Só gostaria que dizer que o fato de dizer que tive a idéia não necessariamente quer dizer que sou o dono do script. Minha idéia era realizar o download o XML resultante buscar os dados direto em localhost, sem usar componentes SOAP. Gostaria também que, se você souber o real autor da função, me informe que eu citarei como fonte. Compartilhar este post Link para o post Compartilhar em outros sites