27 de out. de 2008

Programação: Saiba como inserir indices financeiros atualizados em tempo real no seu siite

Atualmente com todo mundo preocupado em se ligar no que ta rolando no mercado financeiro, é interessante manter eu sua página ou blog uma tabela com os indices financeiros atualizados.

Nada mais que uma classe utilizada onde a página alvo é lida e tratada de acordo com a necessidade, uma fajuta brincadeira com "ponteiros" dentro do codigo da página e pronto temos nossa tabela de indicadores financeiros personalizada.



Segue código comentado:

<!-- Cria cabeçalho para tabela -->

<DIV class=indicadoresHome>
<TABLE class=tabIndicadores cellSpacing=1 cellPadding=2 border=0>
<TBODY>
<TR>
<TD class=tdIndicadoresHeader>Indicadores</TD>
<TD class=tdIndicadoresHeader align=middle>Variação</TD>
<TD class=tdIndicadoresHeader align=middle>Valor</TD>
<TD class=tdIndicadoresHeader align=middle>Data</TD>
<TD class=tdIndicadoresHeader align=middle>Hora</TD></TR>
<TR>

<!-- Inicia código ASP-->
<%
Dim obj, textHTML, f, i, dadosind, bovespa, nasdaq
'Cria o objeto que lê uma pagina
Set obj = CreateObject("MSXML2.ServerXMLHTTP")

'Abre a pagina
obj.open "GET", "http://folha.uol.com.br/"
obj.send

'Recebe o centeudo da pagina
textHTML = obj.ResponseText
textHTML = Replace(Lcase(textHTML),"class=""financierdatavalues""", "align=right")

' Procura pela posição da string "trj-indicadores-100x15.gif" que a imagem cabeçalho da tabela no site da folha
i = 1
i = inStr(i,textHTML,"trj-indicadores-100x15.gif")

' Procura pela 1ª tag <tr> depois de "<tr>"
i = inStr(i, textHTML,"<tr>")
' Procura pela tag "<td colspan=" depois de "<tr>"
f = inStr(i, textHTML,"<td colspan=")
'Variavel que recebe apenas a tabela
dadosind = Mid(textHTML,i,(f-i))
dadosind = Replace(dadosind, "r$", "R$")

'bovespa
i = 1
i = inStr(i,dadosind,"bovespa")
i = inStr(i, dadosind,"bovespa")
f = inStr(i, dadosind,"nasdaq")
bovespa = Mid(dadosind, i+17,((f-i)-53))

'nasdaq
i = 1
i = inStr(i,dadosind,"nasdaq")
i = inStr(i, dadosind,"nasdaq")
f = inStr(i, dadosind,"dow jones")
nasdaq = Mid(dadosind,i+16,(f-i)-52)

'down jones
i = 1
i = inStr(i,dadosind,"dow jones")
i = inStr(i, dadosind,"dow jones")
f = inStr(i, dadosind,"ouro 250 grs bmf")
dowj = Mid(dadosind,i+23,((f-i)-66))

'Dólar comercial
i = 1
i = inStr(i,dadosind,"comercial")
i = inStr(i, dadosind,"comercial")
f = inStr(i, dadosind,"euro")
comercial = Mid(dadosind,i+17,((f-i)-53))

'Euro
i = 1
i = inStr(i,dadosind,"euro")
i = inStr(i, dadosind,"euro")
f = inStr(i, dadosind,"poupan")
euro = Mid(dadosind,i+20,((f-i)-56))

'Poupança
i = 1
i = inStr(i,dadosind,"poupan")
i = inStr(i, dadosind,"poupan")
f = inStr(i, dadosind,"</tr")
poupan = Mid(dadosind,i+15,((f-i)-8))

'Cria a parte debaixo da tabela inserindo o conteudo das variáveis
response.write("<TD>Bovespa</TD>")
response.write(bovespa)
response.write("<TR class=cor1><TD>Nasdaq</TD>")
response.write(nasdaq)
response.write("<tr><TD>Dow Jones</TD>")
response.write(dowj)
response.write("<TR class=cor1><TD>Dolar Comercial</TD>")
response.write(comercial)
response.write("<tr><TD>Euro</TD>")
response.write(euro)
response.write("<TR class=cor1><TD>Poupança</TD>")
response.write(poupan)

%>

<!-- Fecha tabela-->



</TBODY>
</TABLE>
</DIV>



Lógicamente lógico que não podemos nos esquecer do estilo da tabela que usei, que pode ser alterada facilmente, segue o código css abaixo:
/*INDICADORES*/
.indicadoresHome

{border-bottom:5px solid #2e0e08; background-color:#91260d; width:225px;}
.tabIndicadores
{background-color:#742716; margin:6px 0px 6px 6px; width:212px;}
.tdIndicadoresHeader
{background-color:#e77817;font-weight:bold; height:16px;}
.tabIndicadores *
{color:#FFF;}
.tabIndicadores td
{border-bottom:1px solid #e77817}
.tabIndicadores .cor1
{background-color:#812c18;}



0 comentários: