TDbf PRO disponible...

TDbf PRO disponible...

Postby xmanuel » Fri Aug 29, 2014 3:12 pm

TDbf PRO disponible en fase beta.

Las caracteristicas principales es que está hecha al 100% en C
El buffer es ahora una tabla hash (Array asociativo)
Y como siempre se podrá usar con FWH de 32 y 64!!!

Muy proto más información en https://es.groups.yahoo.com/neo/groups/tdbfpro/info :wink:
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TDbf PRO disponible...

Postby xmanuel » Fri Aug 29, 2014 3:23 pm

Por cierto, ahora es el momento que pidais cosas!!!!
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TDbf PRO disponible...

Postby Carles » Fri Aug 29, 2014 4:23 pm

Gracias !!!

Puedes explicar q hace ? :D (controlar dbfs...)
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: TDbf PRO disponible...

Postby xmanuel » Sat Aug 30, 2014 9:39 am

Sí, controla DBF. Lo novedoso es como esta hecha la clase, 100% en lenguaje C. Eso hace que sea mucho más rápida.
Puedes manejar una DBF como un objeto.ç
Tienes un buffer que hace innecesario el uso de variables intermadias.
Bueno tiene más caracteristicas que iré desgranando.

En el foro de TDBF_PRO he puesto un ejemplo: https://es.groups.yahoo.com/neo/groups/tdbfpro/files/Ejemplos%20TDbf%20PRO/
Usa test.dbf de samples que viene con harbour, pero si no esta en el directorio la crea automaticamente pero vacía...

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

Re: TDbf PRO disponible...

Postby ruben Dario » Sun Aug 31, 2014 12:10 am

No hay nada, porque no lo colocas en este fórum
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: TDbf PRO disponible...

Postby xmanuel » Mon Sep 01, 2014 10:48 pm

Te garantizo que sí hay!!!

https://es.groups.yahoo.com/neo/groups/ ... RO%20DEMO/

Lo pondré aquí si Antonio lo permite ;-)
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TDbf PRO disponible...

Postby cuatecatl82 » Tue Sep 02, 2014 12:51 am

Nop no hay nada, hay que darse de alta o ser usuario de Yahoo para ver la pagina.. Mejor subelo a otro servidor gratuito..

Saludos..
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: TDbf PRO disponible...

Postby ruben Dario » Tue Sep 02, 2014 2:23 am

Soy Usuario de Yahoo , pero no muestra anda
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: TDbf PRO disponible...

Postby acuellar » Tue Sep 02, 2014 10:06 am

Manuel

Ya cree un usuario Yahoo.es y no muestra nada.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: TDbf PRO disponible...

Postby xmanuel » Tue Sep 02, 2014 10:41 am

Haz una petición de entrada en mi grupo de TDbfPRO de Yahoo y te la apruebo...
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TDbf PRO disponible...

Postby elvira » Tue Sep 02, 2014 1:17 pm

xManuel,

La clase es gratuita o es de paga?.

Yo ahora mismo preferentemente uso ADO y estamos dejando las dbfs.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: TDbf PRO disponible...

Postby acuellar » Tue Sep 02, 2014 1:25 pm

Perfecto

Ya la bajé.

Gracias.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: TDbf PRO disponible...

Postby ruben Dario » Tue Sep 02, 2014 2:11 pm

Ya la baje , solamente esta el ejecutable mas no la clase , dicha clase es gratuita o de paga.

EN realidad emigre todos los DBF a otro motor de base de datos que es gratuito como MARIAB

Gracias
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: TDbf PRO disponible...

Postby xmanuel » Wed Sep 03, 2014 8:24 am

Es eso, un ejemplo. Viene el fuente del mismo con la propuesta de tipo de programación que yo haría y el ejecutable.
La definicion en lenguaje C usando el preprocesador es la que pongo más abajo. Me gustaría que si veis un método que pueda faltar que me lo diga :D

Code: Select all  Expand view

CREATE_CLASS( "TCDBF", TCDBF, TCDBF_IVARCOUNT )

// Datas:
    VAR( "BUFFER", TCDBF_BUFFER, TCDBF_VNULL ); // Solo lectura

