miércoles, 21 de octubre de 2009

Incrementando velocidad en el pintado de xbrowse

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

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

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

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

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...

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

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

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