Leer cotizacion de pagina de banco

Leer cotizacion de pagina de banco

Postby D.Fernandez » Sun Oct 28, 2018 3:41 am

Amigos necesito leer la cotizacion de un banco de plaza del dólar a la compra y a la venta con win 7.
Con win 10 funciona perfecto, pero en win 7 no. Me explico Antonio en el post mio anterior, que .NET (dotNet) no es compatible con Windows 7.

dejo el código que funciona en win 10 por si alguine le sirve.
Gracias.
Code: Select all  Expand view
FUNCTION BROUCOTIZA()
LOCAL  cTipodecambio:= " " ,ct4, ctx := "D.lar\s*<.+?(\d+,\d+).+?(\d+,\d+)"  ,cHora:= Time(), lConect:=.T.
If Val( SubStr(cHora,1,2 ) ) > 22
   RETURN.F.
Endif

cTipodecambio := LEERCOTIZACION()
ct4 := HB_RegExAtx( ctx, cTipodecambio,.F.,.T.  )
    Try
      cCotiCompra :=  SubStr( xTrim( ct4[2][1]),1,6)
      cCotiVenta  :=  SubStr( xTrim( ct4[3][1]),1,6)
    Catch
      lConect:= .F.
    End Try
    If !lConect
        MsgInfo("El mensaje de la página del BROU es:" + CRLF+;
        "Información no disponible."+CRLF+;
        "Por favor, inténtalo mas tarde.","Informe" )
        cCotiCompra :=  "00,000"
        cCotiVenta  :=  "00,000"
    Endif


RETURN(.T.)
//---------------------------------------------------------------------------//

FUNCTION LEERCOTIZACION()
LOCAL curl:="https://www.portal.brou.com.uy/cotizaciones/"
LOCAL oHttp:= CreateObject("winhttp.winhttprequest.5.1")

oHttp:SetTimeouts(30000, 30000, 30000, 30000 )
oHttp:Open("GET", cUrl, .f. )              <<<<<<<<<<<<<<<<<CREO QUE AQUI SE GENERA EL ERROR EN WIN 7
oHttp:Send()
cTexToHTML:= oHttp:ResponseText()



RETURN(cTexToHTML)
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 466
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Leer cotizacion de pagina de banco

Postby Enrico Maria Giordano » Sun Oct 28, 2018 10:18 am

Try this:

Code: Select all  Expand view
LOCAL oHttp:= CreateObject("MSXML2.XMLHTTP")


EMG
User avatar
Enrico Maria Giordano
 
Posts: 8715
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: Leer cotizacion de pagina de banco

Postby D.Fernandez » Sun Oct 28, 2018 1:09 pm

Hola EMG, gracias por la respuesta.
Me da error en metodo SetTimeOuts
Gracias.
Dejo al error.log
Code: Select all  Expand view
Application
===========
   Path and name: C:\Fuentes\Alfainmo\alfainmo.Exe (32 bits)
   Size: 5,702,144 bytes
   Compiler version: Harbour 3.2.0dev (r1703231115)
   FiveWin  version: FWH 17.06
   C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
   Windows version: 6.1, Build 7601 Service Pack 1

   Time from start: 0 hours 0 mins 7 secs
   Error occurred at: 28/10/2018, 10:07:52
   Error description: (DOS Error -2147352570) WINOLE/1009  No existe el método: SETTIMEOUTS
   Args:
     [   1] = N   30000
     [   2] = N   30000
     [   3] = N   30000
     [   4] = N   30000

