Sign in Join

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

Mailing lists / lazarus-es / 2013-07

acceder a una database en una unit

35 messages · 9 people · –

Reply by email Subscribe to this list Your subscription

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

Jose Daboin
to Héctor F. Fiandor Rosario: estimados colegas: tengo pendiente (entre muchas cosas) aprender a tener acceso a una…

agrega los componentes al proyecto y listo. Repito al proyecto no al form por que no tienes.

El 4 de julio de 2013 03:35, H�ctor F. Fiandor Rosario < hfiandor en infomed.sld.cu> escribi�:

Show quoted text 20 lines
** estimados colegas: tengo pendiente (entre muchas cosas) aprender a tener acceso a una base de datos (Sqlite) en una unit, que no tiene un form asociado, como por ejemplo, una unit donde se realizan calculos usando datos de una tabla Sqlite. agredeceria cualquier informaci�n al respecto para ponerme a aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130703/d8b42653/attachment.html>

Reply by email

Jose Daboin
to Jose Daboin

Se me olvido, instala zeos component primero para que �puedas trabajar con sqlite o cualquier otro tipo de base de datos soportado por lazarus

El 3 de julio de 2013 20:20, Jose Daboin <metalbox9000 en gmail.com> escribi�:

Show quoted text 34 lines
agrega los componentes al proyecto y listo. Repito al proyecto no al form por que no tienes. El 4 de julio de 2013 03:35, H�ctor F. Fiandor Rosario < hfiandor en infomed.sld.cu> escribi�: > ** > estimados colegas: > tengo pendiente (entre muchas cosas) aprender a tener acceso a una base > de datos (Sqlite) en una unit, que no tiene un form asociado, como por > ejemplo, una unit donde se realizan calculos usando datos de una tabla > Sqlite. > > agredeceria cualquier informaci�n al respecto para ponerme a aprender. > > saludos, > > Ing. H�ctor F. Fiandor Rosario > hfiandor en infomed.sld.cu > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- *Saludos. Jose Daboin*
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130703/df24fdd8/attachment.html>

Reply by email

Héctor F. Fiandor Rosario

estimados colegas:
tengo pendiente (entre muchas cosas) aprender a tener acceso a una base de datos (Sqlite) en una unit, que no tiene un form asociado, como por ejemplo, una unit donde se realizan calculos usando datos de una tabla Sqlite.

agredeceria cualquier informaci�n al respecto para ponerme a aprender.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130703/bf28c066/attachment.html>

Reply by email

Martin Gomez
to Jose Daboin: Se me olvido, instala zeos component primero para que �puedas trabajar con sqlite o…

Hector,
Como "buena pr�ctica", yo nunca incluyo los componentes de acceso a base de datos en los form, sino en un DataModule (es un form especial, no visual, dise�ado para hacer exactamente eso).
Normalmente le pongo de nombre DM e incluyo su unit (uDM) en el uses de donde sea que lo necesite...
Luego puedo hacer DM.Tabla.blablabla o DM.SQL.Text = 'SELECT BLA'

Al tener todos los componentes en un solo lugar (y quizas tambi�n rutinas de apoyo, como "function DameProveedor(codigo):string" declaradas como p�blicas) puedo cambiar de motor de base de datos y hasta de componentes (ej, pasar de SQLdb a Zeos) con muy poco trabajo y m�nima incidencia en el resto de la aplicaci�n.

Espero que te sirva.

2013/7/3 Jose Daboin <metalbox9000 en gmail.com>

Show quoted text 54 lines
Se me olvido, instala zeos component primero para que �puedas trabajar con sqlite o cualquier otro tipo de base de datos soportado por lazarus El 3 de julio de 2013 20:20, Jose Daboin <metalbox9000 en gmail.com>escribi�: agrega los componentes al proyecto y listo. Repito al proyecto no al form > por que no tienes. > > > El 4 de julio de 2013 03:35, H�ctor F. Fiandor Rosario < > hfiandor en infomed.sld.cu> escribi�: > >> ** >> estimados colegas: >> tengo pendiente (entre muchas cosas) aprender a tener acceso a una base >> de datos (Sqlite) en una unit, que no tiene un form asociado, como por >> ejemplo, una unit donde se realizan calculos usando datos de una tabla >> Sqlite. >> >> agredeceria cualquier informaci�n al respecto para ponerme a aprender. >> >> saludos, >> >> Ing. H�ctor F. Fiandor Rosario >> hfiandor en infomed.sld.cu >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> > > > -- > *Saludos. > > Jose Daboin* > -- *Saludos. Jose Daboin* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130704/ead846f5/attachment.html>

Reply by email

Rafael Bidegain
to Héctor F. Fiandor Rosario: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la…

Hola Hector.

El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario < hfiandor en infomed.sld.cu> escribi�:

Show quoted text 23 lines
** Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize.

para crear un DM ten�s que hacer lo siguiente:
clic en menu Archivo,
clic en nuevo ...
clic en m�dulo
clic en m�dulo de datos
clic en aceptar.

saludos

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.freepascal.org/pipermail/lazarus-es/attachments/20130704/f51868d3/attachment.html>

Reply by email

Alfred Rivera
to Héctor F. Fiandor Rosario: muchas gracias al colega Bigegain. voy a experimentar. Ing. H�ctor F. Fiandor Rosario…

Saludos,

No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l.

Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule )
Para recurrir a los mismos simplemente ....

with dades.Datamodule do begin
    Zconnection.DataBase:='Dbgeneral';
    Zconnection.HostName:='192.168.1.10";
    Zconnection.User:='Usuario';
    Zconnection.Password:='password';
    Zconnection.Connected:=True;
end;

El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�:

Show quoted text 70 lines
muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu <mailto:hfiandor en infomed.sld.cu> ----- Original Message ----- *From:* Rafael Bidegain <mailto:r.bidegain en gmail.com> *To:* Spanish version of Lazarus List <mailto:lazarus-es en lists.lazarus.freepascal.org> *Sent:* Thursday, July 04, 2013 2:03 AM *Subject:* Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu <mailto:hfiandor en infomed.sld.cu>> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- 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.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130704/5679b610/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to Martin Gomez: Como "buena pr�ctica", yo nunca incluyo los componentes de acceso a base de datos en…

Estimado Mart�n G�mez y otros colegas:

Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber.

Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo.

No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). La unica cosa que alguien pudiera preguntar es que para que declarar "todas" las tablas en una unit donde solo necesito llamar a dos o tres tablas solamente.

Indudablemente que los form quedarian mucho mas "limpios" y no se olvidaria nada.

Generalmente yo hago una unit (useleccion2) donde basicamente creo el "camino" donde estar�n las tablas y creo las tablas, y esa form a veces esta muy "cargada" con todos los iconos (datasets y datasources) de TODAS las tablas.

Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize.

lo saluda y le da las gracias por anticipado,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 50 lines
----- Original Message ----- From: Martin Gomez To: Spanish version of Lazarus List Sent: Wednesday, July 03, 2013 11:40 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hector, Como "buena pr�ctica", yo nunca incluyo los componentes de acceso a base de datos en los form, sino en un DataModule (es un form especial, no visual, dise�ado para hacer exactamente eso). Normalmente le pongo de nombre DM e incluyo su unit (uDM) en el uses de donde sea que lo necesite... Luego puedo hacer DM.Tabla.blablabla o DM.SQL.Text = 'SELECT BLA' Al tener todos los componentes en un solo lugar (y quizas tambi�n rutinas de apoyo, como "function DameProveedor(codigo):string" declaradas como p�blicas) puedo cambiar de motor de base de datos y hasta de componentes (ej, pasar de SQLdb a Zeos) con muy poco trabajo y m�nima incidencia en el resto de la aplicaci�n. Espero que te sirva. 2013/7/3 Jose Daboin <metalbox9000 en gmail.com> Se me olvido, instala zeos component primero para que �puedas trabajar con sqlite o cualquier otro tipo de base de datos soportado por lazarus El 3 de julio de 2013 20:20, Jose Daboin <metalbox9000 en gmail.com> escribi�: agrega los componentes al proyecto y listo. Repito al proyecto no al form por que no tienes. El 4 de julio de 2013 03:35, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: estimados colegas: tengo pendiente (entre muchas cosas) aprender a tener acceso a una base de datos (Sqlite) en una unit, que no tiene un form asociado, como por ejemplo, una unit donde se realizan calculos usando datos de una tabla Sqlite. agredeceria cualquier informaci�n al respecto para ponerme a aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu

Reply by email

Héctor F. Fiandor Rosario
to Martin Gomez: Como "buena pr�ctica", yo nunca incluyo los componentes de acceso a base de datos en…

Estimado Mart�n G�mez y otros colegas:

Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber.

Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo.

No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). La unica cosa que alguien pudiera preguntar es que para que declarar "todas" las tablas en una unit donde solo necesito llamar a dos o tres tablas solamente.

Indudablemente que los form quedarian mucho mas "limpios" y no se olvidaria nada.

Generalmente yo hago una unit (useleccion2) donde basicamente creo el "camino" donde estar�n las tablas y creo las tablas, y esa form a veces esta muy "cargada" con todos los iconos (datasets y datasources) de TODAS las tablas.

Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize.

lo saluda y le da las gracias por anticipado,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 50 lines
----- Original Message ----- From: Martin Gomez To: Spanish version of Lazarus List Sent: Wednesday, July 03, 2013 11:40 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hector, Como "buena pr�ctica", yo nunca incluyo los componentes de acceso a base de datos en los form, sino en un DataModule (es un form especial, no visual, dise�ado para hacer exactamente eso). Normalmente le pongo de nombre DM e incluyo su unit (uDM) en el uses de donde sea que lo necesite... Luego puedo hacer DM.Tabla.blablabla o DM.SQL.Text = 'SELECT BLA' Al tener todos los componentes en un solo lugar (y quizas tambi�n rutinas de apoyo, como "function DameProveedor(codigo):string" declaradas como p�blicas) puedo cambiar de motor de base de datos y hasta de componentes (ej, pasar de SQLdb a Zeos) con muy poco trabajo y m�nima incidencia en el resto de la aplicaci�n. Espero que te sirva. 2013/7/3 Jose Daboin <metalbox9000 en gmail.com> Se me olvido, instala zeos component primero para que �puedas trabajar con sqlite o cualquier otro tipo de base de datos soportado por lazarus El 3 de julio de 2013 20:20, Jose Daboin <metalbox9000 en gmail.com> escribi�: agrega los componentes al proyecto y listo. Repito al proyecto no al form por que no tienes. El 4 de julio de 2013 03:35, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: estimados colegas: tengo pendiente (entre muchas cosas) aprender a tener acceso a una base de datos (Sqlite) en una unit, que no tiene un form asociado, como por ejemplo, una unit donde se realizan calculos usando datos de una tabla Sqlite. agredeceria cualquier informaci�n al respecto para ponerme a aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu

