Buena tarde... Mr. Rao
Es posible que la clase TXBrowse, de soporte a la librería HDO de Manuel Expósito, tal como lo hace con EAGLE1.
Gracias
JONSSON RUSSI T.
Colombia
Buena tarde... Mr. Rao
Es posible que la clase TXBrowse, de soporte a la librería HDO de Manuel Expósito, tal como lo hace con EAGLE1.
Gracias
JONSSON RUSSI T.
Colombia
Buen día. Perdón por mi ignorancia, pero ¿qué es HDO?
gracias, tks.
Regards, saludos.
Buen dia..
HDO e EAGLE1, son librerías para manejo de bases de datos SQL, con harbour y xharbour (eagle1), las pruebas que he hecho con fwh vs eagle1, dan mejores resultados a eagle1, y según MANUEL EXPOSITO,
con HDO se obtiene mejor rendimiento que EAGLE1. Todo esto es buscando que en la migración de DBF a SQL, se mantenga o supere el rendimiento en ciertos procesos críticos
XBROWSE, soporta eagle1 y esperamos que pueda soportar HDO
Saludos
Hola amigos.
Perdonad mi ignorancia pero porque Xbrowse no es compatible con HDO? ,
si fuera tema de Manu seguro que lo soluciona rápido y si fuera tema del Sr. Rao me consta que han estado en contacto e intercambian impresiones , por lo que seguro que lo solucionan, si en un plazo razonable no contestan ya se lo comunicare a Manu a ver que opina.
Saludos
José.
Enviado desde mi Lenovo TB-J606F mediante Tapatalk
Hola a todos,
Voy a revisar lo samples de HDO y aggregar ao FiveWin ( xBrowse ) y lo publico aqui las pruebas.
#include "fivewin.ch"
#include "hdo.ch"
REQUEST HDO
REQUEST RDLMARIADBN
function main()
local oHDO, oTb
local oBrw, aCol := array( 2 )
oHDO := THDO():new( "mariadbn" )
oHDO:setAttribute( HDO_ATTR_ERRMODE, .f. )
oHDO:setAttribute( HDO_ATTR_CASE, CASE_UPPER )
oHDO:setAttribute( HDO_ATTR_STR_PAD, .t. )
oHDO:setAttribute( HDO_ATTR_TINY_AS_BOOL, .t. )
oHDO:setAttribute( HDO_ATTR_NULL_TO_VAL, .t. )
if oHDO:connect( "fivewin_demo", "localhost", "root", "myPassword", 3306 ) == .f.
msgStop( oHDO:errorStr(), oHDO:errorCode() + "/" + alltrim( str( oHDO:errorNo() ) ) )
oHDO:free()
oHDO := nil
return nil
endif
if hb_isObject( oHDO )
oTb := oHDO:rowSet( "SELECT * FROM clients" )
oTb:load()
define window oWnd title "FWH + HDO"
oBrw:=TxBrowse():New(oWnd)
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:lColDividerComplete := (.F.)
oBrw:nHeaderHeight := 25
oBrw:nRowHeight := 22
oBrw:nDataLines := 1
oBrw:lHScroll := (.F.)
aCol[1] := oBrw:AddCol()
aCol[1]:bStrData := { || oTb:getValueByName("first") }
aCol[1]:cHeader := "first"
aCol[1]:nHeadStrAlign := AL_LEFT
aCol[1]:nDataStrAlign := AL_LEFT
aCol[1]:nWidth := 100
aCol[2] := oBrw:AddCol()
aCol[2]:bStrData := { || oTb:getValueByName("last") }
aCol[2]:cHeader := "last"
aCol[2]:nHeadStrAlign := AL_LEFT
aCol[2]:nDataStrAlign := AL_LEFT
aCol[2]:nWidth := 210
oBrw:CreateFromCode()
setHDO( oBrw, oTb )
oWnd:oClient = oBrw
activate window oWnd
oHDO:free()
endif
oHDO:=nil
return nil
procedure setHDO( oBrw, oTb )
oBrw:cAlias := ""
oBrw:bGoTop := {|| If( oTb:RecCount() > 0, oTb:First(), nil ) }
oBrw:bGoBottom := {|| If( oTb:RecCount() > 0, oTb:Last(), nil ) }
oBrw:bSkip := {| n | oTb:Skipper( If( n==nil, 1, n ) ) }
oBrw:bBof := {|| oTb:Bof() }
oBrw:bEof := {|| oTb:Eof() }
oBrw:bBookMark := {| n | If( n == nil,;
If( oTb:RecCount() > 0, oTb:Recno(), 0 ), ;
If( oTb:RecCount() > 0, oTb:GoTo( n ), 0 ) ) }
oBrw:bKeyNo := {| | RecNo() }
oBrw:bKeyCount := {|| oTb:RecCount() }
oBrw:refresh()
return nilAntonio Linares wrote:Querido Lailton, muchas gracias! :-)
Buena noche...
Estas lineas como otras mas, existen en el archivo xbrowse.prg
elseif ! Empty( ::oRs )
::SetADO( ::oRs )
elseif ! Empty( ::oMysql ) .AND. ::oMysql:IsKindOf( 'TMYSQLQUERY' )
::SetMysql( ::oMysql )
elseif ! Empty( ::oMysql ) .AND. ::oMysql:IsKindOf( 'TDOLPHINQRY' )
::SetDolphin( ::oMysql )
elseif ! Empty( ::oMysql ) .AND. ::oMysql:IsKindOf( 'TMSQUERY' )
::SetEagle( ::oMysql )
elseif ! Empty ( ::oDbf )
::SetoDbf( ::oDbf,,, Empty( ::aCols ) )
elseif ! Empty( ::cAlias ) .or. ! Empty( Alias() )
::SetRDD()
endif
Asumo que se incluyeron para hdo, y si es así... debemos esperar una nueva versión o estos ajustes nos lo pueden enviar
Gracias