Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2017-09

archivos indexados

4 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Rafael Bidegain

hola a todos.

Estoy buscando una librería que me permita usar archivos indexados (indizados)

No es una necesidad laboral, solamente quiero jugar un poco.

Abrir un archivo en formato dbf y un archivo de indices asociado al archivo dbf es una opción pero estoy buscando algo que me permita trabajar con record de pascal.

sql no es una opción que considere.

Este es un ejemplo de archivo

region,vendedor, producto, cantidad
este,lucas,2,10
este,veronica,3,10
norte,juan,1,10
norte,lucas,1,25
oeste,juan,1,15
oeste,maria,1,20
sur,pedro,1,30
sur,santiago, 1,30

necesito un indice por region, otro por nombre, otro por producto

para hacer cortes de control por region o vendedor o producto.

desde ya muchas gracias.

Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170912/9c5c3022/attachment.html>

Reply by email

Victor Michel Cribilleros Gutierrez
to Rafael Bidegain

Actualmente en la empresa donde trabajo aun se usa sistemas en visual foxpro, los cuales por necesidad uso un TODBCConnection mediante conecion por .dsn, Ahora por lo que consultas se podrian hacer mediate consulta sql, solo que el fox en un poco limitado en ese sentido, tambien podrias usar LastReport.

Enviado desde Outlook<http://aka.ms/weboutlook>

Reply by email

Claudio Romero
to Rafael Bidegain: hola a todos. Estoy buscando una librería que me permita usar archivos indexados…

Hola yo use bastante para migrar bases Dbf a FirebirdSql.

Lo que mas usaba era leer el Dbf sin los indices, el componente TDbf es un dataset mas. Bastante simple.

Para los indices el componente TDbf, que soporta los indices MDX (creo dbase), no los IDX, ni CDX (foxpro, visual foxpro). El componente TDbf quedo deprecated un tiempo, luego lo incorparon de nuevo, no se si le agregaron el soporte para foxpro CDX, creo que alguien estaba en eso.

De todas manera yo abria el DBF con lazarus y lo indexaba en MDX. De esta manera no tocaba los CDX.

Aca un ejemplo

procedure IndexaDbf(TablaDbf,campo:string;OpcionesIndices:TIndexOptions);
var Dbf1:TDbf;
begin
    try
        Dbf1:=TDbf.Create(nil);
        dbf1.TableName:=TablaDbf;        Dbf1.Exclusive := True;
        SysUtils.DeleteFile(ExtraerExtension(TablaDbf)+'.mdx');//borra el