Reply by email

Alfred Rivera
to Héctor F. Fiandor Rosario: muchas gracias al colega Bigegain. voy a experimentar. Ing. H�ctor F. Fiandor Rosario…

Saludos de nuevo,

Estoy incorporando forms para editar registros con doble click en un dbgrid lazarus + Zeoslib + postgres

Por alg�n motivo que desconozco siempre acabo dudando entre usar el Datamodule... incorporar el query y el Datasource en el mismo form o incluso realizarlo todo por c�digo.

No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va saliendo.

�Existe algun convenio sobre cu�l es el mejor m�todo ?

Gracias

Reply by email

Ulises Díaz
to Alfred Rivera

Hola
Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n. Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo: var QCargarComboboxs : tzquery; //declaro la query, Zeosbegin QCargarComboboxs : tzquery.create(nil); //Instancio QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule.

QCargarComboboxs .SQL.add('select * from years');QCargarComboboxs.execsql;//Realizo la consulta
//Cargo un combo por ejemploWhile not QCargarCombobox.Eof dobeginCombo1.add(QCargarComboboxs.fielbyname('year').asstring);  //Adiciono el elemento al comboQCargarComboboxs.next; //siguiente registroend;

... Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar. Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias.

Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo.

Espero que sea de utilidad, saludos desde Colombia

Ulises D�azIngeniero de Sistemas, UNAD.

Show quoted text 25 lines
Date: Thu, 4 Jul 2013 22:51:30 +0200 From: alfred en arsistemes.com To: lazarus-es en lists.lazarus.freepascal.org Subject: [Lazarus-es] forms i querys Saludos de nuevo, Estoy incorporando forms para editar registros con doble click en un dbgrid lazarus + Zeoslib + postgres Por alg�n motivo que desconozco siempre acabo dudando entre usar el Datamodule... incorporar el query y el Datasource en el mismo form o incluso realizarlo todo por c�digo. No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va saliendo. �Existe algun convenio sobre cu�l es el mejor m�todo ? Gracias _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130704/4417dc04/attachment.html>

Reply by email

Martin Gomez
to Ulises Díaz

Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1.

Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :)

2013/7/4 Ulises D�az <udiaz60 en hotmail.com>

Show quoted text 93 lines
Hola Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n. Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo: var QCargarComboboxs : tzquery; //declaro la query, Zeos begin QCargarComboboxs : tzquery.create(nil); //Instancio QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule. QCargarComboboxs .SQL.add('select * from years'); QCargarComboboxs.execsql; //Realizo la consulta //Cargo un combo por ejemplo While not QCargarCombobox.Eof do begin Combo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el elemento al combo QCargarComboboxs.next; //siguiente registro end; . . . Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar. Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias. Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo. Espero que sea de utilidad, saludos desde Colombia Ulises D�az Ingeniero de Sistemas, UNAD. > Date: Thu, 4 Jul 2013 22:51:30 +0200 > From: alfred en arsistemes.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: [Lazarus-es] forms i querys > > Saludos de nuevo, > > Estoy incorporando forms para editar registros con doble click en un > dbgrid lazarus + Zeoslib + postgres > > Por alg�n motivo que desconozco siempre acabo dudando entre usar el > Datamodule... incorporar el query y el Datasource en el mismo form o > incluso realizarlo todo por c�digo. > > No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va > saliendo. > > �Existe algun convenio sobre cu�l es el mejor m�todo ? > > Gracias > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130704/59fd5bb7/attachment.html>

Reply by email

Ulises Díaz
to Martin Gomez

Hola
Si, Aprend� en Visual Basic, pero cuando se trata de aplicaciones Web utilizo MVC, separando los datos de la l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo por lo confuso que es tener un datamodule con todas las querys, a menos que por cada secci�n o formulario del programa se cree un datamodule, cosa que utilice una vez pero por cada datamodule necesitaba una conexi�n, lo que no me gust�. Voy a volver a intetarlo pero quetal si creamos un datamodule ("prinicpal") que tenga la conexion y para cada form creamos otro data module cuyas querys se asignen a la conexion de datamodule "principal", que opinan? o les parece poco funcional. Lo que busco es mejor organizaci�n. Gracias por la recomendaci�n.

Date: Thu, 4 Jul 2013 18:49:31 -0300
From: mmgomez en gmail.com
To: lazarus-es en lists.lazarus.freepascal.org
Subject: Re: [Lazarus-es] forms i querys

Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1.

Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :)

2013/7/4 Ulises D�az <udiaz60 en hotmail.com>

Hola
Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n.

Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo:

var  QCargarComboboxs : tzquery; //declaro la query, Zeosbegin  QCargarComboboxs : tzquery.create(nil); //Instancio  QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule.
QCargarComboboxs .SQL.add('select * from years');QCargarComboboxs.execsql;//Realizo la consulta
//Cargo un combo por ejemplo
While not QCargarCombobox.Eof dobeginCombo1.add(QCargarComboboxs.fielbyname('year').asstring);  //Adiciono el elemento al combo
QCargarComboboxs.next; //siguiente registroend;

... Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar.

Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias.

Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo.

Espero que sea de utilidad, saludos desde Colombia

Ulises D�azIngeniero de Sistemas, UNAD.

Show quoted text 30 lines
Date: Thu, 4 Jul 2013 22:51:30 +0200 From: alfred en arsistemes.com To: lazarus-es en lists.lazarus.freepascal.org Subject: [Lazarus-es] forms i querys Saludos de nuevo, Estoy incorporando forms para editar registros con doble click en un dbgrid lazarus + Zeoslib + postgres Por alg�n motivo que desconozco siempre acabo dudando entre usar el Datamodule... incorporar el query y el Datasource en el mismo form o incluso realizarlo todo por c�digo. No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va saliendo. �Existe algun convenio sobre cu�l es el mejor m�todo ? Gracias _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Martin Gomez
to Ulises Díaz

No estoy muy seguro al respecto (tendr�a que recurrir a la documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por proyecto... En L�zarus creo que no existe esa limitaci�n.

2013/7/4 Ulises D�az <udiaz60 en hotmail.com>

Show quoted text 143 lines
Hola Si, Aprend� en Visual Basic, pero cuando se trata de aplicaciones Web utilizo MVC, separando los datos de la l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo por lo confuso que es tener un datamodule con todas las querys, a menos que por cada secci�n o formulario del programa se cree un datamodule, cosa que utilice una vez pero por cada datamodule necesitaba una conexi�n, lo que no me gust�. Voy a volver a intetarlo pero quetal si creamos un datamodule ("prinicpal") que tenga la conexion y para cada form creamos otro data module cuyas querys se asignen a la conexion de datamodule "principal", que opinan? o les parece poco funcional. Lo que busco es mejor organizaci�n. Gracias por la recomendaci�n. ------------------------------ Date: Thu, 4 Jul 2013 18:49:31 -0300 From: mmgomez en gmail.com To: lazarus-es en lists.lazarus.freepascal.org Subject: Re: [Lazarus-es] forms i querys Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1. Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :) 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> Hola Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n. Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo: var QCargarComboboxs : tzquery; //declaro la query, Zeos begin QCargarComboboxs : tzquery.create(nil); //Instancio QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule. QCargarComboboxs .SQL.add('select * from years'); QCargarComboboxs.execsql; //Realizo la consulta //Cargo un combo por ejemplo While not QCargarCombobox.Eof do begin Combo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el elemento al combo QCargarComboboxs.next; //siguiente registro end; . . . Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar. Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias. Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo. Espero que sea de utilidad, saludos desde Colombia Ulises D�az Ingeniero de Sistemas, UNAD. > Date: Thu, 4 Jul 2013 22:51:30 +0200 > From: alfred en arsistemes.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: [Lazarus-es] forms i querys > > Saludos de nuevo, > > Estoy incorporando forms para editar registros con doble click en un > dbgrid lazarus + Zeoslib + postgres > > Por alg�n motivo que desconozco siempre acabo dudando entre usar el > Datamodule... incorporar el query y el Datasource en el mismo form o > incluso realizarlo todo por c�digo. > > No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va > saliendo. > > �Existe algun convenio sobre cu�l es el mejor m�todo ? > > Gracias > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Try not to become a man of success but rather to become a man of value. *Albert Einstein* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130704/fed00698/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to Rafael Bidegain: Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario < hfiandor en…

muchas gracias al colega Bigegain. voy a experimentar.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 58 lines
----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! ------------------------------------------------------------------------------

Reply by email

Ulises Díaz
to Martin Gomez: No estoy muy seguro al respecto (tendr�a que recurrir a la documentaci�n) pero hasta…

Trabajo con lazarus, codetyphon edition + postgresql/mysql.

Date: Thu, 4 Jul 2013 20:24:54 -0300
From: mmgomez en gmail.com
To: lazarus-es en lists.lazarus.freepascal.org
Subject: Re: [Lazarus-es] forms i querys

No estoy muy seguro al respecto (tendr�a que recurrir a la documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por proyecto... En L�zarus creo que no existe esa limitaci�n.

2013/7/4 Ulises D�az <udiaz60 en hotmail.com>

Hola
Si, Aprend� en Visual Basic, pero cuando se trata de aplicaciones Web utilizo MVC, separando los datos de la l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo por lo confuso que es tener un datamodule con todas las querys, a menos que por cada secci�n o formulario del programa se cree un datamodule, cosa que utilice una vez pero por cada datamodule necesitaba una conexi�n, lo que no me gust�.

Voy a volver a intetarlo pero quetal si creamos un datamodule ("prinicpal") que tenga la conexion y para cada form creamos otro data module cuyas querys se asignen a la conexion de datamodule "principal", que opinan? o les parece poco funcional. Lo que busco es mejor organizaci�n.

Gracias por la recomendaci�n.

Date: Thu, 4 Jul 2013 18:49:31 -0300
From: mmgomez en gmail.com
To: lazarus-es en lists.lazarus.freepascal.org

Subject: Re: [Lazarus-es] forms i querys

Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1.

Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :)

