Ir al contenido


Foto

Como bajar un dato de una pagina web ??


  • Por favor identifícate para responder
4 respuestas en este tema

#1 agag4

agag4

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes
  • LocationMéxico

Escrito 22 octubre 2011 - 11:58

buen dia compañeros, resulta que cada día tengo que capturar manualmente el tipo de cambio para que se distribuya en las sucursales, esto lo hago con datasnap, pero cuando se me va el internet alli viene los problemas, no tengo forma de enviar el tipo de cambio, la otra forma es que cada sucursal jale el dato del portal donde lo tomo:

http://www.banxico.org.mx/

El tipo de cambio esta en la parte superior derecha en la pestaña FINANCIEROS
FIX determinado el 21/10/2011
(Pesos por dólar) 13.5996
Alguna idea de como jalar ese dato en delphi7 ??

Gracias....
  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 23 octubre 2011 - 06:16

Podrías realizar algo como esto:



delphi
  1. function TipoCambio(): String;
  2. var
  3.   hNet, hUrl: HINTERNET;
  4.   URL: String;
  5.   Buffer: array [0..512] of CHAR;
  6.   BytesRead: DWORD;
  7.   Ini, Fin: PCHAR;
  8. begin
  9.   URL:= '_http://www.banxico.org.mx/portal-mercado-cambiario/informacion-oportuna/Fix48.html';  // Quitar el guión delante de http
  10.   BytesRead:= 0;
  11.   Result:= '';
  12.   if InternetAttemptConnect(0) <> ERROR_SUCCESS then exit;
  13.   hNet:= InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  14.   SetCursor(LoadCursor(0, IDC_WAIT));
  15.   if hNet <> nil then
  16.   begin
  17.     hUrl:= InternetOpenUrl(hNet, PCHAR(URL), nil, 0, INTERNET_FLAG_RELOAD, 0);
  18.     if hUrl <> nil then
  19.     begin
  20.       if InternetReadFile(hUrl, @Buffer, sizeof(Buffer), BytesRead) and (BytesRead > 0) then
  21.       begin
  22.       Ini:= StrPos(Buffer, '<span class="banxicotitle">Tipo de Cambio FIX 1/</span>');
  23.       if Ini <> nil then
  24.       begin
  25.         Ini:= StrPos(Ini, '<span class="text"><br><br><br>');
  26.         if Ini <> nil then
  27.         begin
  28.           Fin:= StrPos(Ini, '</b></span>');
  29.           if Fin <> nil then Fin^:= #0;
  30.           Ini:= StrRScan(Ini, '>');
  31.           if Ini <> nil then
  32.             Result:= Ini + 1;
  33.         end;
  34.       end;
  35.       end;
  36.       InternetCloseHandle(hUrl);
  37.     end;
  38.     InternetCloseHandle(hNet);
  39.   end;
  40.   SetCursor(LoadCursor(0, IDC_ARROW));
  41. end;




Saludos.

  • 0

#3 agag4

agag4

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes
  • LocationMéxico

Escrito 23 octubre 2011 - 10:31

Gracias, pero tienes un error en la linea:



delphi
  1. URL:= '[color=#334466]][/color][color=#334466]http:[/color]//www.banxico.org.mx/portal-mercado-cambiario/informacion-oportuna/Fix48.html';[/url" class="bbc_link new_win" target="_




  • 0

#4 agag4

agag4

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes
  • LocationMéxico

Escrito 23 octubre 2011 - 10:46

Muchas gracias, con el TIP que me distes logre extraer el tipo de cambio, que tengas buen día.  (b)
  • 0

#5 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 23 octubre 2011 - 12:22

Gracias, pero tienes un error en la linea:



delphi
  1. URL:= '[color=#334466]][/color][color=#334466]http:[/color]//www.banxico.org.mx/portal-mercado-cambiario/informacion-oportuna/Fix48.html';[/url" class="bbc_link new_win" target="_



Imagino que ya te has dedo cuenta de que no es un error mío sino que lo añadió el editor de mensajes del foro al tratarse de una url lo trata de convertir en enlace...

Me alegra que te sirva.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.