eagle fw + mysql

eagle fw + mysql

Postby juan carlos bellucci » Fri May 31, 2013 9:28 am

Buen día Foro.... hace un tiempo había una forma de acceder a una bases de datos de mysql y era a través de EAGLE. mi pregunta es si alguien tiene un pedacito de código par acceder desde fivewin sin necesidad de usar otras librerías a las tablas de mysql.

Les cuento tengo un desarrollo hecho con php y funciona muy bien. pero en ciertos lugares y dada la comodidad de programar en fw me gustaría hacer pequeños módulos para la actualización de las tablas.

Por ahí lo que busco no existe y desde ya muchas gracias.


Posdata: yo tengo el código Eagle pero con las nueva versión de harbour y fivewin no puedo crear el ejecutable me da varios errores.
juan carlos bellucci
 
Posts: 115
Joined: Sat Mar 07, 2009 9:36 pm
Location: Argentina

Re: eagle fw + mysql

Postby cnavarro » Fri May 31, 2013 9:41 am

Buenos dias
Quizás este post te de alguna idea de como poder hacerlo

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=26230#p144355

Saludos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: eagle fw + mysql

Postby MarioG » Mon Jun 03, 2013 1:53 pm

Juan:
El siguiente es un sample que Manu entrega con la lib Eagle
Code: Select all  Expand view
//---------------------------------------------------------------------------//
//  AUTOR.....: Manuel Expósito Suárez   Soft4U 2002-2009                    //
//  eMail.....: messoft@gmail.com                                            //
//  CLASE.....: TMyTable                                                     //
//  FECHA MOD.: 11/01/2009                                                   //
//  VERSION...: 6.00                                                         //
//  PROPOSITO.: Ejemplo uso Egle1 + FW con Browse de FW                      //
//---------------------------------------------------------------------------//

#include "Eagle1.ch"
#include "FiveWin.ch"
#include "dtpicker.ch"
#include "calendar.ch"

//---------------------------------------------------------------------------//
// Son estaticas para que sean visibles desde todo el PRG, por comodidad.

static oConnect     // Objeto conexion
static oDS          // Objeto DataSet

static oWnd         // Objetos de FWH

//---------------------------------------------------------------------------//

function main()

    local cTypeConn

    SET DATE FORMAT TO "DD/MM/YYYY"

    if AbrirTodo( @cTypeConn )

        DEFINE WINDOW oWnd FROM 4, 4 TO 40, 120 ;
            TITLE "Ejemplo de manteniento de una tabla con" + ;
                  " Eagle1 y FWH - " + cTypeConn;
            MENU BuildMenu()

            SET MESSAGE OF oWnd NOINSET;
                TO oDS:cVersion + " por " + oDS:cAuthor CLOCK DATE

        ACTIVATE WINDOW oWnd

    else

        Salir()

    endif

return( nil )

//----------------------------------------------------------------------------//

function BuildMenu()

   local oMenu

   MENU oMenu

      MENUITEM "&Mantenimiento" ACTION Mantenimiento()

      MENUITEM "&Utilities"
      MENU
         MENUITEM "&Calculadora" ACTION WinExec( "Calc" ) ;
            MESSAGE "Lamando a la calculadora de Windows"

         SEPARATOR

         MENUITEM "&Escribir"    ACTION WinExec( "Write" ) ;
            MESSAGE "Llamando a Write de Windows"
      ENDMENU

      MENUITEM "&Salir"
      MENU
         MENUITEM "&Acerca de..." ;
            ACTION MsgAbout( oDS:cAuthor, oDS:cVersion ) ;
            MESSAGE "Informa sobre la versión de Eagle1"
         SEPARATOR
         MENUITEM "&Salir";
            ACTION Salir();
            MESSAGE "Salir del ejemplo de Eagle1 y FWH"
      ENDMENU


   ENDMENU

return oMenu

//----------------------------------------------------------------------------//
// Crea el objeto conexion y abre la tabla

static function AbrirTodo( cTConn )

    local cDbName :=    "E1Prueba            "
    local cTabla := "Test"
    local lRet