2013/7/4 Ulises D�az <udiaz60 en hotmail.com>

Hola
Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n.

Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo:

var  QCargarComboboxs : tzquery; //declaro la query, Zeosbegin  QCargarComboboxs : tzquery.create(nil); //Instancio  QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule.
QCargarComboboxs .SQL.add('select * from years');QCargarComboboxs.execsql;//Realizo la consulta
//Cargo un combo por ejemplo
While not QCargarCombobox.Eof dobeginCombo1.add(QCargarComboboxs.fielbyname('year').asstring);  //Adiciono el elemento al combo
QCargarComboboxs.next; //siguiente registroend;

... Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar.

Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias.

Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo.

Espero que sea de utilidad, saludos desde Colombia

Ulises D�azIngeniero de Sistemas, UNAD.

Date: Thu, 4 Jul 2013 22:51:30 +0200
From: alfred en arsistemes.com To: lazarus-es en lists.lazarus.freepascal.org
Show quoted text 6 lines
Subject: [Lazarus-es] forms i querys Saludos de nuevo, Estoy incorporando forms para editar registros con doble click en un dbgrid lazarus + Zeoslib + postgres
Show quoted text 6 lines
Por alg�n motivo que desconozco siempre acabo dudando entre usar el Datamodule... incorporar el query y el Datasource en el mismo form o incluso realizarlo todo por c�digo. No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va
Show quoted text 9 lines
saliendo. �Existe algun convenio sobre cu�l es el mejor m�todo ? Gracias _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org

Reply by email

Ulises Díaz
to Héctor F. Fiandor Rosario: Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa,…

H�ctor, cordial saludo:
en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando.

Ulises D�azIngeniero de Sistemasingulisesdiaz en hotmail.com

Earlier message 167 lines
From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios).[..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA!

Reply by email

Ulises Díaz
to Héctor F. Fiandor Rosario: Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo…

Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que ausentarme.

Earlier message 230 lines
From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 21:25:38 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios).[..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA!

Reply by email

Héctor F. Fiandor Rosario
to Alfred Rivera: No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar…

Estimados colegas:

en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM.

tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources.

marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM.

Volvi a la unit original y en uses escribi uDM.

Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas".

agracezco cualquier ayuda y que me digan que hize mal, para aprender.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 87 lines
----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! --------------------------------------------------------------------------

Reply by email

Héctor F. Fiandor Rosario
to Ulises Díaz: H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad…

Estimado Ulises, mis saludos,

ya eso se hizo solito cuando compile. El agrego en el el uses Sqlite y otros.

Creo que mi error esta en la forma que llamo en la rutina de crear la tabla:

  with tCuentas do
  begin
    FileName := camino_actual + '\Tablas.db';
    PrimaryKey := 'IdCuentas';
    if not TableExists('Cuentas') then
    begin
      FieldDefs.Clear;

indudablemente que tCuentas esta en el uDM y pienso que esto debe decirse, pero no se como.

la sugerencia de Alfred Rivera incluye algo que no conozco y posiblemente sea la clave del asunto.

saludos y sigo esperando ayuda.

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 133 lines
----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! ------------------------------------------------------------------------

Reply by email

Héctor F. Fiandor Rosario
to Ulises Díaz: H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad…

Estimado Ulises y Rivera:

efectivamente, hize lo que aparece mas abajo, y compilo completo.

  with dm.tCuentas do
  begin
    FileName := camino_actual + '\Tablas.db';
    PrimaryKey := 'IdCuentas';
    if not TableExists('Cuentas') then
    begin
      FieldDefs.Clear;

ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 133 lines
----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! ------------------------------------------------------------------------

Reply by email

Ulises Díaz
to Héctor F. Fiandor Rosario: Ulises, te molesto de nuevo, pero el programa no me funciona. hize todos los cambios en…

Hola H�ctor, no es ninguna molestia.hay alguna forma de que env�es el c�digo o las unidades para hacer pruebas ac�?, sinceramente no se que pueda estar pasando tal vez ejecut�ndolo nos demos cuenta o cualquier miembro de la comunidad ayude. Ulises D�azIngeniero de Sistemasingulisesdiaz en hotmail.com

Earlier message 283 lines
From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Fri, 5 Jul 2013 06:11:35 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Ulises, te molesto de nuevo, pero el programa no me funciona. hize todos los cambios en todas las units donde se llamaba a las tablas y les puse dm.t...... termine, compile bien y al ejecutarlo, en la unit donde se supone que se creen las tablas, me da un error y tengo que cancelar. si tienes alguna idea del asunto, te la voy a agradecer, o dime si necesitas mas informaci�n para enviartela. saludos, y perdona tanta molestia, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 3:19 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que ausentarme. From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 21:25:38 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios).[..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA!

Reply by email

Héctor F. Fiandor Rosario
to Ulises Díaz: Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que…

Ulises, te molesto de nuevo, pero el programa no me funciona.

hize todos los cambios en todas las units donde se llamaba a las tablas y les puse dm.t......

termine, compile bien y al ejecutarlo, en la unit donde se supone que se creen las tablas, me da un error y tengo que cancelar.

si tienes alguna idea del asunto, te la voy a agradecer, o dime si necesitas mas informaci�n para enviartela.

saludos, y perdona tanta molestia,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 176 lines
----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 3:19 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que ausentarme. ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 21:25:38 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ---------------------------------------------------------------------------- From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! ----------------------------------------------------------------------

Reply by email

Ulises Díaz
to Héctor F. Fiandor Rosario: Amigo Ulises: en proximos correos te estoy enviando un winrar multivolumen de 300,000…

Sr H�ctor,
Al fin pude bajar e instalar Lazarus, viendo el c�digo me doy cuenta que falta algo en el archivo del proyecto, la linea de codigo que nos cree el datamodule (Application.CreateForm(TfDM, fDM);) Por ejemplo en su archivo quedar�a as�: Application.Title:='Prueba2'; RequireDerivedFormResource := True; Application.Initialize; Application.CreateForm(TfDM, fDM); //Creamos el datamodule antes de cualquier formulario Application.CreateForm(Tffondo, ffondo); Application.Run; Hice eso y me crea las tablas aunque no pude ingresar informaci�n, me aparecen los controles bloqueados, tal vez por el sue�o no pueda darme cuenta de que se trata jeje. Creo que eso es todo.
Espero le sea �til la informaci�n, con mucho gusto,

Ulises D�az

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130705/44f58a12/attachment.html>

Reply by email

Ulises Díaz
to Ulises Díaz

[Env�o nuevamente, no recib� la confirmaci�n de env�o en la lista, disculpas si llega duplicado] Sr H�ctor,
Al fin pude bajar e instalar Lazarus, viendo el c�digo me doy cuenta que falta algo en el archivo del proyecto, la linea de codigo que nos cree el datamodule (Application.CreateForm(TfDM, fDM);) Por ejemplo en su archivo quedar�a as�: Application.Title:='Prueba2'; RequireDerivedFormResource := True; Application.Initialize; Application.CreateForm(TfDM, fDM); //Creamos el datamodule antes de cualquier formulario Application.CreateForm(Tffondo, ffondo); Application.Run; Hice eso y me crea las tablas aunque no pude ingresar informaci�n, me aparecen los controles bloqueados, tal vez por el sue�o no pueda darme cuenta de que se trata jeje. Creo que eso es todo.

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130705/e8f1f1e8/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to Ulises Díaz: Hola H�ctor, no es ninguna molestia.hay alguna forma de que env�es el c�digo o las…

Amigo Ulises:

en proximos correos te estoy enviando un winrar multivolumen de 300,000 bytes, para por si acaso el servidor los rechaza.

este es una prueba de un programa que lee una tabla sqlite3 (te envio dll) y que esta hecho por el metodo antiguo, no con el DataModulo.

compilalo, accionalo y te debe salir la tabla como le saldria a cualquier otro usuario.

Despues voy a introducir el DataModulo y espero que no trabaje. Te lo envio y me lo destrozas.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Earlier message 215 lines
----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Friday, July 05, 2013 2:29 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola H�ctor, no es ninguna molestia. hay alguna forma de que env�es el c�digo o las unidades para hacer pruebas ac�?, sinceramente no se que pueda estar pasando tal vez ejecut�ndolo nos demos cuenta o cualquier miembro de la comunidad ayude. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Fri, 5 Jul 2013 06:11:35 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Ulises, te molesto de nuevo, pero el programa no me funciona. hize todos los cambios en todas las units donde se llamaba a las tablas y les puse dm.t...... termine, compile bien y al ejecutarlo, en la unit donde se supone que se creen las tablas, me da un error y tengo que cancelar. si tienes alguna idea del asunto, te la voy a agradecer, o dime si necesitas mas informaci�n para enviartela. saludos, y perdona tanta molestia, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 3:19 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que ausentarme. ---------------------------------------------------------------------------- From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 21:25:38 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com -------------------------------------------------------------------------- From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablar� el loco. (The Fool, Padraic Pearse) # yo quiero educaci�n libre. �YA! --------------------------------------------------------------------

Reply by email

alfred en arsistemes.com
to Ulises Díaz: Hola Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con…

Bueno, veo que usamos patrones similares. :)

Show quoted text 69 lines
Hola Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n. Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo: var QCargarComboboxs : tzquery; //declaro la query, Zeosbegin QCargarComboboxs : tzquery.create(nil); //Instancio QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule. QCargarComboboxs .SQL.add('select * from years');QCargarComboboxs.execsql;//Realizo la consulta //Cargo un combo por ejemploWhile not QCargarCombobox.Eof dobeginCombo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el elemento al comboQCargarComboboxs.next; //siguiente registroend; ... Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar. Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias. Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo. Espero que sea de utilidad, saludos desde Colombia Ulises D�azIngeniero de Sistemas, UNAD. > Date: Thu, 4 Jul 2013 22:51:30 +0200 > From: alfred en arsistemes.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: [Lazarus-es] forms i querys > > Saludos de nuevo, > > Estoy incorporando forms para editar registros con doble click en un > dbgrid lazarus + Zeoslib + postgres > > Por alg�n motivo que desconozco siempre acabo dudando entre usar el > Datamodule... incorporar el query y el Datasource en el mismo form o > incluso realizarlo todo por c�digo. > > No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va > saliendo. > > �Existe algun convenio sobre cu�l es el mejor m�todo ? > > Gracias > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