indice
           Dbf1.Open;
        try
            Dbf1.AddIndex(campo,campo,OpcionesIndices);
        except
            mensajeExcepcion('No pudo acceder, para indexar, en forma
exclusiva a '+TablaDbf+'; o campo clave incorrecto');
        end;
        Dbf1.Exclusive := false;    Dbf1.IndexName :=campo;
        Dbf1.readonly:=true;
    finally
        Dbf1.Close;    Dbf1.Free;
    end;
end;

Despues para buscar en el Dbf indexado, usaba
if Dbf1.SearchKey(SQLQuery1.FieldValues[campo_clave],stEqual,true) then ...

Lo use bastante en produccion en la migración. Y lo sigo usando para tomar datos externos de tablas Dbf.

Aun asi no lo recomiendo al Dbf para programar bases de datos locales en Lazarus. Si es algo local, es mejor Firebird Embebed, que despues se migrar facilmente a un Firebird Sql.

Saludos

El 12 de septiembre de 2017, 22:22, Rafael Bidegain via Lazarus-es <

lazarus-es en lists.lazarus-ide.org> wrote 48 lines
hola a todos. Estoy buscando una librería que me permita usar archivos indexados (indizados) No es una necesidad laboral, solamente quiero jugar un poco. Abrir un archivo en formato dbf y un archivo de indices asociado al archivo dbf es una opción pero estoy buscando algo que me permita trabajar con record de pascal. sql no es una opción que considere. Este es un ejemplo de archivo region,vendedor, producto, cantidad este,lucas,2,10 este,veronica,3,10 norte,juan,1,10 norte,lucas,1,25 oeste,juan,1,15 oeste,maria,1,20 sur,pedro,1,30 sur,santiago, 1,30 necesito un indice por region, otro por nombre, otro por producto para hacer cortes de control por region o vendedor o producto. desde ya muchas gracias. -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170913/b6e6944c/attachment.html>

Reply by email

Maxi
to Claudio Romero

Para jugar está bueno, creas el archivo y ante cada insercion o borrado agregas o eliminas un nodo de un arbol binario ordenado. (Hermoso recuerdos de clases de programacion en C++)

Pero si queres jugar y aprender a hacer algo que realmente sirva para una aplicacion profesional y escalable, usá sqlite o firebird (mono usuario: enbeded o mulstiusuario) no pesa nada en la pc, o cualquier motor de base de datos.

El 13 de septiembre de 2017, 11:20, Claudio Romero via Lazarus-es <

lazarus-es en lists.lazarus-ide.org> wrote 109 lines
Hola yo use bastante para migrar bases Dbf a FirebirdSql. Lo que mas usaba era leer el Dbf sin los indices, el componente TDbf es un dataset mas. Bastante simple. Para los indices el componente TDbf, que soporta los indices MDX (creo dbase), no los IDX, ni CDX (foxpro, visual foxpro). El componente TDbf quedo deprecated un tiempo, luego lo incorparon de nuevo, no se si le agregaron el soporte para foxpro CDX, creo que alguien estaba en eso. De todas manera yo abria el DBF con lazarus y lo indexaba en MDX. De esta manera no tocaba los CDX. Aca un ejemplo procedure IndexaDbf(TablaDbf,campo:string;OpcionesIndices:TIndexOptions); var Dbf1:TDbf; begin try Dbf1:=TDbf.Create(nil); dbf1.TableName:=TablaDbf; Dbf1.Exclusive := True; SysUtils.DeleteFile(ExtraerExtension(TablaDbf)+'.mdx');//borra el indice Dbf1.Open; try Dbf1.AddIndex(campo,campo,OpcionesIndices); except mensajeExcepcion('No pudo acceder, para indexar, en forma exclusiva a '+TablaDbf+'; o campo clave incorrecto'); end; Dbf1.Exclusive := false; Dbf1.IndexName :=campo; Dbf1.readonly:=true; finally Dbf1.Close; Dbf1.Free; end; end; Despues para buscar en el Dbf indexado, usaba if Dbf1.SearchKey(SQLQuery1.FieldValues[campo_clave],stEqual,true) then ... Lo use bastante en produccion en la migración. Y lo sigo usando para tomar datos externos de tablas Dbf. Aun asi no lo recomiendo al Dbf para programar bases de datos locales en Lazarus. Si es algo local, es mejor Firebird Embebed, que despues se migrar facilmente a un Firebird Sql. Saludos El 12 de septiembre de 2017, 22:22, Rafael Bidegain via Lazarus-es < lazarus-es en lists.lazarus-ide.org> escribió: > hola a todos. > > Estoy buscando una librería que me permita usar archivos indexados > (indizados) > > No es una necesidad laboral, solamente quiero jugar un poco. > > Abrir un archivo en formato dbf y un archivo de indices asociado al > archivo dbf es una opción pero estoy buscando algo que me permita trabajar > con record de pascal. > > sql no es una opción que considere. > > Este es un ejemplo de archivo > > region,vendedor, producto, cantidad > este,lucas,2,10 > este,veronica,3,10 > norte,juan,1,10 > norte,lucas,1,25 > oeste,juan,1,15 > oeste,maria,1,20 > sur,pedro,1,30 > sur,santiago, 1,30 > > necesito un indice por region, otro por nombre, otro por producto > > para hacer cortes de control por region o vendedor o producto. > > desde ya muchas gracias. > > > > -- > Rafael Bidegain > > Ya que los cuerdos no hablan, hablará el loco. > (The Fool, Padraic Pearse) > > # yo quiero educación libre. ¡YA! > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml Linux User #495070 http://domonetic.com/blog ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170913/e58fbbb2/attachment-0001.html>

Reply by email