Buscar Cotação automatica em site pelo delphi.

Delphi

22/01/2009

olá amigos,
estou precisando desenvolver uma função que busque automaticamente as ultimas cotações do INCC do site http://www.portalbrasil.net/incc.htm.

tipo no onclick de um botao, o programa vai no site e atualiza o banco de dados de cotações.

alguem tem alguma dica?


obrigado


Daniel Martins

Daniel Martins

Curtidas 0

Respostas

Dbergkamps10

Dbergkamps10

22/01/2009

Olá,
Vc vai precisar de um componente TWebBrowser dentro do seu form.
Para carregar o endereço no WebBrowser, utilize o seguinte:
WebBrowser.Navigate(´http://www.portalbrasil.net/incc.htm´);


Depois de carregar vc utiliza o seguinte para colocar o resultado como TEXTO dentro de um memo:
memo1.Text := WebBrowser1.OleObject.Document.documentElement.innerText;


Depois é so procurar dentro do memo as cotações q vc quer buscar e atribuir os campos ao BD

Espero ter ajudado.

Att
Dalton


GOSTEI 0
Daniel Martins

Daniel Martins

22/01/2009

excelente dica! vou testa-la e depois digo se funcionou.. por hora como eu tive que importar todos os valores antigos do indice. eu copiei as informações e colei num arquivo xls depois fiz uma conexão ADO + 1 laço para ir cadastrando os valores.

mas para manter atualizado o banco com certeza vou precisar de uma rotina de atualização automatica.

obrigado


GOSTEI 0
Johnny-walker

Johnny-walker

22/01/2009

tente isto aqui, assim vc interage pelas celulas, não sei se é a mais fácil ara vc, mas em todo caso aih vai...

How can I iterate through all the cells of a <TABLE>?
A: This sample code shows how to interate through all the cells of a table, adding the contents of each cell to a TMemo:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
ovTable: OleVariant;
begin
ovTable := WebBrowser1.OleObject.Document.all.tags(´TABLE´).item(0); // I´m using the first for i := 0 to (ovTable.Rows.Length - 1) do
begin
for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do
begin
Memo1.Lines.Add(ovTable.Rows.Item(i).Cells.Item(j).InnerText;
end;
end;
end;



bye


GOSTEI 0
Daniel Martins

Daniel Martins

22/01/2009

olá Johnny-Walker, com relação ao Excel ja está resolvido.. eu criei uma tabela e defini um nome pra ela, depois com ado fiz a conexao, daí usando um adotable fiz um laço de repetição pra cadastrar todos os dados no meu banco de dados.

o mais importante agora é manter atualizado msm...

mas mesmo assim, obrigado pela dica!


GOSTEI 0
POSTAR