alfred en arsistemes.com
to Martin Gomez: Est� considerado una "buena practica" el separar el acceso a datos con un datamodule,…

Saludos de nuevo,

no, no vengo de Visual Basic... m�s bien de Clipper. Viejos tiempos aquellos... jejeje.

Show quoted text 120 lines
Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1. Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :) 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> > Hola > > Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data > Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de > cada formulario juntos, luego empec� a ver algo confuso tantas querys > que > decid� crear un datamodule con una �nica conexi�n desde la que se > conectan > las querys que se encuentran en cada formulario junto con su datasource, > agreg� la unidad del datamodule en los uses de cada form y asigno la > propiedad de conexion de las querys a la mencionada conexi�n. > > Muchas veces no utilizo componentes gr�ficos, especificamente en los > casos > que tengo que cargar informaci�n a listas, stringGrids, realizar inserts > o > udpates desde stringGrids, entre otros si no que lo hago por c�digo en > el > evento OnCreate de los forms, por ejemplo: > > var > QCargarComboboxs : tzquery; //declaro la query, Zeos > begin > QCargarComboboxs : tzquery.create(nil); //Instancio > QCargarComboboxs.conection := MiDataModule.conexion; //asigno la > conexi�n del datamodule. > > > QCargarComboboxs .SQL.add('select * from years'); > QCargarComboboxs.execsql; > //Realizo la consulta > > //Cargo un combo por ejemplo > While not QCargarCombobox.Eof do > begin > Combo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el > elemento al combo > QCargarComboboxs.next; //siguiente registro > end; > > . > . > . > Luego utilizo la misma query para cargar otros combos. > > Bueno se puede crear una funci�n que realice esta operaci�n pasandole > como > argumentos el nombre de la tabla, los campos, y los combobox a rellenar. > > Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de > las > circunstancias. > > > Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que > programo. > > > Espero que sea de utilidad, saludos desde Colombia > > > Ulises D�az > Ingeniero de Sistemas, UNAD. > > > > > > Date: Thu, 4 Jul 2013 22:51:30 +0200 > > From: alfred en arsistemes.com > > To: lazarus-es en lists.lazarus.freepascal.org > > Subject: [Lazarus-es] forms i querys > > > > > Saludos de nuevo, > > > > Estoy incorporando forms para editar registros con doble click en un > > dbgrid lazarus + Zeoslib + postgres > > > > Por alg�n motivo que desconozco siempre acabo dudando entre usar el > > Datamodule... incorporar el query y el Datasource en el mismo form o > > incluso realizarlo todo por c�digo. > > > > No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va > > saliendo. > > > > �Existe algun convenio sobre cu�l es el mejor m�todo ? > > > > Gracias > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- Try not to become a man of success but rather to become a man of value. *Albert Einstein* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

alfred en arsistemes.com
to Héctor F. Fiandor Rosario: Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo…

Alegro-me... a seguir profundizando...

Show quoted text 233 lines
Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- 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.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es ---------------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es ------------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

alfred en arsistemes.com
to Héctor F. Fiandor Rosario: Amigo Ulises: en proximos correos te estoy enviando un winrar multivolumen de 300,000…

Al leer, me interrogo:

�Por Dropbox o similar no ser�a m�s sencillo dej�rselo a mano ?

Show quoted text 345 lines
Amigo Ulises: en proximos correos te estoy enviando un winrar multivolumen de 300,000 bytes, para por si acaso el servidor los rechaza. este es una prueba de un programa que lee una tabla sqlite3 (te envio dll) y que esta hecho por el metodo antiguo, no con el DataModulo. compilalo, accionalo y te debe salir la tabla como le saldria a cualquier otro usuario. Despues voy a introducir el DataModulo y espero que no trabaje. Te lo envio y me lo destrozas. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Friday, July 05, 2013 2:29 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola H�ctor, no es ninguna molestia. hay alguna forma de que env�es el c�digo o las unidades para hacer pruebas ac�?, sinceramente no se que pueda estar pasando tal vez ejecut�ndolo nos demos cuenta o cualquier miembro de la comunidad ayude. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com ------------------------------------------------------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Fri, 5 Jul 2013 06:11:35 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Ulises, te molesto de nuevo, pero el programa no me funciona. hize todos los cambios en todas las units donde se llamaba a las tablas y les puse dm.t...... termine, compile bien y al ejecutarlo, en la unit donde se supone que se creen las tablas, me da un error y tengo que cancelar. si tienes alguna idea del asunto, te la voy a agradecer, o dime si necesitas mas informaci�n para enviartela. saludos, y perdona tanta molestia, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 3:19 PM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola si me di cuenta, solo faltaba eso, que bien, que pena no responder pero tuve que ausentarme. ---------------------------------------------------------------------------- From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 21:25:38 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimado Ulises y Rivera: efectivamente, hize lo que aparece mas abajo, y compilo completo. with dm.tCuentas do begin FileName := camino_actual + '\Tablas.db'; PrimaryKey := 'IdCuentas'; if not TableExists('Cuentas') then begin FieldDefs.Clear; ma�ana voy a profundizar en los cambios y correrlo de nuevo a ver que pasa. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Ulises D�az To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 12:21 PM Subject: Re: [Lazarus-es] acceder a una database en una unit H�ctor, cordial saludo: en la clausula uses del datamodule debes colocar la unidad zdataset si estas usando Zeos, o agregar las unidades que correspondan a los componentes que est�s usando. Ulises D�az Ingeniero de Sistemas ingulisesdiaz en hotmail.com -------------------------------------------------------------------------- From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Thu, 4 Jul 2013 20:09:11 -1200 Subject: Re: [Lazarus-es] acceder a una database en una unit Estimados colegas: en una copia de la carpeta que contiene los ficheros de un programa, incorpor� una unit DataModule, la salve como uDM y en las propiedades como nombre le puse DM. tengo otra unit donde se crean las tablas. En su Form aparecian los iconos de los DataSets y los DataSources. marque algunos de ellos, oprimi Ctrol_X y los peque en el form de la uDM. Volvi a la unit original y en uses escribi uDM. Salve y di Ctrol_F9. Comenzo a compilar hasta que dio error. En la rutina donde se crea la tabla del error, dice que no encuentra el identificador "tcuentas" que el nombre de la tabla "Cuentas". agracezco cualquier ayuda y que me digan que hize mal, para aprender. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Alfred Rivera To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 6:21 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Saludos, No lo he probado pero imagino que se a�ade un Datamodule al proyecto, puedes colocar los componentes Zconnection, Querys, DataSources en �l. Posteriormente s�lo tendr�as que incluir el nombre del Data module en el 'Uses' de la Unit. ( uses DataModule ) Para recurrir a los mismos simplemente .... with dades.Datamodule do begin Zconnection.DataBase:='Dbgeneral'; Zconnection.HostName:='192.168.1.10"; Zconnection.User:='Usuario'; Zconnection.Password:='password'; Zconnection.Connected:=True; end; El 05/07/2013 2:02, H�ctor F. Fiandor Rosario escribi�: muchas gracias al colega Bigegain. voy a experimentar. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu ----- Original Message ----- From: Rafael Bidegain To: Spanish version of Lazarus List Sent: Thursday, July 04, 2013 2:03 AM Subject: Re: [Lazarus-es] acceder a una database en una unit Hola Hector. El 4 de julio de 2013 17:46, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�: Estimado Mart�n G�mez y otros colegas: Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 a�os la uso sin saber. Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo. No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets) y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que dise�e (como hago con el uVariables y el uVarios). [..] Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize. para crear un DM ten�s que hacer lo siguiente: clic en menu Archivo, clic en nuevo ... clic en m�dulo clic en m�dulo de datos clic en aceptar. saludos -- 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.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es ------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -------------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es ---------------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es ------------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

alfred en arsistemes.com
to Ulises Díaz: Al fin pude bajar e instalar Lazarus, viendo el c�digo me doy cuenta que falta algo en…

Salu2 de nuevo...

esa man�a de provocar el insomnio programando tendr�amos que abolirla...

hay que salir a tomar el sol (o la sombra de un bonito arbol) de vez en cuando..

Show quoted text 23 lines
Sr H�ctor, Al fin pude bajar e instalar Lazarus, viendo el c�digo me doy cuenta que falta algo en el archivo del proyecto, la linea de codigo que nos cree el datamodule (Application.CreateForm(TfDM, fDM);) Por ejemplo en su archivo quedar�a as�: Application.Title:='Prueba2'; RequireDerivedFormResource := True; Application.Initialize; Application.CreateForm(TfDM, fDM); //Creamos el datamodule antes de cualquier formulario Application.CreateForm(Tffondo, ffondo); Application.Run; Hice eso y me crea las tablas aunque no pude ingresar informaci�n, me aparecen los controles bloqueados, tal vez por el sue�o no pueda darme cuenta de que se trata jeje. Creo que eso es todo. Espero le sea �til la informaci�n, con mucho gusto, Ulises D�az _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Maikel Enrique Pernia Matos
to Martin Gomez: No estoy muy seguro al respecto (tendr�a que recurrir a la documentaci�n) pero hasta…

Colegas:

Aunque he llegado tarde al debate deseo expresar mi punto de vista:

0- Como bien se ha comentado es una buena pr�ctica de programaci�n llevar los objetos de acceso a los datos en un TDataModule. Ejemplo: TZConnection, TZQuery, TZTable, TZStoredProc, TDatasource.

1- Usted puede a�adir tantos TDataModule como estime y/o necesite;
   esto era posible incluso en Borland Delphi7.

2- En el caso de Lazarus el MVC podr�a verse de la siguiente forma: a) Modelo: podr�an ser SQLDB, ZEOSDB o similares. b) Vista: podr�an ser los DataControls, LazReport o similares. c) Controlador: aqu� la cosa se complica algo pues el controlador responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' por lo que se puede pensar en los siguientes: TDatasource, TSqliteDataset, TSqlite3Dataset, etc. Quiz�s en la Wiki aparezca algo relacionado con este tema.