// Metodos de área de trabajo / gestión de base de datos:
    METHOD( "NEW", TCDBF_INIT );
    METHOD( "CREATE", DBCREATE );
    METHOD( "SELECT", TCDBF_SELECT );
    METHOD( "OPEN", TCDBF_OPEN );
    METHOD( "CLOSE", TCDBF_CLOSE );
    METHOD( "EVAL", TCDBF_EVAL );
    METHOD( "INFO", TCDBF_INFO );
    METHOD( "PACK", TCDBF_PACK );
    METHOD( "SYSNAME", TCDBF_SYSNAME );
    METHOD( "ZAP", TCDBF_ZAP );
    METHOD( "USED", TCDBF_USED );
    METHOD( "ISOPEN", TCDBF_USED );
    METHOD( "FREE", TCDBF_FREE );

    METHOD( "ALIAS", TCDBF_ALIAS );
    METHOD( "GETAREA", TCDBF_GETAREA );

// MEtodos de bloqueos en red
    METHOD( "RECLOCK", TCDBF_RECLOCK );
    METHOD( "FLOCK", TCDBF_FLOCK );
    METHOD( "UNLOCK", TCDBF_UNLOCK );

// Metodos no Area de trabajo
    METHOD( "DROP", HB_DBDROP );
    METHOD( "EXISTS", HB_DBEXISTS );
    METHOD( "RENAME", HB_DBRENAME );

// Metodos de moviemiento y posicion:
    METHOD( "EOF", TCDBF_EOF );
    METHOD( "BOF", TCDBF_BOF );
    METHOD( "GOTOP", TCDBF_GOTOP );
    METHOD( "GOBOTTOM", TCDBF_GOBOTTOM );
    METHOD( "SKIP", TCDBF_SKIP );
    METHOD( "FOUND", TCDBF_FOUND );
    METHOD( "GOTO", TCDBF_GOTO );
    METHOD( "SEEK", TCDBF_SEEK );

// Metodos de gestion de datos:
    METHOD( "APPEND", TCDBF_APPEND );
    METHOD( "DELETE", TCDBF_DELETE );
    METHOD( "DELETED", TCDBF_DELETED );
    METHOD( "ISSELECTED", TCDBF_ISSELECTED );
    METHOD( "FIELDCOUNT", TCDBF_FIELDCOUNT );
    METHOD( "FIELDGET", TCDBF_FIELDGET );
    METHOD( "FIELDPUT", TCDBF_FIELDPUT );
    METHOD( "FIELDLEN", TCDBF_FIELDLEN );
    METHOD( "FIELDINFO", TCDBF_FIELDINFO );
    METHOD( "FIELDNAME", TCDBF_FIELDNAME );
    METHOD( "RECNO", TCDBF_RECNO );
    METHOD( "RECCOUNT", TCDBF_RECCOUNT );
    METHOD( "COMMIT", TCDBF_COMMIT );
    METHOD( "RECALL", TCDBF_RECALL );
    METHOD( "RECINFO", TCDBF_RECINFO );

// Métodos de gestion de relaciones
    METHOD( "SETRELATION", TCDBF_SETRELATION );
    METHOD( "CLEARRELATION", TCDBF_CLEARRELATION );
    METHOD( "RELAREA", TCDBF_RELAREA );
    METHOD( "RELTEXT", TCDBF_RELTEXT );

// Métodos de gestión de ordenaciones
    METHOD( "ORDCREATE", TCDBF_ORDCREATE );
    METHOD( "ORDLISTREBUILD", TCDBF_ORDLISTREBUILD );
    METHOD( "ORDLISTADD", TCDBF_ORDLISTADD );
    METHOD( "ORDLISTCLEAR", TCDBF_ORDLISTCLEAR );
    METHOD( "ORDSETFOCUS", TCDBF_ORDSETFOCUS );