// Con sistema empotrado:
#ifdef E1_EMBEDDED

    local aOptions := { "Prueba E1 con FWH", "--defaults-file=./test.cnf" }
    local aGroup := { "op_servidor", "op_cliente" }

    oConnect := TMSEConnect():New( )
    lRet := oConnect:Connect(  aOptions, aGroup, AllTrim( cDbName ) )

    cTConn := "Sistema Empotrado"

// Con sistema cliente/servidor:
#else

    local cHost :=      "127.0.0.1           "
    local cUser :=      "root                "
    local cPassword :=  ""
    local oDlg

    DEFINE DIALOG oDlg FROM 2, 2 TO 14, 35;
        TITLE "Datos de conexión" ;
        STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )

        @ 01, 01 SAY "Host:" OF oDlg
        @ 01, 05 GET cHost PICTURE "@K" UPDATE OF oDlg

        @ 1.8, 01 SAY "Usuario:" OF oDlg
        @ 02, 05 GET cUser PICTURE "@K" UPDATE OF oDlg

        @ 2.6, 01 SAY "Password:" OF oDlg
        @ 03, 05 GET cPassword PICTURE "@K" UPDATE OF oDlg

        @ 3.4, 01 SAY "Base datos:" OF oDlg
        @ 04, 05 GET cDbName PICTURE "@K" UPDATE OF oDlg

        @ 4, 7 BUTTON "&Acptar" ACTION oDlg:End() OF oDlg

    ACTIVATE DIALOG oDlg CENTERED

    cHost := trim( cHost )
    cUser := trim( cUser )
    cPassword := trim( cPassword )
    cDbName := trim( cDbName )

    // Creamos el objeto "connexion"
    oConnect := TMSConnect():New()

    // Nos conectamos al servidor
    lRet := oConnect:Connect( cHost, cUser, cPassword, cDbName )

    cTConn := "Sistema Clente/Sevidor"

#endif

// Comun para cualquier sistema:
    if !lRet
        MsgInfo( "No hay conexión con el servidor", "Operación Cancelada" )
    else
        oDS := TMyTable():New( oConnect, cTabla )
        oDS:SetReadPADAll( .t. )
        oDS:SetTinyAsLogical( .t. )

// Todas las siguientes solo muestran Tablas
// (2) Con TMSQuery
//    oDS := TMSQuery():New( oConnect, "SELECT Id, First, Last, Street, City, State, Zip, Hiredate, Married FROM " + cTabla )
//        oDS:SetReadPADAll( .t. )
//        oDS:SetTinyAsLogical( .t. )

// (3) Con TMSACursor
//    oDS := TMSACursor():New( oConnect, "SELECT Id, First, Last, Street, City, State, Zip, Hiredate, Married FROM " + cTabla )

// (4) Con TMSDbfCursor
//    oDS := TMSDbfCursor():New( oConnect, "SELECT Id, First, Last, Street, City, State, Zip, Hiredate, Married FROM " + cTabla )

// Con esta sentencia hacemos que se tengan en cuenta los espacios en blanco
// de momento no esta implemetado en Cursores locales basados en Array y Dbf
//    if oDS:ClassName() $ "TMSQUERY TMSTABLE"
//        oDS:SetReadPADAll( .t. )
//    endif

        // Abrimos la tabla, traemos el resultado a nuestro cliente
        lRet := oDS:Open()
        if !lRet
            MsgInfo( "No se puede abrir la tabla: " + cTabla, "Operación Cancelada" )
        endif
    endif

return( lRet )

//----------------------------------------------------------------------------//
//

static procedure Salir()

    if ValType( oDS ) == "O"
        oDS:Free()
    endif

    if ValType( oConnect ) == "O"
        oConnect:Free()
    endif

    if ValType( oWnd ) == "O"
        oWnd:End()
    endif

return

//----------------------------------------------------------------------------//