3- Debe incluir en las �uses� de cada TForm el nombre del TDataModule que almacena los Objetos de Acceso a Datos.

4- Es aconsejable que el/los TDataModules se creen de forma autom�tica, as� evitamos que un DataControl intente acceder a datos cuando a�n no est� activa la conexi�n a la Base de Datos, incluso en ocasiones debe iniciarse primero que el Form principal; esto depende de como el programador desarrolla su app.

5- En ocasiones para el manejo de Bases de Datos en Lazarus debemos a�adir manualmente en �uses� la unidad �db�.Ejemplo cuando deseamos utilizar el procedimiento �Locate� desde un TForm y los Objetos de Acceso a Datos est�n en un TDataModule.

6- Algo muy importante que se recomienda como buena pr�ctica de programaci�n y que nos ayuda a seleccionar el objeto adecuado entre los tantos que podamos tener en un TDataModule es �los nombres de las

   clases/objetos, variables, constantes, funciones y procedimientos;
   deben tener nombres que de manera intuitiva nos digan para que son o
   que hacen�.

7- Recuerden que el exceso de modulos (TForm, TDataModule), hace nuestra aplicaci�n m�s grande y lenta, una alternativa es crear los TForm din�micos o en tiempo de ejecuci�n.

Este �rbol o grafo ilustra como podr�an verse los objetos en un TDataModule:
TZConnection
/\
/ \
/ \
/ \
TZQuery TZTable
/ \
/ \
TDatasource TDatasource

Saludos
Maikel

El jue, 04-07-2013 a las 20:24 -0300, Martin Gomez escribi�:

Show quoted text 198 lines
No estoy muy seguro al respecto (tendr�a que recurrir a la documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por proyecto... En L�zarus creo que no existe esa limitaci�n. 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> Hola Si, Aprend� en Visual Basic, pero cuando se trata de aplicaciones Web utilizo MVC, separando los datos de la l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo por lo confuso que es tener un datamodule con todas las querys, a menos que por cada secci�n o formulario del programa se cree un datamodule, cosa que utilice una vez pero por cada datamodule necesitaba una conexi�n, lo que no me gust�. Voy a volver a intetarlo pero quetal si creamos un datamodule ("prinicpal") que tenga la conexion y para cada form creamos otro data module cuyas querys se asignen a la conexion de datamodule "principal", que opinan? o les parece poco funcional. Lo que busco es mejor organizaci�n. Gracias por la recomendaci�n. ______________________________________________________________ Date: Thu, 4 Jul 2013 18:49:31 -0300 From: mmgomez en gmail.com To: lazarus-es en lists.lazarus.freepascal.org Subject: Re: [Lazarus-es] forms i querys Est� considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendaci�n de Borland desde el Delphi 1. Si ven�as del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :) 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> Hola Me pasaba igual, a veces pienso igual, por un tiempo utilic� un Data Module con una conexi�n, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empec� a ver algo confuso tantas querys que decid� crear un datamodule con una �nica conexi�n desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agreg� la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexi�n. Muchas veces no utilizo componentes gr�ficos, especificamente en los casos que tengo que cargar informaci�n a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por c�digo en el evento OnCreate de los forms, por ejemplo: var QCargarComboboxs : tzquery; //declaro la query, Zeos begin QCargarComboboxs : tzquery.create(nil); //Instancio QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexi�n del datamodule. QCargarComboboxs .SQL.add('select * from years'); QCargarComboboxs.execsql; //Realizo la consulta //Cargo un combo por ejemplo While not QCargarCombobox.Eof do begin Combo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el elemento al combo QCargarComboboxs.next; //siguiente registro end; . . . Luego utilizo la misma query para cargar otros combos. Bueno se puede crear una funci�n que realice esta operaci�n pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar. Para lo dem�s me gusta utilizar componentes gr�ficos, todo depende de las circunstancias. Esperar� otras respuestas tal vez me sirvan para mejorar la forma en que programo. Espero que sea de utilidad, saludos desde Colombia Ulises D�az Ingeniero de Sistemas, UNAD. > Date: Thu, 4 Jul 2013 22:51:30 +0200 > From: alfred en arsistemes.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: [Lazarus-es] forms i querys > > Saludos de nuevo, > > Estoy incorporando forms para editar registros con doble click en un > dbgrid lazarus + Zeoslib + postgres > > Por alg�n motivo que desconozco siempre acabo dudando entre usar el > Datamodule... incorporar el query y el Datasource en el mismo form o > incluso realizarlo todo por c�digo. > > No acabo de decidirme por uno u otro m�todo y voy alternando seg�n va > saliendo. > > �Existe algun convenio sobre cu�l es el mejor m�todo ? > > Gracias > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Try not to become a man of success but rather to become a man of value. Albert Einstein _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Try not to become a man of success but rather to become a man of value. Albert Einstein _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Ulises Díaz
to Maikel Enrique Pernia Matos

Maikel, gracias por lo expuesto, lo tendr� en cuenta.

Show quoted text 280 lines
From: corba en grannet.grm.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Mon, 8 Jul 2013 10:07:24 -0400 Subject: Re: [Lazarus-es] forms i querys Colegas: Aunque he llegado tarde al debate deseo expresar mi punto de vista: 0- Como bien se ha comentado es una buena pr�ctica de programaci�n llevar los objetos de acceso a los datos en un TDataModule. Ejemplo: TZConnection, TZQuery, TZTable, TZStoredProc, TDatasource. 1- Usted puede a�adir tantos TDataModule como estime y/o necesite; esto era posible incluso en Borland Delphi7. 2- En el caso de Lazarus el MVC podr�a verse de la siguiente forma: a) Modelo: podr�an ser SQLDB, ZEOSDB o similares. b) Vista: podr�an ser los DataControls, LazReport o similares. c) Controlador: aqu� la cosa se complica algo pues el controlador responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' por lo que se puede pensar en los siguientes: TDatasource, TSqliteDataset, TSqlite3Dataset, etc. Quiz�s en la Wiki aparezca algo relacionado con este tema. 3- Debe incluir en las �uses� de cada TForm el nombre del TDataModule que almacena los Objetos de Acceso a Datos. 4- Es aconsejable que el/los TDataModules se creen de forma autom�tica, as� evitamos que un DataControl intente acceder a datos cuando a�n no est� activa la conexi�n a la Base de Datos, incluso en ocasiones debe iniciarse primero que el Form principal; esto depende de como el programador desarrolla su app. 5- En ocasiones para el manejo de Bases de Datos en Lazarus debemos a�adir manualmente en �uses� la unidad �db�.Ejemplo cuando deseamos utilizar el procedimiento �Locate� desde un TForm y los Objetos de Acceso a Datos est�n en un TDataModule. 6- Algo muy importante que se recomienda como buena pr�ctica de programaci�n y que nos ayuda a seleccionar el objeto adecuado entre los tantos que podamos tener en un TDataModule es �los nombres de las clases/objetos, variables, constantes, funciones y procedimientos; deben tener nombres que de manera intuitiva nos digan para que son o que hacen�. 7- Recuerden que el exceso de modulos (TForm, TDataModule), hace nuestra aplicaci�n m�s grande y lenta, una alternativa es crear los TForm din�micos o en tiempo de ejecuci�n. Este �rbol o grafo ilustra como podr�an verse los objetos en un TDataModule: TZConnection /\ / \ / \ / \ TZQuery TZTable / \ / \ TDatasource TDatasource Saludos Maikel El jue, 04-07-2013 a las 20:24 -0300, Martin Gomez escribi�: > No estoy muy seguro al respecto (tendr�a que recurrir a la > documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por > proyecto... En L�zarus creo que no existe esa limitaci�n. > > > 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> > Hola > > > Si, Aprend� en Visual Basic, pero cuando se trata de > aplicaciones Web utilizo MVC, separando los datos de la > l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo > por lo confuso que es tener un datamodule con todas las > querys, a menos que por cada secci�n o formulario del programa > se cree un datamodule, cosa que utilice una vez pero por cada > datamodule necesitaba una conexi�n, lo que no me gust�. > > > Voy a volver a intetarlo pero quetal si creamos un datamodule > ("prinicpal") que tenga la conexion y para cada form creamos > otro data module cuyas querys se asignen a la conexion de > datamodule "principal", que opinan? o les parece poco > funcional. Lo que busco es mejor organizaci�n. > > > Gracias por la recomendaci�n. > > > > > > ______________________________________________________________ > Date: Thu, 4 Jul 2013 18:49:31 -0300 > From: mmgomez en gmail.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: Re: [Lazarus-es] forms i querys > > > Est� considerado una "buena practica" el separar el acceso a > datos con un datamodule, al menos esa es la recomendaci�n de > Borland desde el Delphi 1. > > > Si ven�as del Visual Basic es una costumbre dificil de > adoptar, pero una vez que te acostumbras empiezan los > beneficios :) > > > 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> > Hola > > > Me pasaba igual, a veces pienso igual, por un tiempo > utilic� un Data Module con una conexi�n, las querys > (tzquery de Zeos) y el datasource de cada formulario > juntos, luego empec� a ver algo confuso tantas querys > que decid� crear un datamodule con una �nica conexi�n > desde la que se conectan las querys que se encuentran > en cada formulario junto con su datasource, agreg� la > unidad del datamodule en los uses de cada form y > asigno la propiedad de conexion de las querys a la > mencionada conexi�n. > > > Muchas veces no utilizo componentes gr�ficos, > especificamente en los casos que tengo que cargar > informaci�n a listas, stringGrids, realizar inserts o > udpates desde stringGrids, entre otros si no que lo > hago por c�digo en el evento OnCreate de los forms, > por ejemplo: > > > var > QCargarComboboxs : tzquery; //declaro la query, Zeos > begin > QCargarComboboxs : tzquery.create(nil); //Instancio > QCargarComboboxs.conection := > MiDataModule.conexion; //asigno la conexi�n del > datamodule. > > > > > QCargarComboboxs .SQL.add('select * from years'); > QCargarComboboxs.execsql; > //Realizo la consulta > > > //Cargo un combo por ejemplo > While not QCargarCombobox.Eof do > begin > Combo1.add(QCargarComboboxs.fielbyname('year').asstring); //Adiciono el elemento al combo > QCargarComboboxs.next; //siguiente registro > end; > > . > . > . > Luego utilizo la misma query para cargar otros > combos. > > > Bueno se puede crear una funci�n que realice esta > operaci�n pasandole como argumentos el nombre de la > tabla, los campos, y los combobox a rellenar. > > > Para lo dem�s me gusta utilizar componentes gr�ficos, > todo depende de las circunstancias. > > > > > Esperar� otras respuestas tal vez me sirvan para > mejorar la forma en que programo. > > > > > Espero que sea de utilidad, saludos desde Colombia > > > > > Ulises D�az > Ingeniero de Sistemas, UNAD. > > > > > > > Date: Thu, 4 Jul 2013 22:51:30 +0200 > > From: alfred en arsistemes.com > > To: lazarus-es en lists.lazarus.freepascal.org > > Subject: [Lazarus-es] forms i querys > > > > > Saludos de nuevo, > > > > Estoy incorporando forms para editar registros con > doble click en un > > dbgrid lazarus + Zeoslib + postgres > > > > Por alg�n motivo que desconozco siempre acabo > dudando entre usar el > > Datamodule... incorporar el query y el Datasource en > el mismo form o > > incluso realizarlo todo por c�digo. > > > > No acabo de decidirme por uno u otro m�todo y voy > alternando seg�n va > > saliendo. > > > > �Existe algun convenio sobre cu�l es el mejor > m�todo ? > > > > Gracias > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > -- > Try not to become a man of success but rather to become a man > of value. Albert Einstein > > _______________________________________________ Lazarus-es > mailing list Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > -- > Try not to become a man of success but rather to become a man of > value. Albert Einstein > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130708/8c0cade3/attachment-0001.html>