// Basadas en ORDINFO:
    METHOD( "ORDINFO", TCDBF_ORDINFO ); // Utilizar para todo lo que se pueda
    METHOD( "ORDKEYCOUNT", TCDBF_ORDKEYCOUNT );
    METHOD( "ORDFULLPATH", TCDBF_FULLPATH );
    METHOD( "ORDKEY", TCDBF_ORDKEY );
    METHOD( "ORDNAME", TCDBF_ORDNAME );
    METHOD( "ORDBAGNAME", TCDBF_ORDBAGNAME );
    METHOD( "ORDBAGEXT", TCDBF_ORDBAGEXT );
    METHOD( "ORDCOND", TCDBF_ORDCOND );
    METHOD( "ORDNUMBER", TCDBF_ORDNUMBER );
    METHOD( "ORDCOUNT", TCDBF_ORDCOUNT );
    METHOD( "ORDKEYNO", TCDBF_ORDKEYNO );
    METHOD( "ORDKEYGOTO", TCDBF_ORDKEYGOTO );
    METHOD( "ORDKEYRELPOS", TCDBF_ORDKEYRELPOS );
    METHOD( "ORDFINDREC", TCDBF_ORDFINDREC );
    METHOD( "ORDKEYVAL", TCDBF_ORDKEYVAL );

// Metodos de gestion de filtros y scopes
    METHOD( "SETSCOPETOP", TCDBF_SETSCOPETOP );
    METHOD( "SETSCOPEBOTTOM", TCDBF_SETSCOPEBOTTOM );
    METHOD( "SETFILTER", TCDBF_SETFILTER );
    METHOD( "CLEARFILTER", TCDBF_CLEARFILTER );
    METHOD( "LOCATE", TCDBF_LOCATE );
    METHOD( "SETLOCATE", TCDBF_SETLOCATE );
    METHOD( "CONTINUE", TCDBF_CONTINUE );
    METHOD( "CLEARLOCATE", TCDBF_CLEARLOCATE );
    METHOD( "FILTERTEXT", TCDBF_FILTERTEXT );

//  Metodos de manejo de campos MEMO y BLOB
    METHOD( "GETVALUEFILE", TCDBF_GETVALUEFILE );
    METHOD( "PUTVALUEFILE", TCDBF_PUTVALUEFILE );

//------------------------------------------------------------------------------
// Metodos del buffer (hash table)
    METHOD( "LOAD", TCDBF_LOAD );
    METHOD( "SAVE", TCDBF_SAVE );
    METHOD( "UPDATE", TCDBF_UPDATE );
    METHOD( "INSERT", TCDBF_INSERT );
    METHOD( "REMOVE", TCDBF_REMOVE );
    METHOD( "BUFFERLEN", TCDBF_BUFFERLEN );
    METHOD( "BUFFERKEYAT", TCDBF_BUFFERKEYAT );
    METHOD( "BUFFERKEYS", TCDBF_BUFFERKEYS );
    METHOD( "GETBUFFER", TCDBF_GETBUFFER );
    METHOD( "GETBUFFERAT", TCDBF_GETBUFFERAT );
    METHOD( "SETBUFFER", TCDBF_SETBUFFER );
    METHOD( "SETBUFFERAT", TCDBF_SETBUFFERAT );
    METHOD( "ABUFFER", TCDBF_ABUFFER );
    METHOD( "BLANK", TCDBF_BLANK );
    METHOD( "SETBUFKEYCASEMATCH", TCDBF_SETBUFKEYCASEMATCH );

END_CLASS

 


Y como ejemplo de implementación te pongo el método constructor new() :
Code: Select all  Expand view

//------------------------------------------------------------------------------
// Metodo: new()
// Uso: Constructor de la clase
// Devuelve: el objeto

HB_FUNC_STATIC( TCDBF_INIT )
{
    PHB_ITEM pSelf = hb_pSelf();

    if( pSelf )
    {
        TDBFP pTDbf = hb_xgrab( sizeof( TDBF ) );
        const char * szDFName = hb_parc( 1 );

        pTDbf->pArea = NULL;
        pTDbf->szDataFileName = NULL;
        pTDbf->pBuffer = NULL;

        if( szDFName )
        {
            pTDbf->szDataFileName = hb_strdup( szDFName );
        }

        // Asigna la estructura recien creada a la clase
        hb_arraySetPtr( pSelf, TCDBF_DATA_STRUCT, pTDbf );
    }

    // Un constructor siempre devuelve SELF
    hb_itemReturn( pSelf );
}

 

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

Re: TDbf PRO disponible...

Postby xmanuel » Wed Sep 03, 2014 12:31 pm

La base de como está construida TDbfPRO está en una conversación con Antonio en el foro.
Busca "Enviando un mensaje a un objeto desde bajo nivel"
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 82 guests