Ir para conteúdo
Fórum Script Brasil
  • 0

Me Ajudem A Entender A Logica Por Favor!


Caio Izidio

Pergunta

Bom pessoal tenho que colocar em meu site a cotação do dolar e como a net disponibilza varios codigo que fazem isso peguei um e tentei entender mais está dificil, gostaria que os senhores me respondessem, então resolvi postar essa pois preciso muito entender essa logica não basta so copiar tem que entender eu acho.

<%

Function LimpaHTML(matriz)

Do While True

ini = InStr(1,matriz,"<")

If ini = 0 Then Exit Do

fim = InStr(ini,matriz,">")

parcial = Mid(matriz,ini,fim-ini+1)

matriz = Replace(matriz,parcial,"")

Loop

LimpaHTML = matriz

End Function

Session.LCID = 1046

Set obj = CreateObject("MSXML2.ServerXMLHTTP")

obj.open "GET", "http://www.estadao.com.br/economia/financas/cotacoes/dolar.htm"

obj.send

textHTML = obj.ResponseText

dados = LCase(textHTML)

' Procura pela posição da string "Taxa de Venda"

i = 1

i = inStr(i,dados,"<!-- dolar -->")

i = inStr(i,dados,"<table cellpadding=0 cellspacing=0 border=0 width=500>")

f = inStr(i,dados,"</table>") ' Pega a tabela tag <table cellpadding=0 cellspacing=0 border=0 width=500>

dados = Mid(dados,i,(f-i)) ' Retira somente linha da interesse

dados = Replace(dados,"<tr bgcolor=f2f2f2><td><font class=tblitem>","|",1,3) ' Substitui </font> por "|" (2 vezes)

dados = Replace(dados,LCase("</td><td bgcolor=E6E6E6 width=2 nowrap>"),"%%",1,10000)

dados = Replace(dados,"(traveller check)","",1)

dados = Trim(LimpaHTML(dados)) ' Retira todas as tags

teste = Split(dados,"|",-1,1)

dolar = Split(teste(1),"%%",-1,1)

euro = Split(teste(3),"%%",-1,1)

2º duvida: dados = Replace(dados,"<tr bgcolor=f2f2f2><td><font class=tblitem>","|",1,3) ' Substitui </font> por "|" (2 vezes)

dados = Replace(dados,LCase("</td><td bgcolor=E6E6E6 width=2 nowrap>"),"%%",1,10000)

Por qual motivo o replace esta nesse codigo? e esse campos aqui > "%%",1,10000 está fazendo oque??? poxa pessoal me explique esse codigo!!!

Enfim pessoal me ajudem a entender esse codigo, não consegui chegar na logica, os comentarios desse codigo não foram uteis para mim, peço a compreensão de vocês de me explicarem passo a passo este codigo. Estou estruturando minha logica ainda pois preciso um pouquinho de ajuda...

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
<%

Function LimpaHTML(matriz)

'loop enquanto for verdadeiro

Do While True

'Devolve a posição de uma string dentro de outra a contar do inicio

ini = InStr(1,matriz,"<")

' se a variavel for igual a zero então sai do loop

If ini = 0 Then Exit Do

fim = InStr(ini,matriz,">")

'variavel parcial recebe o tamanho

parcial = Mid(matriz,ini,fim-ini+1)

'Devolve uma string alterada por outra

matriz = Replace(matriz,parcial,"")

Loop

'resultado é atribuido para a função exibir

LimpaHTML = matriz

End Function

'passa para o formato Brasileiro de horario

Session.LCID = 1046

'instancia o objeto

Set obj = CreateObject("MSXML2.ServerXMLHTTP")

obj.open "GET", "http://www.estadao.com.br/economia/financas/cotacoes/dolar.htm"

obj.send

textHTML = obj.ResponseText

dados = LCase(textHTML)

' Procura pela posição da string "Taxa de Venda"

i = 1

i = inStr(i,dados,"<!-- dolar -->")

i = inStr(i,dados,"<table cellpadding=0 cellspacing=0 border=0 width=500>")

f = inStr(i,dados,"</table>") ' Pega a tabela tag <table cellpadding=0 cellspacing=0 border=0 width=500>

dados = Mid(dados,i,(f-i)) ' Retira somente linha da interesse

dados = Replace(dados,"<tr bgcolor=f2f2f2><td><font class=tblitem>","|",1,3) ' Substitui </font> por "|" (2 vezes)

dados = Replace(dados,LCase("</td><td bgcolor=E6E6E6 width=2 nowrap>"),"%%",1,10000)

dados = Replace(dados,"(traveller check)","",1)

dados = Trim(LimpaHTML(dados)) ' Retira todas as tags

teste = Split(dados,"|",-1,1)

dolar = Split(teste(1),"%%",-1,1)

euro = Split(teste(3),"%%",-1,1)

procure dar uma olhada nas tabelas de funções do ASP

Link para o comentário
Compartilhar em outros sites

  • 0

Eu dei uma olhada nas tabelas de funçoes e não encontrei algo parecido com essa linha:::

dados = Replace(dados,"<tr bgcolor=f2f2f2><td><font class=tblitem>","|",1,3) ou com essa :::

dados = Replace(dados,LCase("</td><td bgcolor=E6E6E6 width=2 nowrap>"),"%%",1,10000)

eu vi repalce assim (xxx, "cc", bbb) e não com tantos valores assim....

não consegui entender.... alguém poderia explicar por favor...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...