static procedure Mantenimiento()

    local oDlg, oBrw, oCol

    DEFINE DIALOG oDlg FROM 3, 3 TO 40, 100 TITLE "Mantenimiento tabla TEST"

        @ 00, 01 SAY " &Datos tabla..."  OF oDlg

        oBrw := TXBrowse():New( oDlg )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || hb_ValToStr( oDS:FieldGet( 1 ) ) }
        oCol:cHeader   := oDS:FieldName( 1 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 2 ) }
        oCol:cHeader   := oDS:FieldName( 2 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 3 ) }
        oCol:cHeader   := oDS:FieldName( 3 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 4 ) }
        oCol:cHeader   := oDS:FieldName( 4 )
        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 5 ) }
        oCol:cHeader   := oDS:FieldName( 5 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 6 ) }
        oCol:cHeader   := oDS:FieldName( 6 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 7 ) }
        oCol:cHeader   := oDS:FieldName( 7 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || DToC( oDS:FieldGet( 8 ) ) }
        oCol:cHeader   := oDS:FieldName( 8 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || hb_ValToStr( oDS:FieldGet( 9 ) ) }
        oCol:cHeader   := oDS:FieldName( 9 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || hb_ValToStr( oDS:FieldGet( 10 ) ) }
        oCol:cHeader   := oDS:FieldName( 10 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || hb_ValToStr( oDS:FieldGet( 11 ) ) }
        oCol:cHeader   := oDS:FieldName( 11 )

        oCol := oBrw:AddCol()
        oCol:bStrData  := { || oDS:FieldGet( 12 ) }
        oCol:cHeader   := oDS:FieldName( 12 )

        WITH OBJECT oBrw
            :nTop      := 10
            :nLeft     := 10
            :nBottom   := 240
            :nRight    := 370
            :nColDividerStyle := 2
            :SetMySql( oDS, .f. )
            :bSkip := { | n | oBrw:oMysql:Skipper( n ) }
            :CreateFromCode()
        END

        @ 14, 01 BUTTON "&Añadir"       OF oDlg SIZE 35, 12;
                    ACTION CtrDatos( oBrw, .t. )
        @ 14, 08 BUTTON "&Modificar"    OF oDlg SIZE 35, 12;
                    ACTION CtrDatos( oBrw, .f. )
        @ 14, 15 BUTTON "&Borrar"       OF oDlg SIZE 35, 12;
                    ACTION Borrar( oBrw )
        @ 14, 22 BUTTON "&Ordenar"      OF oDlg SIZE 35, 12;
                    ACTION Ordernar( oBrw )
        @ 14, 29 BUTTON "B&uscar"       OF oDlg SIZE 35, 12;
                    ACTION Buscar( oBrw )
        @ 14, 36 BUTTON "Listar"        OF oDlg SIZE 35, 12;
                    ACTION ( oBrw:Report( "Listado de la tabla", .t. ), oDS:GoTop() )
        @ 14, 57 BUTTON "&Salir"        OF oDlg ;
                    ACTION oDlg:End() SIZE 35, 12

   ACTIVATE DIALOG oDlg CENTERED

return

//----------------------------------------------------------------------------//
// Borra la fila actual

static procedure Borrar( oBrw )

    local nRecNo := oDS:RecNo()

    if MsgYesNo( "Realmente quiere borrar el registro " + StrNum( oDS:RecNo() ) + "?" )
        if oDS:Delete( , 1 )
            MyMsgInfo( "Borrado en el servidor" )
            if MsgYesNo( "Refresca la lista?" )
                oDS:Refresh()
                oDS:GoTo( nRecNo )
                oBrw:Refresh()
            endif
        endif
    else
        MyMsgInfo( "No se ha borrado..." )
    endif

return

//----------------------------------------------------------------------------//
// Establece un nuevo orden de visualizacion