Reply by email

alfred en arsistemes.com
to Maikel Enrique Pernia Matos: Colegas: Aunque he llegado tarde al debate deseo expresar mi punto de vista: 0- Como bien…

Gracias por la respuesta.

Tomo buena nota de todo y creo que es una excelente exposici�n. Especialmente interesante el punto 2-C.

El punto 6 tiene ventajas e inconvenientes. Por un lado la claridad, pero alguna vez en la que utilizo creaci�n-modificaci�n de controles en el form creo que es especialmente �til poder hacer un bucle para cambiar determinadas propiedades de todos y para eso es super pr�ctico tener Label1, Label2, Label3, Label4... en lugar de Nombre, apellido, direccion, otra cosa, etc... (eso s�, si hay muchos controles se acaba perdiendo el tiempo en averiguar que es qu� y sale m�s a cuenta identificarlos claramente).

Pero me parece que no voy a ser capaz de quitarme la man�a de escribir c�digo de vez en cuando (de forma impulsiva y aparentemente aleatoria O_o) para evitar utilizar en alg�n momento decisivo el DataModule.

Show quoted text 280 lines
Colegas: Aunque he llegado tarde al debate deseo expresar mi punto de vista: 0- Como bien se ha comentado es una buena pr�ctica de programaci�n llevar los objetos de acceso a los datos en un TDataModule. Ejemplo: TZConnection, TZQuery, TZTable, TZStoredProc, TDatasource. 1- Usted puede a�adir tantos TDataModule como estime y/o necesite; esto era posible incluso en Borland Delphi7. 2- En el caso de Lazarus el MVC podr�a verse de la siguiente forma: a) Modelo: podr�an ser SQLDB, ZEOSDB o similares. b) Vista: podr�an ser los DataControls, LazReport o similares. c) Controlador: aqu� la cosa se complica algo pues el controlador responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' por lo que se puede pensar en los siguientes: TDatasource, TSqliteDataset, TSqlite3Dataset, etc. Quiz�s en la Wiki aparezca algo relacionado con este tema. 3- Debe incluir en las �uses� de cada TForm el nombre del TDataModule que almacena los Objetos de Acceso a Datos. 4- Es aconsejable que el/los TDataModules se creen de forma autom�tica, as� evitamos que un DataControl intente acceder a datos cuando a�n no est� activa la conexi�n a la Base de Datos, incluso en ocasiones debe iniciarse primero que el Form principal; esto depende de como el programador desarrolla su app. 5- En ocasiones para el manejo de Bases de Datos en Lazarus debemos a�adir manualmente en �uses� la unidad �db�.Ejemplo cuando deseamos utilizar el procedimiento �Locate� desde un TForm y los Objetos de Acceso a Datos est�n en un TDataModule. 6- Algo muy importante que se recomienda como buena pr�ctica de programaci�n y que nos ayuda a seleccionar el objeto adecuado entre los tantos que podamos tener en un TDataModule es �los nombres de las clases/objetos, variables, constantes, funciones y procedimientos; deben tener nombres que de manera intuitiva nos digan para que son o que hacen�. 7- Recuerden que el exceso de modulos (TForm, TDataModule), hace nuestra aplicaci�n m�s grande y lenta, una alternativa es crear los TForm din�micos o en tiempo de ejecuci�n. Este �rbol o grafo ilustra como podr�an verse los objetos en un TDataModule: TZConnection /\ / \ / \ / \ TZQuery TZTable / \ / \ TDatasource TDatasource Saludos Maikel El jue, 04-07-2013 a las 20:24 -0300, Martin Gomez escribi�: > No estoy muy seguro al respecto (tendr�a que recurrir a la > documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por > proyecto... En L�zarus creo que no existe esa limitaci�n. > > > 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> > Hola > > > Si, Aprend� en Visual Basic, pero cuando se trata de > aplicaciones Web utilizo MVC, separando los datos de la > l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo > por lo confuso que es tener un datamodule con todas las > querys, a menos que por cada secci�n o formulario del programa > se cree un datamodule, cosa que utilice una vez pero por cada > datamodule necesitaba una conexi�n, lo que no me gust�. > > > Voy a volver a intetarlo pero quetal si creamos un datamodule > ("prinicpal") que tenga la conexion y para cada form creamos > otro data module cuyas querys se asignen a la conexion de > datamodule "principal", que opinan? o les parece poco > funcional. Lo que busco es mejor organizaci�n. > > > Gracias por la recomendaci�n. > > > > > > ______________________________________________________________ > Date: Thu, 4 Jul 2013 18:49:31 -0300 > From: mmgomez en gmail.com > To: lazarus-es en lists.lazarus.freepascal.org > Subject: Re: [Lazarus-es] forms i querys > > > Est� considerado una "buena practica" el separar el acceso a > datos con un datamodule, al menos esa es la recomendaci�n de > Borland desde el Delphi 1. > > > Si ven�as del Visual Basic es una costumbre dificil de > adoptar, pero una vez que te acostumbras empiezan los > beneficios :) > > > 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> > Hola > > > Me pasaba igual, a veces pienso igual, por un tiempo > utilic� un Data Module con una conexi�n, las querys > (tzquery de Zeos) y el datasource de cada formulario > juntos, luego empec� a ver algo confuso tantas querys > que decid� crear un datamodule con una �nica conexi�n > desde la que se conectan las querys que se encuentran > en cada formulario junto con su datasource, agreg� la > unidad del datamodule en los uses de cada form y > asigno la propiedad de conexion de las querys a la > mencionada conexi�n. > > > Muchas veces no utilizo componentes gr�ficos, > especificamente en los casos que tengo que cargar > informaci�n a listas, stringGrids, realizar inserts o > udpates desde stringGrids, entre otros si no que lo > hago por c�digo en el evento OnCreate de los forms, > por ejemplo: > > > var > QCargarComboboxs : tzquery; //declaro la query, Zeos > begin > QCargarComboboxs : tzquery.create(nil); //Instancio > QCargarComboboxs.conection := > MiDataModule.conexion; //asigno la conexi�n del > datamodule. > > > > > QCargarComboboxs .SQL.add('select * from years'); > QCargarComboboxs.execsql; > //Realizo la consulta > > > //Cargo un combo por ejemplo > While not QCargarCombobox.Eof do > begin > Combo1.add(QCargarComboboxs.fielbyname('year').asstring); > //Adiciono el elemento al combo > QCargarComboboxs.next; //siguiente registro > end; > > . > . > . > Luego utilizo la misma query para cargar otros > combos. > > > Bueno se puede crear una funci�n que realice esta > operaci�n pasandole como argumentos el nombre de la > tabla, los campos, y los combobox a rellenar. > > > Para lo dem�s me gusta utilizar componentes gr�ficos, > todo depende de las circunstancias. > > > > > Esperar� otras respuestas tal vez me sirvan para > mejorar la forma en que programo. > > > > > Espero que sea de utilidad, saludos desde Colombia > > > > > Ulises D�az > Ingeniero de Sistemas, UNAD. > > > > > > > Date: Thu, 4 Jul 2013 22:51:30 +0200 > > From: alfred en arsistemes.com > > To: lazarus-es en lists.lazarus.freepascal.org > > Subject: [Lazarus-es] forms i querys > > > > > Saludos de nuevo, > > > > Estoy incorporando forms para editar registros con > doble click en un > > dbgrid lazarus + Zeoslib + postgres > > > > Por alg�n motivo que desconozco siempre acabo > dudando entre usar el > > Datamodule... incorporar el query y el Datasource en > el mismo form o > > incluso realizarlo todo por c�digo. > > > > No acabo de decidirme por uno u otro m�todo y voy > alternando seg�n va > > saliendo. > > > > �Existe algun convenio sobre cu�l es el mejor > m�todo ? > > > > Gracias > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > -- > Try not to become a man of success but rather to become a man > of value. Albert Einstein > > _______________________________________________ Lazarus-es > mailing list Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > -- > Try not to become a man of success but rather to become a man of > value. Albert Einstein > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Jose Antonio. Cuello Principal
to alfred en arsistemes.com

Hola, por aportar otro punto de vista

