Bueno,
pues eso, mis pruebas con TMySql me han llevado a la modificación de la XBrowse, hasta ahora he mejorado el pintado de las líneas.
AQUI LA MODIFICACION
Espero sea de utilidad
Saludos
Para compartir experiencias de TMySql, el compilador xHarbour así como la GUI FWH
miércoles, 21 de octubre de 2009
Optimización de tmysql
Amigos,
He optimizado el uso del skip() y el getrow() de la tmysql.
Aqui la DESCARGA de la lib actualizada.
Saludos
He optimizado el uso del skip() y el getrow() de la tmysql.
Aqui la DESCARGA de la lib actualizada.
Saludos
martes, 20 de octubre de 2009
Estadísticas de aportes
Amigos,
Pos eso, comunicarles las estadísticas que tenemos hasta hoy 20/10/2009 a las 15:30 horas.
Estadística de BOX.NET
Que sabroso se siente, jjejjejjejje
saludos
Pos eso, comunicarles las estadísticas que tenemos hasta hoy 20/10/2009 a las 15:30 horas.
Estadística de BOX.NET
Que sabroso se siente, jjejjejjejje
saludos
domingo, 18 de octubre de 2009
mysql.lib recompilada
Amigos,
Resulta que la mysql.lib que subí anteriormente usaba el xHarbour, pero consumía recursos indiscriminadamente, asi que bajé de nuevo el xHarbour del CVS y resulta que ahora el consumo de recursos es "normal".
Aquí el link de DESCARGA espero sigan descargandola y testeando.
saludos
Resulta que la mysql.lib que subí anteriormente usaba el xHarbour, pero consumía recursos indiscriminadamente, asi que bajé de nuevo el xHarbour del CVS y resulta que ahora el consumo de recursos es "normal".
Aquí el link de DESCARGA espero sigan descargandola y testeando.
saludos
jueves, 15 de octubre de 2009
TMySQL optimizada para xbrowse
Amigos,
Aquí un build optimizado para su uso con xbrowse, funciona con los otros browse, pero en este caso especifico funciona 100% con xbrowse de FWH.
AQUI el link de descargar
Saludos
Seguimos avanzando...
Aquí un build optimizado para su uso con xbrowse, funciona con los otros browse, pero en este caso especifico funciona 100% con xbrowse de FWH.
AQUI el link de descargar
Saludos
Seguimos avanzando...
martes, 13 de octubre de 2009
Fe de erratas a la entrada - Actualización TMySql
A petición del amigo Cruz Alfredo hago esta nota.
La modificación o actualización a la TMySql realizada el 20091012 es la siguiente:
Antes se usaba de la siguiente manera el acceso a los datos de la consulta generada.
MSGINFO( oQry:fieldget( "codigo" ), "INCOS" )
oQry:fieldput( "codigo", "wmormar" )
oQry:append() o oQry:update()
Ahora puedes usar lo siguiente:
MSGINFO( oQry:codigo, "INCOS" )
oQry:codigo := "wmormar"
oQry:save()
oQry:save() se utiliza indistintamente si es para un registro nuevo o una modificación.
Bueno, a grandes rasgos así se usa la nueva modificación.
Nota. Cabe aclarar que si tenía esa particularidad pero no era funcional, así que se codificó completamente.
Saludos
La modificación o actualización a la TMySql realizada el 20091012 es la siguiente:
Antes se usaba de la siguiente manera el acceso a los datos de la consulta generada.
MSGINFO( oQry:fieldget( "codigo" ), "INCOS" )
oQry:fieldput( "codigo", "wmormar" )
oQry:append() o oQry:update()
Ahora puedes usar lo siguiente:
MSGINFO( oQry:codigo, "INCOS" )
oQry:codigo := "wmormar"
oQry:save()
oQry:save() se utiliza indistintamente si es para un registro nuevo o una modificación.
Bueno, a grandes rasgos así se usa la nueva modificación.
Nota. Cabe aclarar que si tenía esa particularidad pero no era funcional, así que se codificó completamente.
Saludos
Como generar LIBMYSQL.LIB
Pos eso.
Como generar libmysql.lib
Primero que nada debemos de tener instalado el SERVER mysql.
Supongamos que instalamos nuestro server mysql en:
C:\Archivos de programa
Y que dejamos la carpeta default de mysql al instalar, entonces sería algo como sigue.
C:\Archivos de programa\MySQL\MySQL Server 5.0\bin
Bueno, ya identificando la carpeta bin pasamos a lo siguiente.
Pensemos que tenemos instalado borland en la siguiente carpeta:
C:\BCC55\Bin
Entonces, haríamos lo siguiente para generar la LIB libmysql.lib
C:\BCC55\Bin\implib libmysql.lib C:\Archivos de programa\MySQL\MySQL Server 5.0\bin\libmysql.dll
Así de simple amigos.
Saludos
Como generar libmysql.lib
Primero que nada debemos de tener instalado el SERVER mysql.
Supongamos que instalamos nuestro server mysql en:
C:\Archivos de programa
Y que dejamos la carpeta default de mysql al instalar, entonces sería algo como sigue.
C:\Archivos de programa\MySQL\MySQL Server 5.0\bin
Bueno, ya identificando la carpeta bin pasamos a lo siguiente.
Pensemos que tenemos instalado borland en la siguiente carpeta:
C:\BCC55\Bin
Entonces, haríamos lo siguiente para generar la LIB libmysql.lib
C:\BCC55\Bin\implib libmysql.lib C:\Archivos de programa\MySQL\MySQL Server 5.0\bin\libmysql.dll
Así de simple amigos.
Saludos
lunes, 12 de octubre de 2009
TMySql actualizada
Bueno,
El título no se me dió mucho, pero espero esta modificación realizada a la tmysql les sirva de mucho.
Ahora podrá usar TMySql de la siguiente manera.
Aquí el ejemplo:
#include 'fivewin.ch'
*-------------------*
STATIC oServer
STATIC oQry
STATIC oBrw
STATIC oWnd
STATIC oMenu
FUNCTION main()
LOCAL cHost := "localhost"
LOCAL cUser := "root"
LOCAL cPsw := "rooting"
LOCAL nPort := 3306
LOCAL cDb := "test"
LOCAL n := 1
LOCAL cQuery := ""
MENU oMenu 2007
MENUITEM "Pruebas"
MENU
MENUITEM "AddRecord 1" ACTION addrecord1() MESSAGE "Adiciona registros a la tabla 1"
MENUITEM "AddRecord 2" ACTION addrecord2() MESSAGE "Adiciona registros a la tabla 2"
MENUITEM "UpdateRecord" ACTION updaterecord2() MESSAGE "Modifica registros a la tabla 2"
ENDMENU
ENDMENU
oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort )
if oServer:NetErr()
MsgAlert (oServer:Error(),"MySQL Error")
quit
endif
IF oServer:lError
? "No connect"
RETURN NIL
ENDIF
oserver:Selectdb(cDb)
IF oServer:lError
? "No used database"
RETURN NIL
ENDIF
IF !oServer:tableexist( "prueba" )
cQuery := "CREATE TABLE prueba( "
cQuery += "clave varchar(3) NOT NULL default '0',"
cQuery += "nombre varchar(30) default 'x',"
cQuery += "fecha date default '20091012',"
cQuery += "saldo decimal(9,2) default 0.00,"
cQuery += "PRIMARY KEY (clave) "
cQuery += ") ENGINE=InnoDB DEFAULT CHARSET=latin1"
oServer:execute( cQuery )
ENDIF
oServer:execute( "TRUNCATE TABLE prueba" )
oQry := oServer:Query( "SELECT * FROM prueba" )
oQry:gotop()
wmbrowse()
return nil
/************************************************************/
STATIC FUNCTION wmbrowse()
DEFINE WINDOW oWnd TITLE "Mi browse" FROM 10, 10 TO 30, 60 MENU oMenu
wmbrw()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
RETURN NIL
STATIC FUNCTION wmbrw()
LOCAL oCol
oBrw := TXBrowse():new( oWnd )
SetxBrowse( oBrw, oQry )
oCol := oBrw:AddCol()
oCol:cHeader := "Clave"
oCol:bEditValue := {|| oQry:clave}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Nombre"
oCol:bEditValue := {|| oQry:nombre}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Fecha"
oCol:bEditValue := {|| oQry:fecha}
oCol:cEditPicture := "@d"
oCol:cDataType := "D"
oCol := oBrw:AddCol()
oCol:cHeader := "Saldo"
oCol:bEditValue := {|| oQry:saldo}
oCol:cEditPicture := "999,999,999.99"
oCol:cDataType := "N"
oBrw:createfromcode()
RETURN NIL
STATIC FUNCTION addrecord1()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:fieldput( "clave" , nClv )
oQry:fieldput( "nombre", "prueba1 - " + nClv )
oQry:fieldput( "fecha" , date() )
oQry:fieldput( "saldo" , HB_RandomInt( 99999999.99 ) )
oQry:append()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION addrecord2()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:blank()
oQry:clave := nClv
oQry:nombre := "prueba2 - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION updaterecord2()
LOCAL n, nClv
oQry:gotop()
WHILE !oQry:eof()
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:nombre := "CAMBIADO - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
oQry:skip()
ENDDO
oBrw:refresh()
RETURN NIL
Espero sea de ayuda y cualquier duda, aquí en el blog hay un chat que leo periódicamente.
Saludos
Aqui el link de bajada de la LIB y un ejemplo.
TMYSQL comunity
El título no se me dió mucho, pero espero esta modificación realizada a la tmysql les sirva de mucho.
Ahora podrá usar TMySql de la siguiente manera.
Aquí el ejemplo:
#include 'fivewin.ch'
*-------------------*
STATIC oServer
STATIC oQry
STATIC oBrw
STATIC oWnd
STATIC oMenu
FUNCTION main()
LOCAL cHost := "localhost"
LOCAL cUser := "root"
LOCAL cPsw := "rooting"
LOCAL nPort := 3306
LOCAL cDb := "test"
LOCAL n := 1
LOCAL cQuery := ""
MENU oMenu 2007
MENUITEM "Pruebas"
MENU
MENUITEM "AddRecord 1" ACTION addrecord1() MESSAGE "Adiciona registros a la tabla 1"
MENUITEM "AddRecord 2" ACTION addrecord2() MESSAGE "Adiciona registros a la tabla 2"
MENUITEM "UpdateRecord" ACTION updaterecord2() MESSAGE "Modifica registros a la tabla 2"
ENDMENU
ENDMENU
oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort )
if oServer:NetErr()
MsgAlert (oServer:Error(),"MySQL Error")
quit
endif
IF oServer:lError
? "No connect"
RETURN NIL
ENDIF
oserver:Selectdb(cDb)
IF oServer:lError
? "No used database"
RETURN NIL
ENDIF
IF !oServer:tableexist( "prueba" )
cQuery := "CREATE TABLE prueba( "
cQuery += "clave varchar(3) NOT NULL default '0',"
cQuery += "nombre varchar(30) default 'x',"
cQuery += "fecha date default '20091012',"
cQuery += "saldo decimal(9,2) default 0.00,"
cQuery += "PRIMARY KEY (clave) "
cQuery += ") ENGINE=InnoDB DEFAULT CHARSET=latin1"
oServer:execute( cQuery )
ENDIF
oServer:execute( "TRUNCATE TABLE prueba" )
oQry := oServer:Query( "SELECT * FROM prueba" )
oQry:gotop()
wmbrowse()
return nil
/************************************************************/
STATIC FUNCTION wmbrowse()
DEFINE WINDOW oWnd TITLE "Mi browse" FROM 10, 10 TO 30, 60 MENU oMenu
wmbrw()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
RETURN NIL
STATIC FUNCTION wmbrw()
LOCAL oCol
oBrw := TXBrowse():new( oWnd )
SetxBrowse( oBrw, oQry )
oCol := oBrw:AddCol()
oCol:cHeader := "Clave"
oCol:bEditValue := {|| oQry:clave}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Nombre"
oCol:bEditValue := {|| oQry:nombre}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Fecha"
oCol:bEditValue := {|| oQry:fecha}
oCol:cEditPicture := "@d"
oCol:cDataType := "D"
oCol := oBrw:AddCol()
oCol:cHeader := "Saldo"
oCol:bEditValue := {|| oQry:saldo}
oCol:cEditPicture := "999,999,999.99"
oCol:cDataType := "N"
oBrw:createfromcode()
RETURN NIL
STATIC FUNCTION addrecord1()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:fieldput( "clave" , nClv )
oQry:fieldput( "nombre", "prueba1 - " + nClv )
oQry:fieldput( "fecha" , date() )
oQry:fieldput( "saldo" , HB_RandomInt( 99999999.99 ) )
oQry:append()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION addrecord2()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:blank()
oQry:clave := nClv
oQry:nombre := "prueba2 - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION updaterecord2()
LOCAL n, nClv
oQry:gotop()
WHILE !oQry:eof()
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:nombre := "CAMBIADO - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
oQry:skip()
ENDDO
oBrw:refresh()
RETURN NIL
Espero sea de ayuda y cualquier duda, aquí en el blog hay un chat que leo periódicamente.
Saludos
Aqui el link de bajada de la LIB y un ejemplo.
TMYSQL comunity
Suscribirse a:
Entradas (Atom)