static procedure Ordernar( oLbxPrincipal )

    local oDlg, oLbx
    local i := oDS:FieldCount()
    local aFld := Array( i )
    local n, cValue

    FOR n := 1 TO i
        aFld[ n ] := oDS:FieldName( n )
    NEXT

    n := 0

    DEFINE DIALOG oDlg FROM 2, 2 TO 18, 30;
        TITLE "Eagle1, FW y ListBox" ;
        STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )

    @ 01,02 LISTBOX oLbx;
            VAR cValue;
            ITEMS aFld;
            SIZE 80, 70;
            OF oDlg

    @ 5, 02 BUTTON "&Seleccionar";
            OF oDlg;
            SIZE 40, 12;
            DEFAULT;
            ACTION ( MyMsgInfo( "Orden: " + Str( n := oLbx:GetPos() ) + ;
                                 + CRLF + "Nombre del campo: " + cValue, "Has elegido" ), ;
                     oDlg:End() )

    @ 5, 10 BUTTON "&Salir";
            OF oDlg;
            SIZE 40, 12;
            ACTION oDlg:End()

    ACTIVATE DIALOG oDlg CENTERED

    if n != 0 .and. oDS:SetOrderBy( n,, .t. )
        oLbxPrincipal:GoTop()
        oLbxPrincipal:Refresh()
    else
        MyMsgInfo( "No se ha establacido otro orden..." )
    endif

return

//----------------------------------------------------------------------------//

static procedure Buscar( oLb )

    local oDlg
    local i := oDS:FieldCount()
    local n := 1
    local oSay, cSay := "&Valor campo "
    local oGet, uVal

    DEFINE DIALOG oDlg FROM 2, 2 TO 12, 70;
        TITLE "Búsqueda de valores en el DataSet" ;
        STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )

        @ 01, 01 SAY "&Numero de columna ( 1 - " + StrNum( i ) + " ):" OF oDlg
        @ 01, 10 GET n PICTURE "999" ;
                 VALID ( uVal := oDS:FieldGet( n ), oGet:Refresh(), ;
                 oSay:SetText( cSay + AllTrim( oDS:FieldName( n ) ) ), n > 0 .and. n <= i ) ;
                 OF oDlg

        @ 02, 01 SAY oSay VAR cSay OF oDlg
        @ 02, 10 GET oGet VAR uVal SIZE 160, 13 OF oDlg


    @ 3, 02 BUTTON "&Buscar";
            OF oDlg;
            SIZE 40, 12;
            ACTION ( if( oDS:Find( n, uVal, .t. ), ;
                        MyMsgInfo( "Valor encontrado" ), ;
                        MyMsgInfo( "Valor no encontrado" ) ), oLb:Refresh() )

    @ 3, 10 BUTTON "S&iguiente";
            OF oDlg;
            SIZE 40, 12;
            ACTION ( if( !oDS:FindNext(), MyMsgInfo( "No hay más. Se llegó al final" ), ), ;
                     oLb:Refresh() )

    @ 3, 18 BUTTON "&Salir";
            OF oDlg;
            SIZE 40, 12;
            ACTION oDlg:End()

    ACTIVATE DIALOG oDlg

return

//----------------------------------------------------------------------------//

static procedure CtrDatos( oLb, lNuevo )

    local oDlg
    local cQueHago
    local nRec := oDS:RecNo()

    if lNuevo
        cQueHago := "Altas"
        oDS:Blank()
    else
        cQueHago := "Modificación"
        oDS:Load()
    endif

    DEFINE DIALOG oDlg FROM 2, 2 TO 30, 77;
        TITLE "Mantenimiento de la tabla Test - " + cQueHago;
        STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, 4 )

        @ 01, 02 SAY "First"        OF oDlg
        @ 02, 1.5 GET oDS:First     PICTURE "@K" UPDATE OF oDlg

        @ 01, 26.6 SAY "Last"         OF oDlg
        @ 02, 20 GET oDS:Last       PICTURE "@K" UPDATE OF oDlg

        @ 2.8, 02 SAY "Street"      OF oDlg
        @ 4, 1.5 GET oDS:Street     PICTURE "@K" UPDATE OF oDlg

        @ 2.8, 26.6 SAY "City"        OF oDlg
        @ 4, 20 GET oDS:City       PICTURE "@K" UPDATE OF oDlg

        @ 4.6, 02 SAY "State"       OF oDlg
        @ 6, 1.5 GET oDS:State      PICTURE "@K XX" UPDATE OF oDlg

        @ 4.6, 5.5 SAY "Zip"         OF oDlg
        @ 6, 4 GET oDS:Zip        PICTURE "@K 99999-9999" UPDATE OF oDlg

        @ 4.6, 13.9 SAY "Hiredate"    OF oDlg
        @ 78, 83 DTPICKER oDS:Hiredate UPDATE  PIXEL SIZE 50, 11 OF oDlg

        @ 5.7, 22 CHECKBOX oDS:Married PROMPT "Married"  UPDATE OF oDlg

        @ 4.6, 33 SAY "Age"         OF oDlg
        @ 6, 24.5 GET oDS:Age PICTURE "@K 999"        UPDATE OF oDlg

        @ 4.6, 37.5 SAY "Salary"      OF oDlg
        @ 6, 28 GET oDS:Salary  PICTURE "@KE 9,999,999.999"   UPDATE OF oDlg