Stack Calls
===========
   Called from:  => TOLEAUTO:SETTIMEOUTS( 0 )
   Called from: alfainmo.PRG => LEERCOTIZACION( 0 )
   Called from: alfainmo.PRG => BROUCOTIZA( 0 )
   Called from: alfainmo.PRG => (b)BUSCABROU( 0 )
   Called from: alfamsgget.prg => (b)XMSGRUN( 0 )
   Called from: .\source\classes\DIALOG.PRG => (b)TDIALOG( 95 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:DISPLAY( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 909 )
   Called from:  => DIALOGBOXINDIRECT( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 296 )
   Called from: alfamsgget.prg => XMSGRUN( 0 )
   Called from: alfainmo.PRG => BUSCABROU( 0 )
   Called from: alfainmo.PRG => INICIODATOS( 0 )
   Called from: alfainmo.PRG => MAIN( 0 )

System
======
   CPU type: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz 2294 Mhz
   Hardware memory: 3015 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Windows total applications running: 7
      1 ,                                                                                                    
      2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855
      3 , C:\Windows\system32\SHELL32.dll                                                                    
      4 , C:\Windows\system32\SHLWAPI.dll                                                                    
      5 DDE Server Window, C:\Windows\system32\OLE32.DLL                                                                      
      6 GDI+ Window, C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.24234_none_5c05ea59a00ef5
      7 alfainmo [c:\Fuentes\Alfainmo\alfainmo.xhp], C:\Fuentes\Alfainmo\alfainmo.Exe                                                                    

Variables in use
================
   Procedure     Type   Value
   ==========================
   TOLEAUTO:SETTIMEOUTS
     Param   1:    O    Class: ERROR
   LEERCOTIZACION
     Param   1:    N    30000
     Param   2:    N    30000
     Param   3:    N    30000
     Param   4:    N    30000
     Local   1:    P    0x18D460C
     Local   2:    U    
   BROUCOTIZA
     Local   1:    C    "https://www.portal.brou.com.uy/cotizaciones/"
     Local   2:    O    Class: TOLEAUTO
   (b)BUSCABROU
     Local   1:    C    " "
     Local   2:    U    
     Local   3:    C    "D.lar\s*<.+?(\d+,\d+).+?(\d+,\d+)"
     Local   4:    C    "10:07:52"
     Local   5:    L    .T.
   (b)XMSGRUN
     Param   1:    O    Class: TDIALOG
   (b)TDIALOG
     Param   1:    U    
   TDIALOG:DISPLAY
     Param   1:    O    Class: TDIALOG
   TDIALOG:HANDLEEVENT
   DIALOGBOXINDIRECT
     Param   1:    N    15
     Param   2:    N    0
     Param   3:    N    0
   TDIALOG:ACTIVATE
     Param   1:    N    4194304
     Param   2:    C    "€             ¢ .     B u s c a n d o   c o t i z a c i ¾ n   d e l   B R O U   "
     Param   3:    N    0
     Param   4:    O    Class: TDIALOG
   XMSGRUN
     Param   1:    U    
     Param   2:    U    
     Param   3:    B    {|| ... }
     Param   4:    L    .T.
     Param   5:    U    
     Param   6:    L    .T.
     Param   7:    U    
     Param   8:    U    
     Param   9:    U    
     Param  10:    U    
     Param  11:    U    
     Local   1:    N    0
     Local   2:    S    
     Local   3:    O    Class: TDIALOG
   BUSCABROU
     Param   1:    C    "Aguarde por Favor... "
     Param   2:    C    "Buscando cotización del BROU   "
     Param   3:    B    {|| ... }
     Local   1:    O    Class: TDIALOG
     Local   2:    N    323
     Local   3:    A    Len:    1
     Local   4:    O    Class: TFONT
   INICIODATOS
     Local   1:    L    .F.
     Local   2:    O    Class: TDATA
     Local   3:    D    28/10/2018
     Local   4:    C    ""
     Local   5:    C    ""
   MAIN
     Local   1:    N    -6
     Local   2:    N    5
     Local   3:    C    "C:\KeybAtSys.dll"
     Local   4:    N    0
     Local   5:    C    " "
     Local   6:    N    53.65
     Local   7:    N    63.65
     Local   8:    N    0
     Local   9:    C    "2.2018"
     Local  10:    C    "R09"
     Local  11:    C    "1.2018"
     Local  12:    C    "R09"
     Local  13:    C    " "

Linked RDDs
===========
   ADS
   ADSADT
   ADSVFP
   ADSCDX
   ADSNTX

DataBases in use
================

  1: => DB001                              RddName: ADSADT
     ==============================
     RecNo    RecCount    BOF   EOF
          1         1951      .F.   .F.

     Indexes in use                        TagName
        => DTOS(FECOT)                        XC01

     Relations in use

Classes in use:
===============
     1 ERROR
     2 HBCLASS
     3 HBOBJECT
     4 TWINDOW
     5 TCONTROL
     6 TGET
     7 TDIALOG
     8 TMENU
     9 TREG32
    10 TFONT
    11 TICON
    12 TBRUSH
    13 TSKINBUTTON
    14 TBUTTON
    15 TMDIFRAME
    16 TMENUITEM
    17 TMDICLIENT
    18 TINI
    19 TRECT
    20 TDATABASE
    21 TDATA
    22 TSKINRBTN
    23 TBITMAP
    24 TIMAGE
    25 GET
    26 TCLIPGET
    27 TRBTN
    28 WIN_OLEAUTO
    29 TOLEAUTO
    30 TSTRUCT

Memory Analysis
===============
      526 Static variables

   Dynamic memory consume:
      Actual  Value:    1441792 bytes
      Highest Value:    1441792 bytes
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 466
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Leer cotizacion de pagina de banco

Postby Enrico Maria Giordano » Sun Oct 28, 2018 1:51 pm

D.Fernandez wrote:Hola EMG, gracias por la respuesta.
Me da error en metodo SetTimeOuts


Try to remove it.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8715
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: Leer cotizacion de pagina de banco

Postby D.Fernandez » Sun Oct 28, 2018 2:13 pm

Lo removi y me da este error
Gracias,
Code: Select all  Expand view
Application
===========
   Path and name: C:\Fuentes\Alfainmo\alfainmo.Exe (32 bits)
   Size: 5,702,144 bytes
   Compiler version: Harbour 3.2.0dev (r1703231115)
   FiveWin  version: FWH 17.06
   C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
   Windows version: 6.1, Build 7601 Service Pack 1

   Time from start: 0 hours 0 mins 7 secs
   Error occurred at: 28/10/2018, 11:11:55
   Error description: (DOS Error -2147352567) WINOLE/1007  Acceso denegado.
 (0x80070005): msxml3.dll

Stack Calls
===========
   Called from:  => TOLEAUTO:SEND( 0 )
   Called from: alfainmo.PRG => LEERCOTIZACION( 0 )
   Called from: alfainmo.PRG => BROUCOTIZA( 0 )
   Called from: alfainmo.PRG => (b)BUSCABROU( 0 )
   Called from: alfamsgget.prg => (b)XMSGRUN( 0 )
   Called from: .\source\classes\DIALOG.PRG => (b)TDIALOG( 95 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:DISPLAY( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 909 )
   Called from:  => DIALOGBOXINDIRECT( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 296 )
   Called from: alfamsgget.prg => XMSGRUN( 0 )
   Called from: alfainmo.PRG => BUSCABROU( 0 )
   Called from: alfainmo.PRG => INICIODATOS( 0 )
   Called from: alfainmo.PRG => MAIN( 0 )

System
======
   CPU type: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz 2294 Mhz
   Hardware memory: 3015 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Windows total applications running: 7
      1 ,                                                                                                    
      2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855
      3 , C:\Windows\system32\SHELL32.dll                                                                    
      4 , C:\Windows\system32\SHLWAPI.dll                                                                    
      5 DDE Server Window, C:\Windows\system32\OLE32.DLL                                                                      
      6 GDI+ Window, C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.24234_none_5c05ea59a00ef5
      7 alfainmo [c:\Fuentes\Alfainmo\alfainmo.xhp], C:\Fuentes\Alfainmo\alfainmo.Exe                                                                    

Variables in use
================
   Procedure     Type   Value
   ==========================
   TOLEAUTO:SEND
     Param   1:    O    Class: ERROR
   LEERCOTIZACION
     Local   1:    U    
     Local   2:    U    
   BROUCOTIZA
     Local   1:    C    "https://www.portal.brou.com.uy/cotizaciones/"
     Local   2:    O    Class: TOLEAUTO
   (b)BUSCABROU
     Local   1:    C    " "
     Local   2:    U    
     Local   3:    C    "D.lar\s*<.+?(\d+,\d+).+?(\d+,\d+)"
     Local   4:    C    "11:11:55"
     Local   5:    L    .T.
   (b)XMSGRUN
     Param   1:    O    Class: TDIALOG
   (b)TDIALOG
     Param   1:    U    
   TDIALOG:DISPLAY
     Param   1:    O    Class: TDIALOG
   TDIALOG:HANDLEEVENT
   DIALOGBOXINDIRECT
     Param   1:    N    15
     Param   2:    N    0
     Param   3:    N    0
   TDIALOG:ACTIVATE
     Param   1:    N    4194304
     Param   2:    C    "€             ¢ .     B u s c a n d o   c o t i z a c i ¾ n   d e l   B R O U   "
     Param   3:    N    0
     Param   4:    O    Class: TDIALOG
   XMSGRUN
     Param   1:    U    
     Param   2:    U    
     Param   3:    B    {|| ... }
     Param   4:    L    .T.
     Param   5:    U    
     Param   6:    L    .T.
     Param   7:    U    
     Param   8:    U    
     Param   9:    U    
     Param  10:    U    
     Param  11:    U    
     Local   1:    N    0
     Local   2:    S    
     Local   3:    O    Class: TDIALOG
   BUSCABROU
     Param   1:    C    "Aguarde por Favor... "
     Param   2:    C    "Buscando cotización del BROU   "
     Param   3:    B    {|| ... }
     Local   1:    O    Class: TDIALOG
     Local   2:    N    323
     Local   3:    A    Len:    1
     Local   4:    O    Class: TFONT
   INICIODATOS
     Local   1:    L    .F.
     Local   2:    O    Class: TDATA
     Local   3:    D    28/10/2018
     Local   4:    C    ""
     Local   5:    C    ""
   MAIN
     Local   1:    N    -6
     Local   2:    N    5
     Local   3:    C    "C:\KeybAtSys.dll"
     Local   4:    N    0
     Local   5:    C    " "
     Local   6:    N    53.65
     Local   7:    N    63.65
     Local   8:    N    0
     Local   9:    C    "2.2018"
     Local  10:    C    "R09"
     Local  11:    C    "1.2018"
     Local  12:    C    "R09"
     Local  13:    C    " "

Linked RDDs
===========
   ADS
   ADSADT
   ADSVFP
   ADSCDX
   ADSNTX

DataBases in use
================

  1: => DB001                              RddName: ADSADT
     ==============================
     RecNo    RecCount    BOF   EOF
          1         1951      .F.   .F.

     Indexes in use                        TagName
        => DTOS(FECOT)                        XC01

     Relations in use

Classes in use:
===============
     1 ERROR
     2 HBCLASS
     3 HBOBJECT
     4 TWINDOW
     5 TCONTROL
     6 TGET
     7 TDIALOG
     8 TMENU
     9 TREG32
    10 TFONT
    11 TICON
    12 TBRUSH
    13 TSKINBUTTON
    14 TBUTTON
    15 TMDIFRAME
    16 TMENUITEM
    17 TMDICLIENT
    18 TINI
    19 TRECT
    20 TDATABASE
    21 TDATA
    22 TSKINRBTN
    23 TBITMAP
    24 TIMAGE
    25 GET
    26 TCLIPGET
    27 TRBTN
    28 WIN_OLEAUTO
    29 TOLEAUTO
    30 TSTRUCT

Memory Analysis
===============
      527 Static variables

   Dynamic memory consume:
      Actual  Value:    1441792 bytes
      Highest Value:    1441792 bytes
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 466
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay


Re: Leer cotizacion de pagina de banco

Postby D.Fernandez » Sun Oct 28, 2018 6:20 pm

Thank you.
Don't worry.

Regrads.
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 466
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 32 guests