Una unit ( denominada por ejemplo Global ) con
- Uses a los datamodules, Zeos, db, etc
- Declaraci�n de una clase del modo TMyDataSet = class(TZQuery)
- Initialization (Crea el / los datamodulos que necesites) as� como clases adicionales comunes a toda la aplicaci�n
- finalization (Destruye o libera el / los datamodulos) as� como clases adicionales creadas en initialization
- Funciones generales a la aplicaci�n entre las que se encuentran funciones como GetQry, DeleteRecords, etc ... que te devuelven una query tipo TMyDataSet o realiza operaciones de SQL

De esta manera en cualquier parte o unit del programa s�lo debemos hacer use de Global. Si queremos una query pues llamamos Global.GetQry ya configurada y conectada con nuestra conexi�n en el datam�dulo, si sabemos el sql a ejecutar pues usamos una de las funciones de Global que directamente ejecutan la SQL y devuelven el resultado. Cuando quiero cambiar el tipo de conexi�n simplemente cambio el datamodulo a crear, si deseo cambiar de Zeos a otro componente pues cambias la unit Global y el resto de aplicaci�n queda sin tocar.

Espero haber aportado otra manera que pueda ser �til ...

Un saludo.

Earlier message 311 lines
----- Mensaje original ----- De: alfred en arsistemes.com Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> CC: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Enviados: Martes, 9 de Julio 2013 22:10:09 Asunto: Re: [Lazarus-es] forms i querys Gracias por la respuesta. Tomo buena nota de todo y creo que es una excelente exposici�n. Especialmente interesante el punto 2-C. El punto 6 tiene ventajas e inconvenientes. Por un lado la claridad, pero alguna vez en la que utilizo creaci�n-modificaci�n de controles en el form creo que es especialmente �til poder hacer un bucle para cambiar determinadas propiedades de todos y para eso es super pr�ctico tener Label1, Label2, Label3, Label4... en lugar de Nombre, apellido, direccion, otra cosa, etc... (eso s�, si hay muchos controles se acaba perdiendo el tiempo en averiguar que es qu� y sale m�s a cuenta identificarlos claramente). Pero me parece que no voy a ser capaz de quitarme la man�a de escribir c�digo de vez en cuando (de forma impulsiva y aparentemente aleatoria O_o) para evitar utilizar en alg�n momento decisivo el DataModule. > Colegas: > > Aunque he llegado tarde al debate deseo expresar mi punto de vista: > > 0- Como bien se ha comentado es una buena pr�ctica de programaci�n > llevar los objetos de acceso a los datos en un TDataModule. > Ejemplo: TZConnection, TZQuery, TZTable, TZStoredProc, TDatasource. > > 1- Usted puede a�adir tantos TDataModule como estime y/o necesite; > esto era posible incluso en Borland Delphi7. > > 2- En el caso de Lazarus el MVC podr�a verse de la siguiente forma: > a) Modelo: podr�an ser SQLDB, ZEOSDB o similares. > b) Vista: podr�an ser los DataControls, LazReport o similares. > c) Controlador: aqu� la cosa se complica algo pues el controlador > responde a eventos (usualmente acciones del usuario) e invoca > peticiones al 'modelo' por lo que se puede pensar en los > siguientes: TDatasource, TSqliteDataset, TSqlite3Dataset, etc. > Quiz�s en la Wiki aparezca algo relacionado con este tema. > > 3- Debe incluir en las �uses� de cada TForm el nombre del TDataModule > que almacena los Objetos de Acceso a Datos. > > 4- Es aconsejable que el/los TDataModules se creen de forma autom�tica, > as� evitamos que un DataControl intente acceder a datos cuando a�n > no est� activa la conexi�n a la Base de Datos, incluso en ocasiones > debe iniciarse primero que el Form principal; esto depende de como > el programador desarrolla su app. > > 5- En ocasiones para el manejo de Bases de Datos en Lazarus debemos > a�adir manualmente en �uses� la unidad �db�.Ejemplo cuando deseamos > utilizar el procedimiento �Locate� desde un TForm y los Objetos de > Acceso a Datos est�n en un TDataModule. > > 6- Algo muy importante que se recomienda como buena pr�ctica de > programaci�n y que nos ayuda a seleccionar el objeto adecuado entre > los tantos que podamos tener en un TDataModule es �los nombres de las > clases/objetos, variables, constantes, funciones y procedimientos; > deben tener nombres que de manera intuitiva nos digan para que son o > que hacen�. > > 7- Recuerden que el exceso de modulos (TForm, TDataModule), hace nuestra > aplicaci�n m�s grande y lenta, una alternativa es crear los TForm > din�micos o en tiempo de ejecuci�n. > > Este �rbol o grafo ilustra como podr�an verse los objetos en un > TDataModule: > TZConnection > /\ > / \ > / \ > / \ > TZQuery TZTable > / \ > / \ > TDatasource TDatasource > > > Saludos > Maikel > > > El jue, 04-07-2013 a las 20:24 -0300, Martin Gomez escribi�: >> No estoy muy seguro al respecto (tendr�a que recurrir a la >> documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por >> proyecto... En L�zarus creo que no existe esa limitaci�n. >> >> >> 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> >> Hola >> >> >> Si, Aprend� en Visual Basic, pero cuando se trata de >> aplicaciones Web utilizo MVC, separando los datos de la >> l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo >> por lo confuso que es tener un datamodule con todas las >> querys, a menos que por cada secci�n o formulario del programa >> se cree un datamodule, cosa que utilice una vez pero por cada >> datamodule necesitaba una conexi�n, lo que no me gust�. >> >> >> Voy a volver a intetarlo pero quetal si creamos un datamodule >> ("prinicpal") que tenga la conexion y para cada form creamos >> otro data module cuyas querys se asignen a la conexion de >> datamodule "principal", que opinan? o les parece poco >> funcional. Lo que busco es mejor organizaci�n. >> >> >> Gracias por la recomendaci�n. >> >> >> >> >> >> ______________________________________________________________ >> Date: Thu, 4 Jul 2013 18:49:31 -0300 >> From: mmgomez en gmail.com >> To: lazarus-es en lists.lazarus.freepascal.org >> Subject: Re: [Lazarus-es] forms i querys >> >> >> Est� considerado una "buena practica" el separar el acceso a >> datos con un datamodule, al menos esa es la recomendaci�n de >> Borland desde el Delphi 1. >> >> >> Si ven�as del Visual Basic es una costumbre dificil de >> adoptar, pero una vez que te acostumbras empiezan los >> beneficios :) >> >> >> 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> >> Hola >> >> >> Me pasaba igual, a veces pienso igual, por un tiempo >> utilic� un Data Module con una conexi�n, las querys >> (tzquery de Zeos) y el datasource de cada formulario >> juntos, luego empec� a ver algo confuso tantas querys >> que decid� crear un datamodule con una �nica conexi�n >> desde la que se conectan las querys que se encuentran >> en cada formulario junto con su datasource, agreg� la >> unidad del datamodule en los uses de cada form y >> asigno la propiedad de conexion de las querys a la >> mencionada conexi�n. >> >> >> Muchas veces no utilizo componentes gr�ficos, >> especificamente en los casos que tengo que cargar >> informaci�n a listas, stringGrids, realizar inserts o >> udpates desde stringGrids, entre otros si no que lo >> hago por c�digo en el evento OnCreate de los forms, >> por ejemplo: >> >> >> var >> QCargarComboboxs : tzquery; //declaro la query, Zeos >> begin >> QCargarComboboxs : tzquery.create(nil); //Instancio >> QCargarComboboxs.conection := >> MiDataModule.conexion; //asigno la conexi�n del >> datamodule. >> >> >> >> >> QCargarComboboxs .SQL.add('select * from years'); >> QCargarComboboxs.execsql; >> //Realizo la consulta >> >> >> //Cargo un combo por ejemplo >> While not QCargarCombobox.Eof do >> begin >> Combo1.add(QCargarComboboxs.fielbyname('year').asstring); >> //Adiciono el elemento al combo >> QCargarComboboxs.next; //siguiente registro >> end; >> >> . >> . >> . >> Luego utilizo la misma query para cargar otros >> combos. >> >> >> Bueno se puede crear una funci�n que realice esta >> operaci�n pasandole como argumentos el nombre de la >> tabla, los campos, y los combobox a rellenar. >> >> >> Para lo dem�s me gusta utilizar componentes gr�ficos, >> todo depende de las circunstancias. >> >> >> >> >> Esperar� otras respuestas tal vez me sirvan para >> mejorar la forma en que programo. >> >> >> >> >> Espero que sea de utilidad, saludos desde Colombia >> >> >> >> >> Ulises D�az >> Ingeniero de Sistemas, UNAD. >> >> >> >> >> >> > Date: Thu, 4 Jul 2013 22:51:30 +0200 >> > From: alfred en arsistemes.com >> > To: lazarus-es en lists.lazarus.freepascal.org >> > Subject: [Lazarus-es] forms i querys >> >> > >> > Saludos de nuevo, >> > >> > Estoy incorporando forms para editar registros con >> doble click en un >> > dbgrid lazarus + Zeoslib + postgres >> > >> > Por alg�n motivo que desconozco siempre acabo >> dudando entre usar el >> > Datamodule... incorporar el query y el Datasource en >> el mismo form o >> > incluso realizarlo todo por c�digo. >> > >> > No acabo de decidirme por uno u otro m�todo y voy >> alternando seg�n va >> > saliendo. >> > >> > �Existe algun convenio sobre cu�l es el mejor >> m�todo ? >> > >> > Gracias >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> >> >> -- >> Try not to become a man of success but rather to become a man >> of value. Albert Einstein >> >> _______________________________________________ Lazarus-es >> mailing list Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> >> >> -- >> Try not to become a man of success but rather to become a man of >> value. Albert Einstein >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >

Reply by email

alfred en arsistemes.com
to Jose Antonio. Cuello Principal

Saludos,

S�, viene a ser lo que hago a veces en el mismo form (procedure o funci�n) y a veces en una unit (procedures o funciones) usada por el form pero lo que planteas es bastante m�s organizado y met�dico (me gusta).

Posiblemente incluyendo todo en una o varias Unit seg�n el tama�o de la aplicaci�n me parece interesantemente organizado. A la vez, la Unit se utiliza como si de un objeto m�s se tratara. Alguna vez me hab�a pasado por la cabeza pero por mandrilla al cambio no lo intent�.

Veo que parece muy Buena idea. Ventajas de los objetos. Probar�.

Gracias.