//..................... El campo MEMO...............................................
        @ 6.4, 02 SAY "Notes"       OF oDlg
        @ 8.1, 1.5 GET oDS:Notes      MEMO         UPDATE OF oDlg SIZE 270, 65
//..................................................................................

        @ 10.5, 02 BUTTON "&Guardar";
                 OF oDlg;
                 SIZE 40, 12;
                 ACTION ( FuncVale( lNuevo ), oLb:Refresh(), oDlg:End() )

        @ 10.5, 10 BUTTON "&Cancelar";
                 OF oDlg;
                 SIZE 40, 12;
                 ACTION ( if( lNuevo, oDS:Blank(), oDS:Load() ), oDlg:Update() )

        @ 10.5, 18 BUTTON "&Salir";
                 OF oDlg;
                 SIZE 40, 12;
                 ACTION oDlg:End()

    ACTIVATE DIALOG oDlg

return

//----------------------------------------------------------------------------//

static procedure FuncVale( lNuevo )

    local nRec

    if lNuevo
        oDS:insert( .t. )
        oDS:GoBottom()
    else
        nRec := oDS:RecNo()
        oDS:Update( .t. )
        oDS:GoTo( nRec )
    endif

return

//----------------------------------------------------------------------------//
 

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: eagle fw + mysql

Postby juan carlos bellucci » Mon Jun 10, 2013 11:31 am

Gracias Mario....te cuento. donde estoy hay un sistema realizado en php y mysql, funciona muy bien para realizar consultas o visualizar datos pero a la hora de realizar alguna tarea donde hay que buscar datos de otras tablas se pone medio pesadito el tema ya que hay que guardar todas las variables y reembiarlas para que cuando se cargue nuevamente la pagina tenga esos datos y la verdad me gusta mas hacerlo con fw... yo compre la versión 12.8 y no tengo ni el Eagle ni el TMysql... ja si por favor me podes decir donde adquirirlos o si FW tiene alguna forma de leer desde Localhost una base mysql y realizar alguna tarea sin usar php te lo voy agradecer y mucho ya ya tengo 62 años y me actualice con php mysql pero ya estoy tan metido con clipper y fw que la verdad me cuesta cambiarme hermano.

desde escobar donde se hace la fiesta de la flor te mando un abrazo y quedo a la espera de alguna novedad tuya... mi correo privado es juanca252@yahoo.com.ar desde ya un abrazo a la distancia.
juan carlos bellucci
 
Posts: 115
Joined: Sat Mar 07, 2009 9:36 pm
Location: Argentina

Re: eagle fw + mysql

Postby MarioG » Mon Jun 10, 2013 12:06 pm

Juan Carlos;
La clase TMySQL esta en las contribs de xHarbour y Harbour: http://code.google.com/p/fivewin-contributions/downloads/list
tambien tenes la clase TDolphin, en el blog de Daniel (TDolphin) hay varios ejemplos y el enlace para descargarla: http://tdolphin.blogspot.com/
Eagle, es de pago y fue creada por Manu Exposito: manuexposito@terra.es, messoft@gmail.com

Obviamente todas conectan mediante localhost

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: eagle fw + mysql

Postby cnavarro » Mon Sep 15, 2014 3:39 pm

