Los datos se leen mediante una consulta a la pagina del banco nación (argentina) para obtener la cotización del dólar y como respuesta me devuelve un Html.
El Html de respuesta es un poco largo asi que solo voy a postear la ultima parte. La idea es obtener los datos que vienen a partir del <td> y ponerlos en un array
Código: Seleccionar todo
<div id="cotizacionesCercanas">
<p class="tituloCotizador">La cotizaciones más cercanas a la fecha solicitada son:</p>
<br clear="all" />
<div id="tablaDolar" style="text-align:left;">
<h4 class="cotizador" >Dolar U.S.A</h4>
<table class="table table-bordered cotizador" >
<thead>
<tr>
<th>Monedas</th>
<th>Compra</th>
<th>Venta</th>
<th>Fecha</th>
</tr>
</thead>
<tbody>
<tr>
<td>Dolar U.S.A</td>
<td class="dest">200.1600</td>
<td class="dest">200.3600</td>
<td>9/3/2023</td>
</tr>
<tr>
<td>Dolar U.S.A</td>
<td class="dest">200.5300</td>
<td class="dest">200.7300</td>
<td>10/3/2023</td>
</tr>
</tbody>
</table>
</div>
</div>
Código: Seleccionar todo
Function GetCotizacionDolarDivisaBNA()
local aDatCot:={}, oWinHTTP, cURL, cRespuesta
local oDocHtml, oNode
* Creo y Valido el Objeto oWinHTTP
oWinHTTP := CreateObject( 'MSXML2.XMLHTTP' )
If Empty(oWinHTTP)
MsgAlert( 'NO se Pudo Crear el Objeto oWinHTTP', 'Error de Programa')
Return Nil
End
cURL:="https://www.bna.com.ar/Cotizador/HistoricoPrincipales?id=monedas&fecha=27/01/2023&filtroEuro=0&filtroDolar=1"
* Llamo al Webservice y Defino Opciones
oWinHTTP:Open( 'GET', cURL, .F. )
oWinHTTP:SetRequestHeader( "Content-Type" , "text/html; charset=utf-8" )
* Envio el Archivo y Recibo la Respuesta
oWinHTTP:Send()
cRespuesta := oWinHTTP:ResponseText
oDocHtml:=THtmlDocument():New(cRespuesta)
oNode :=oDocHtml:body:divs("tablaDolar")
// Aqui no se como seguir, la idea es poner los datos de la cotizacion en la variable aDatCot
oWinHTTP:= NIL
Release oWSFE
Return aDatCot