Show quoted text 357 lines
Hola, por aportar otro punto de vista Una unit ( denominada por ejemplo Global ) con - Uses a los datamodules, Zeos, db, etc - Declaraci�n de una clase del modo TMyDataSet = class(TZQuery) - Initialization (Crea el / los datamodulos que necesites) as� como clases adicionales comunes a toda la aplicaci�n - finalization (Destruye o libera el / los datamodulos) as� como clases adicionales creadas en initialization - Funciones generales a la aplicaci�n entre las que se encuentran funciones como GetQry, DeleteRecords, etc ... que te devuelven una query tipo TMyDataSet o realiza operaciones de SQL De esta manera en cualquier parte o unit del programa s�lo debemos hacer use de Global. Si queremos una query pues llamamos Global.GetQry ya configurada y conectada con nuestra conexi�n en el datam�dulo, si sabemos el sql a ejecutar pues usamos una de las funciones de Global que directamente ejecutan la SQL y devuelven el resultado. Cuando quiero cambiar el tipo de conexi�n simplemente cambio el datamodulo a crear, si deseo cambiar de Zeos a otro componente pues cambias la unit Global y el resto de aplicaci�n queda sin tocar. Espero haber aportado otra manera que pueda ser �til ... Un saludo. ----- Mensaje original ----- De: alfred en arsistemes.com Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> CC: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Enviados: Martes, 9 de Julio 2013 22:10:09 Asunto: Re: [Lazarus-es] forms i querys Gracias por la respuesta. Tomo buena nota de todo y creo que es una excelente exposici�n. Especialmente interesante el punto 2-C. El punto 6 tiene ventajas e inconvenientes. Por un lado la claridad, pero alguna vez en la que utilizo creaci�n-modificaci�n de controles en el form creo que es especialmente �til poder hacer un bucle para cambiar determinadas propiedades de todos y para eso es super pr�ctico tener Label1, Label2, Label3, Label4... en lugar de Nombre, apellido, direccion, otra cosa, etc... (eso s�, si hay muchos controles se acaba perdiendo el tiempo en averiguar que es qu� y sale m�s a cuenta identificarlos claramente). Pero me parece que no voy a ser capaz de quitarme la man�a de escribir c�digo de vez en cuando (de forma impulsiva y aparentemente aleatoria O_o) para evitar utilizar en alg�n momento decisivo el DataModule. > Colegas: > > Aunque he llegado tarde al debate deseo expresar mi punto de vista: > > 0- Como bien se ha comentado es una buena pr�ctica de programaci�n > llevar los objetos de acceso a los datos en un TDataModule. > Ejemplo: TZConnection, TZQuery, TZTable, TZStoredProc, TDatasource. > > 1- Usted puede a�adir tantos TDataModule como estime y/o necesite; > esto era posible incluso en Borland Delphi7. > > 2- En el caso de Lazarus el MVC podr�a verse de la siguiente forma: > a) Modelo: podr�an ser SQLDB, ZEOSDB o similares. > b) Vista: podr�an ser los DataControls, LazReport o similares. > c) Controlador: aqu� la cosa se complica algo pues el controlador > responde a eventos (usualmente acciones del usuario) e invoca > peticiones al 'modelo' por lo que se puede pensar en los > siguientes: TDatasource, TSqliteDataset, TSqlite3Dataset, etc. > Quiz�s en la Wiki aparezca algo relacionado con este tema. > > 3- Debe incluir en las �uses� de cada TForm el nombre del TDataModule > que almacena los Objetos de Acceso a Datos. > > 4- Es aconsejable que el/los TDataModules se creen de forma autom�tica, > as� evitamos que un DataControl intente acceder a datos cuando a�n > no est� activa la conexi�n a la Base de Datos, incluso en ocasiones > debe iniciarse primero que el Form principal; esto depende de como > el programador desarrolla su app. > > 5- En ocasiones para el manejo de Bases de Datos en Lazarus debemos > a�adir manualmente en �uses� la unidad �db�.Ejemplo cuando deseamos > utilizar el procedimiento �Locate� desde un TForm y los Objetos de > Acceso a Datos est�n en un TDataModule. > > 6- Algo muy importante que se recomienda como buena pr�ctica de > programaci�n y que nos ayuda a seleccionar el objeto adecuado entre > los tantos que podamos tener en un TDataModule es �los nombres de las > clases/objetos, variables, constantes, funciones y procedimientos; > deben tener nombres que de manera intuitiva nos digan para que son o > que hacen�. > > 7- Recuerden que el exceso de modulos (TForm, TDataModule), hace nuestra > aplicaci�n m�s grande y lenta, una alternativa es crear los TForm > din�micos o en tiempo de ejecuci�n. > > Este �rbol o grafo ilustra como podr�an verse los objetos en un > TDataModule: > TZConnection > /\ > / \ > / \ > / \ > TZQuery TZTable > / \ > / \ > TDatasource TDatasource > > > Saludos > Maikel > > > El jue, 04-07-2013 a las 20:24 -0300, Martin Gomez escribi�: >> No estoy muy seguro al respecto (tendr�a que recurrir a la >> documentaci�n) pero hasta Delphi 7 s�lo pod�a haber 1 datamodule por >> proyecto... En L�zarus creo que no existe esa limitaci�n. >> >> >> 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> >> Hola >> >> >> Si, Aprend� en Visual Basic, pero cuando se trata de >> aplicaciones Web utilizo MVC, separando los datos de la >> l�gica de negocio, se me hace dif�cil hacerlo ac�, sobre todo >> por lo confuso que es tener un datamodule con todas las >> querys, a menos que por cada secci�n o formulario del programa >> se cree un datamodule, cosa que utilice una vez pero por cada >> datamodule necesitaba una conexi�n, lo que no me gust�. >> >> >> Voy a volver a intetarlo pero quetal si creamos un datamodule >> ("prinicpal") que tenga la conexion y para cada form creamos >> otro data module cuyas querys se asignen a la conexion de >> datamodule "principal", que opinan? o les parece poco >> funcional. Lo que busco es mejor organizaci�n. >> >> >> Gracias por la recomendaci�n. >> >> >> >> >> >> ______________________________________________________________ >> Date: Thu, 4 Jul 2013 18:49:31 -0300 >> From: mmgomez en gmail.com >> To: lazarus-es en lists.lazarus.freepascal.org >> Subject: Re: [Lazarus-es] forms i querys >> >> >> Est� considerado una "buena practica" el separar el acceso a >> datos con un datamodule, al menos esa es la recomendaci�n de >> Borland desde el Delphi 1. >> >> >> Si ven�as del Visual Basic es una costumbre dificil de >> adoptar, pero una vez que te acostumbras empiezan los >> beneficios :) >> >> >> 2013/7/4 Ulises D�az <udiaz60 en hotmail.com> >> Hola >> >> >> Me pasaba igual, a veces pienso igual, por un tiempo >> utilic� un Data Module con una conexi�n, las querys >> (tzquery de Zeos) y el datasource de cada formulario >> juntos, luego empec� a ver algo confuso tantas querys >> que decid� crear un datamodule con una �nica conexi�n >> desde la que se conectan las querys que se encuentran >> en cada formulario junto con su datasource, agreg� la >> unidad del datamodule en los uses de cada form y >> asigno la propiedad de conexion de las querys a la >> mencionada conexi�n. >> >> >> Muchas veces no utilizo componentes gr�ficos, >> especificamente en los casos que tengo que cargar >> informaci�n a listas, stringGrids, realizar inserts o >> udpates desde stringGrids, entre otros si no que lo >> hago por c�digo en el evento OnCreate de los forms, >> por ejemplo: >> >> >> var >> QCargarComboboxs : tzquery; //declaro la query, Zeos >> begin >> QCargarComboboxs : tzquery.create(nil); //Instancio >> QCargarComboboxs.conection := >> MiDataModule.conexion; //asigno la conexi�n del >> datamodule. >> >> >> >> >> QCargarComboboxs .SQL.add('select * from years'); >> QCargarComboboxs.execsql; >> //Realizo la consulta >> >> >> //Cargo un combo por ejemplo >> While not QCargarCombobox.Eof do >> begin >> Combo1.add(QCargarComboboxs.fielbyname('year').asstring); >> //Adiciono el elemento al combo >> QCargarComboboxs.next; //siguiente registro >> end; >> >> . >> . >> . >> Luego utilizo la misma query para cargar otros >> combos. >> >> >> Bueno se puede crear una funci�n que realice esta >> operaci�n pasandole como argumentos el nombre de la >> tabla, los campos, y los combobox a rellenar. >> >> >> Para lo dem�s me gusta utilizar componentes gr�ficos, >> todo depende de las circunstancias. >> >> >> >> >> Esperar� otras respuestas tal vez me sirvan para >> mejorar la forma en que programo. >> >> >> >> >> Espero que sea de utilidad, saludos desde Colombia >> >> >> >> >> Ulises D�az >> Ingeniero de Sistemas, UNAD. >> >> >> >> >> >> > Date: Thu, 4 Jul 2013 22:51:30 +0200 >> > From: alfred en arsistemes.com >> > To: lazarus-es en lists.lazarus.freepascal.org >> > Subject: [Lazarus-es] forms i querys >> >> > >> > Saludos de nuevo, >> > >> > Estoy incorporando forms para editar registros con >> doble click en un >> > dbgrid lazarus + Zeoslib + postgres >> > >> > Por alg�n motivo que desconozco siempre acabo >> dudando entre usar el >> > Datamodule... incorporar el query y el Datasource en >> el mismo form o >> > incluso realizarlo todo por c�digo. >> > >> > No acabo de decidirme por uno u otro m�todo y voy >> alternando seg�n va >> > saliendo. >> > >> > �Existe algun convenio sobre cu�l es el mejor >> m�todo ? >> > >> > Gracias >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> >> >> -- >> Try not to become a man of success but rather to become a man >> of value. Albert Einstein >> >> _______________________________________________ Lazarus-es >> mailing list Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> >> >> -- >> Try not to become a man of success but rather to become a man of >> value. Albert Einstein >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico > que > ofrece Infomed para respaldar el cumplimiento de las misiones del > Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso > de > usar el servicio a tales fines y cumplir con las regulaciones > establecidas > > Infomed: http://www.sld.cu/ > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email