Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Question ¿Qué componentes usar para sustituir en Lazarus los IBX de Delphi 7?

Hola.

Estoy iniciando el cambio de unas aplicaciones hechas en Delphi 7, con componentes IBX y en Firebird 2.0.5, para adaptarlas a Lazarus.

En estas aplicaciones se accede a Firebird de forma local o en red.

Como no podré usar los componentes IBX, me pregunto que componentes podrían ser los más adecuados para acceder a Firebird desde Lazarus.

He visto muchos comentarios en clubdelphi de los componentes Zeos, aunque quizás hayan otros que también sean buenos.

¿Es una buena opción utilizar los Zeos para sustituir a los IBX?, ¿Hay otros componentes que sean más aconsejables para sustituir a los IBX?.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 20-02-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola!

Cita:
Empezado por rrf Ver Mensaje
¿Hay otros componentes que sean más aconsejables para sustituir a los IBX?
Desconozco si en / para Lazarus hay algo similar a los dbExpress + ClientDataSets de Delphi. Siendo éstos de lo de mejor que hay en Delphi para acceso a múltiples motores, quizá Lazarus cuente con algo similar, ya sea nativamente o mediante trabajos de terceros.
Responder Con Cita
  #3  
Antiguo 21-02-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Uso los Zeos tanto en Delphi como en Lazarus, (la última versión estable) y me permiten acceder a Firebird sin problemas. Y con pocos cambios en el código los mismos componentes permiten acceso a otros motores (SQLite, MYSQL, PosgreSQL).
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 21-02-2011 a las 13:13:16.
Responder Con Cita
  #4  
Antiguo 21-02-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile

Cita:
algo similar a los dbExpress + ClientDataSets de Delphi
Gracias Al por tu sugerencia, aunque creo que no hay componentes similares en Lazarus.

Cita:
Uso los Zeos tanto en Delphi como en Lazarus, (la última versión estable) y me permiten acceder a Firebird sin problemas. Y con pocos cambios en el código los mismos componentes permiten acceso a otros motores (SQLite, MYSQL, PosgreSQL).
Y gracias rretamar por tu consejo.

La instalación que tengo es la de CodeTyphon, que incluye instalados los Zeos. Y como confirma rretamar, parecen una buena opción, incluso si hay que cambiar de base de datos.

Ahora la pregunta de quien empieza con algo que desconoce... ¿Alguien sabe de algún enlace a un manual que explique como utilizar los Zeos (con Firebird)? y también, si fuera posible, de alguna aplicación de ejemplo que use los Zeos con Firebird en Lazarus y que pueda ser descargable.

Gracias de antemano.
Responder Con Cita
  #5  
Antiguo 21-02-2011
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
el TBufDataSet o el TMemDataset, Buffer o Memory, la misma cosa para mi jeje, son los ClientDataSet de lazarus.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #6  
Antiguo 21-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tutorial zeos+firebird, aquí.
Responder Con Cita
  #7  
Antiguo 21-02-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Thumbs up

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Tutorial zeos+firebird, aquí.
No conocía ese tutorial. Gracias por el dato.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #8  
Antiguo 22-02-2011
raulparraco raulparraco is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogota Colombia
Posts: 42
Poder: 0
raulparraco Va por buen camino
Estoy de acuerdo con mightydragonlor pero de acuerdo con este enlace

http://wiki.lazarus.freepascal.org/S...ming_Reference

los componetes sqldb tienen tsqlquery que hereda de TbufDataSet



Cita:
Bueno, ¿cómo hacer que el uso de TClientDataset? El principio es el mismo, usted tiene que llamar TBufDataset.ApplyUpdates.

La única diferencia es que usted no necesita un proveedor. En lugar de agregar proveedor de componentes especiales SQLdb utiliza niños clases de decidir qué mecanismo se debe utilizar para almacenar los datos.

Así que en vez de conectar un TClientDataset (FPC-TBufDataset equivalente) a un proveedor que tiene que conectarse a otro (sólo lectura)-conjunto de datos en SQL FPC simplemente utilizar TSQLQuery, que es derrived de TBufDataset.

Así que en vez de conectar tres componentes juntos, puedes colocar un componente que hace todo lo que los tres componentes en Delphi hacer. (Y más, ya que también hay transacciones de apoyo)

Por lo tanto, TSQLQuery.ApplyUpdates uso, y no te olvides de confirmar la transacción.

Cuando usted está utilizando las preguntas que están más avanzados a continuación, 'select * from tabla' puede que tenga que proporcionar su propia actualización, borrar y consultas de inserción.
Esto es traducción de
Cita:
Well, how would you do that using a TClientDataset? The principle is the same, you have to call TBufDataset.ApplyUpdates.