Manu, te envié hace tiempo varios correos para actualizarme, pero no obtuve respuesta
Estuve bastante tiempo apartado de este tema y ya no me acordaba ni del mail que tenía en yahoo ni id, ni na de na :D
Me quedé en
Fecha.....: 12/03/2005
Version...: 3.02

Aunque pone 3.03

Bueno, aún tengo esto que me fue de gran ayuda en su momento y que de he retomar de nuevo para ponerme al dia :) :P

Image

Image
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: eagle fw + mysql

Postby xmanuel » Mon Sep 15, 2014 4:41 pm

Cristóbal, escríbeme a mi correo xmessoft de gmail o llámame por teléfono y te paso lo ultimísimo ;-)

Vamos que no me entere yo que tú te quedas sin tu Eagle1!!!!

:D
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: eagle fw + mysql

Postby cnavarro » Mon Sep 15, 2014 4:54 pm

xmanuel wrote:Cristóbal, escríbeme a mi correo xmessoft de gmail o llámame por teléfono y te paso lo ultimísimo ;-)

Vamos que no me entere yo que tú te quedas sin tu Eagle1!!!!

:D


Manu, gracias por tu ofrecimiento
De momento, no lo necesito ya que estoy en otras cosas :D y no voy a tener el tiempo que requiere volver a ello, pero ten por seguro que me pondré en contacto contigo o te pondré un mensaje en el foro para solicitártelo.
Gracias de nuevo y me alegro haberte visto de nuevo por aqui
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: eagle fw + mysql

Postby cnavarro » Fri Oct 03, 2014 6:10 pm

Manu, te envié un correo el 17 de Septiembre
Cuando puedas dime algo

-------------------------- EDITADO -------------------
Reenviado
Last edited by cnavarro on Fri Oct 03, 2014 6:30 pm, edited 1 time in total.
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: eagle fw + mysql

Postby xmanuel » Fri Oct 03, 2014 6:15 pm

Cristobal, vuelve a enviármelo, he tenido problemas y puede que se haya perdido :-(
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: eagle fw + mysql

Postby ruben Dario » Mon Jun 06, 2016 3:00 am

cnavarro wrote:Manu, te envié hace tiempo varios correos para actualizarme, pero no obtuve respuesta
Estuve bastante tiempo apartado de este tema y ya no me acordaba ni del mail que tenía en yahoo ni id, ni na de na :D
Me quedé en
Fecha.....: 12/03/2005
Version...: 3.02

Aunque pone 3.03

Bueno, aún tengo esto que me fue de gran ayuda en su momento y que de he retomar de nuevo para ponerme al dia :) :P

Image

Image



SAludos Al forum

Alguien tiene esta guia alguien me la podria facilitar
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: eagle fw + mysql

Postby cnavarro » Mon Jun 06, 2016 8:42 am

Rubén, yo lo tengo, evidentemente, pero no lo tengo en formato digital
Tampoco sé si podría/debería digitalizarlo y publicarlo sin el explícito permiso de su autor
Son de estas muchas cosas que he guardado para cuando creen de una vez el Premio Nobel a los desarrollos en "XBase", creo que hay mucha gente que se lo han ganado :D :D :D

Saludos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: eagle fw + mysql

Postby Compuin » Mon Jun 06, 2016 2:05 pm

TMysql no aparece en esas contiribs?

Donde mas se puede conseguir?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1213
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: eagle fw + mysql

Postby ruben Dario » Mon Jun 06, 2016 6:42 pm

cnavarro wrote:Rubén, yo lo tengo, evidentemente, pero no lo tengo en formato digital
Tampoco sé si podría/debería digitalizarlo y publicarlo sin el explícito permiso de su autor
Son de estas muchas cosas que he guardado para cuando creen de una vez el Premio Nobel a los desarrollos en "XBase", creo que hay mucha gente que se lo han ganado :D :D :D

Saludos


Gracias.
Tu has llegado a crear la libreria de Eagle
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: eagle fw + mysql

Postby cnavarro » Mon Jun 06, 2016 7:54 pm

Compuin wrote:TMysql no aparece en esas contiribs?

Donde mas se puede conseguir?


Si está
..\contrib\hbmysql
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], pablovidal and 13 guests