Only difference is that you don't need a provider. Instead of adding special provider components sqldb uses child-classes to decide which mechanism should be used to store the data.

So instead of connecting a TClientDataset (fpc-equivalent TBufDataset) to a provider which you have to connect to another (readonly) sql-dataset in fpc you simply use TSQLQuery, which is derrived from TBufDataset.

So instead of connecting three components together, you can drop one component which does everything those three components in Delphi do. (And more, since there's also transaction-support)

So, use TSQLQuery.ApplyUpdates, and don't forget to commit the transaction.

When you are using queries which are more advanced then 'select * from table' you may have to supply your own update, delete and insert-queries.
Perdonen la traducción no se ingles y utilice Google Traslate
__________________
Raulp
Responder Con Cita
  #9  
Antiguo 22-02-2011
raulparraco raulparraco is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogota Colombia
Posts: 42
Poder: 0
raulparraco Va por buen camino
Se me olvidaba comentar que los componentes SQLDb no tienen equivalente en Delphi mientras que si uno utiliza los ZEOS queda mas fácil de pasar de Lazarus a Delphi o viceversa
__________________
Raulp
Responder Con Cita
  #10  
Antiguo 22-02-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile

Cita:
Tutorial zeos+firebird, aquí.
Casimiro, muchas gracias por el tutorial. No lo he leido, pero parece bueno o muy bueno. Incluso tiene el enlace para descargar ejemplos de aplicaciones (en Delphi). Y hay otro artículo sobre la instalación de los ZEOS (también en Delphi).

Como le seguí la pista, me volví a encontrar con la PAGINA DE DOCUMENTOS DE INTITEC, que recomiendo visitar porque tiene muchos artículos que son muy interesantes. Concretamente, el artículo "Conexión a Firebird desde Delphi con componentes IBX" lo leí hace tiempo y lo considero la mejor y más clara explicación que he visto sobre ello.

Cita:
el TBufDataSet o el TMemDataset, Buffer o Memory, la misma cosa para mi jeje, son los ClientDataSet de lazarus
mightydragonlor, ¿Sabes de algún tutorial y/o alguna aplicación sencilla de ejemplo que explique como usar el TBufDataSet o el TMemDataset?.

Muchas gracias a tod@s por sus aportaciones. Ya voy viendo por donde puedo encaminar lo que quiero hacer.

Saludos

Última edición por Casimiro Notevi fecha: 12-04-2022 a las 19:04:21. Razón: Editar enlace
Responder Con Cita
  #11  
Antiguo 22-02-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por raulparraco Ver Mensaje
Perdonen la traducción no se ingles y utilice Google Traslate
Aun así es interesante la información que proporcionas, Raúl.

Muchas gracias por esa aportación.
Responder Con Cita
  #12  
Antiguo 22-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por rrf Ver Mensaje
[..] Como le seguí la pista, me volví a encontrar con la PAGINA DE DOCUMENTOS DE INTITEC, que recomiendo visitar porque tiene muchos artículos que son muy interesantes. Concretamente, el artículo "Conexión a Firebird desde Delphi con componentes IBX" lo leí hace tiempo y lo considero la mejor y más clara explicación que he visto sobre ello. [..]
Sí, buenísimo el enlace

Última edición por Casimiro Notevi fecha: 12-04-2022 a las 19:04:38. Razón: Editar enlace
Responder Con Cita
  #13  
Antiguo 22-02-2011
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.233
Poder: 20
ElKurgan Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sí, buenísimo el enlace
Muy buena página, Casi... Parece que fuera tuya
Responder Con Cita
  #14  
Antiguo 22-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ElKurgan Ver Mensaje
Muy buena página, Casi... Parece que fuera tuya
je, je, je...
Responder Con Cita
  #15  
Antiguo 22-02-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Wink

El artículo sobre el uso de Zeos con Firebird está francamente bien Casimiro. No lo he acabado, pero lo que he leido está muy claro y comprensible (está en inglés). Y como habla de los componentes en sí, no se nota si es para Delphi o para Lazarus.

Cita:
el artículo "Conexión a Firebird desde Delphi con componentes IBX" lo leí hace tiempo y lo considero la mejor y más clara explicación que he visto sobre ello.
Bueno, de este artículo, además de los elogios que le he hecho, creo que hay que mencionar un error que podría estropearle su utilidad a alguien que esté empezando a usar los IBX y que se guie por el artículo paso a paso.

El error está en la página 9 en la segunda imagen de esa página. En esa imagen, antes de hacer clic en el botón "Generate SQL", hay que tener seleccionados todos los campos que están en el Listbox de la derecha (Update Fields). Si no se hace así y se quedan sin seleccionar esos campos, las sentencias SQL no darán altas, modificaciones, ni borrados del contenido de esos campos.

Con todo, eso no desluce la calidad y claridad del artículo. Vuelvo a repetirlo, creo que es todo un ejemplo a seguir para hacer una guía didáctica.

Saludos.
Responder Con Cita
  #16  
Antiguo 22-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se marcan automáticamente al "pinchar" sobre "select primary key", así que funciona correctamente tal y como indica el tutorial.

Hablo de memoria, pero creo recordar que es así.
Pruébalo y si hace falta se modifica el tutorial.
Responder Con Cita
  #17  
Antiguo 23-02-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Se marcan automáticamente al "pinchar" sobre "select primary key", así que funciona correctamente tal y como indica el tutorial.

Hablo de memoria, pero creo recordar que es así.
Pruébalo y si hace falta se modifica el tutorial.
Lo probé y todos los campos quedan seleccionados inicialmente. Sin embargo, las imágenes no se corresponden a lo que verá la persona que haga pruebas basadas en el tutorial. Lo que me parece confuso (normalmente se ven o se siguen más las imágenes que el texto), sobre todo teniendo en cuenta lo claro que está el resto del tutorial.

Si consideras que es mejor modificar el manual y no te es fácil reproducir las imágenes, creo que ayudaría el incluir un comentario que indique que, "aunque en las imágenes de las páginas tal y cual no se vean así, todos los campos deben estar seleccionados en 'Update Fields' " o algo por el estilo.

Así, si alguien tiene una duda, al leer mejor el texto lo aclarará.

Quizás no sea muy importante, pero el tema para mí es bastante sensible porque, cuando empecé a usar los IBX, en un par de ocasiones introduje nuevos campos en una tabla y, por olvidar el seleccionarlos en "update fields" y por no actualizar las sentencias SQL, me pasé mucho tiempo buscando donde estaba el error con los campos nuevos (que no se actualizaban en las altas, ni en las modificaciones).

Saludos.
Responder Con Cita
  #18  
Antiguo 23-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Gracias por la recomendación, le enviaré un mensaje al creador del mismo para que lo modifique si lo cree oportuno.
Responder Con Cita
  #19  
Antiguo 24-04-2011
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Cita:
Empezado por rrf Ver Mensaje
Casimiro, muchas gracias por el tutorial. No lo he leido, pero parece bueno o muy bueno. Incluso tiene el enlace para descargar ejemplos de aplicaciones (en Delphi). Y hay otro artículo sobre la instalación de los ZEOS (también en Delphi).

Como le seguí la pista, me volví a encontrar con la PAGINA DE DOCUMENTOS DE INTITEC, que recomiendo visitar porque tiene muchos artículos que son muy interesantes. Concretamente, el artículo "Conexión a Firebird desde Delphi con componentes IBX" lo leí hace tiempo y lo considero la mejor y más clara explicación que he visto sobre ello.



mightydragonlor, ¿Sabes de algún tutorial y/o alguna aplicación sencilla de ejemplo que explique como usar el TBufDataSet o el TMemDataset?.

Muchas gracias a tod@s por sus aportaciones. Ya voy viendo por donde puedo encaminar lo que quiero hacer.

Saludos
Hacía tiempo que no leia este post =P, pero si se de un tutorial que explica como usar los TMemDataSet o el TBuffDataSet, espero te sirva.
__________________
mas confundido que Garavito el día del Niño.

Última edición por Casimiro Notevi fecha: 12-04-2022 a las 19:05:12. Razón: Editar enlace
Responder Con Cita
  #20  
Antiguo 24-04-2011
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Cita:
Hacía tiempo que no leia este post =P, pero si se de un tutorial que explica como usar los TMemDataSet o el TBuffDataSet, espero te sirva.
Muchas gracias Mightydragonlor.

Por el tiempo transcurrido había pensado que, por alguna razón, no habías recibido la petición, no lo ibas a compartir o que ese manual o tutorial no existía.

Quizás lo pruebe, pero me he dedicado a practicar con los Zeos porque son los componentes de los que he encontrado algunas guías que explican como usarlos.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Donde encontrar componentes para Lazarus vicacos Lazarus, FreePascal, Kylix, etc. 26 12-01-2010 15:43:21
FIBL 0.7.1 componentes de Datos para Firebird en Lazarus JoseAntonio Lazarus, FreePascal, Kylix, etc. 7 11-11-2009 14:57:43
Componentes para usar con MySQL odrack Varios 7 11-04-2008 17:20:47
ayuda para usar lazarus Robert01 Linux 9 21-08-2006 11:09:35
Que componentes usar para conectar Delphi con Oracle lbuelvas Oracle 9 09-01-2006 15:42:10


La franja horaria es GMT +2. Ahora son las 02:34:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi