Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2012
mcbullrich mcbullrich is offline
Registrado
 
Registrado: oct 2011
Posts: 8
Poder: 0
mcbullrich Va por buen camino
Componente para maquillar DataModule

Hola Gente!
Alguien conoce algún juego de componentes que permita beautificar un Datamodule, de tal manera de poder hacerlo visualmente más entendible?
Algo así como que se puedan agregar Groupboxes, etc. En fin... no sé si me explico, ojo que estos componentes no tendrían ninguna función en runtime.
Tengo Datamodules que nacen chiquitos, pero al cabo de un par de años de desarrollo se hacen monstruosos... a pesar que también hay otros varios DMs interactuando.
Saludos!
Responder Con Cita
  #2  
Antiguo 25-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.497
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mcbullrich Ver Mensaje
beautificar un Datamodule
¿Eso qué es?
Responder Con Cita
  #3  
Antiguo 25-04-2012
mcbullrich mcbullrich is offline
Registrado
 
Registrado: oct 2011
Posts: 8
Poder: 0
mcbullrich Va por buen camino
Con Beautificar quiero significar embellecer, ordenar, etc.
Uso la palabra porque sé que existen "Code Beautifiers" que ordenan un poco el código, tabulados, etc.
Responder Con Cita
  #4  
Antiguo 25-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.497
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero un datamodule es... eso, un módulo de datos, para añadir groupbox ya está el TForm.
No entiendo qué quieres "embellecer", ¿cambiarle colores?, ¿tipos de letras?, etc.
Responder Con Cita
  #5  
Antiguo 25-04-2012
mcbullrich mcbullrich is offline
Registrado
 
Registrado: oct 2011
Posts: 8
Poder: 0
mcbullrich Va por buen camino
Bueno, haga un esfuerzo por entender...
Ya lo dije, quiero poner por ejemplo algún tipo de groupbox para meter adentro la tabla master y todas las nested de un objeto incluyendo el TQLquery, TProvider, TClientDataset y TDatasource y TImages si las tuviese. Y así para otros objetos persistentes en mi base, cada grupo con un color...
De esta manera puedo hacer más entendible mi DataModule.
Podría Poner un Group para los componentes de conexión. Los Popup menus en otro corralito, los action managers en otro. Y así podría de paso desarrollar mi parte artística...

Última edición por mcbullrich fecha: 25-04-2012 a las 20:13:07.
Responder Con Cita
  #6  
Antiguo 25-04-2012
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 12
JoseAntonio Va por buen camino
malas practicas?

Tipico que tienes tus componentes de datos persistentes, es decir todos tus datasets y querys los llenas en tiempo de diseño, eso tiene sus limites en sistemas medianamente complejos, en donde cuando haces un pequeño cambio en las tablas (todo cambio es posible incluso en la data) tienes que volver a cambiar todo en tus componentes de dato en tiempo de diseño y ademas te llenas de datasets y querys en tu modulo de datos que ya no sabes como manejarlo. Solucion para esto: usa componentes de datos (datasets y querys) dinamicos que se llenen (y liberen) en tiempo de ejecucion, para eso tienes que programar todo explicitamente en el codigo, de otro modo ni tu ni nadie podra manejar tanto embrollo. Salu2.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #7  
Antiguo 25-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.798
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mcbullrich .

Perdón si es ignorancia, pero jamás oí de cosa tal como embellecer un TDataModule.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 25-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.497
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mcbullrich Ver Mensaje
Bueno, haga un esfuerzo por entender...
Ya lo dije, quiero poner por ejemplo algún tipo de groupbox para meter adentro la tabla master y todas las nested de un objeto incluyendo el TQLquery, TProvider, TClientDataset y TDatasource y TImages si las tuviese. Y así para otros objetos persistentes en mi base, cada grupo con un color...
De esta manera puedo hacer más entendible mi DataModule.
Podría Poner un Group para los componentes de conexión. Los Popup menus en otro corralito, los action managers en otro. Y así podría de paso desarrollar mi parte artística...
También puedes tener un datamodule para cada grupo
Responder Con Cita
  #9  
Antiguo 25-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.123
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Cita:
Empezado por mcbullrich Ver Mensaje
Ya lo dije, quiero poner por ejemplo algún tipo de groupbox para meter adentro la tabla master y todas las nested de un objeto incluyendo el TQLquery, TProvider, TClientDataset y TDatasource y TImages si las tuviese. Y así para otros objetos persistentes en mi base, cada grupo con un color...
De esta manera puedo hacer más entendible mi DataModule.
Podría Poner un Group para los componentes de conexión. Los Popup menus en otro corralito, los action managers en otro. Y así podría de paso desarrollar mi parte artística...
Cita:
Empezado por JoseAntonio Ver Mensaje
Tipico que tienes tus componentes de datos persistentes, es decir todos tus datasets y querys los llenas en tiempo de diseño, eso tiene sus limites en sistemas medianamente complejos, en donde cuando haces un pequeño cambio en las tablas (todo cambio es posible incluso en la data) tienes que volver a cambiar todo en tus componentes de dato en tiempo de diseño y ademas te llenas de datasets y querys en tu modulo de datos que ya no sabes como manejarlo. Solucion para esto: usa componentes de datos (datasets y querys) dinamicos que se llenen (y liberen) en tiempo de ejecucion, para eso tienes que programar todo explicitamente en el codigo, de otro modo ni tu ni nadie podra manejar tanto embrollo. Salu2.
Soluciones terribles ambas.


Lo que tienes que hacer no es "embellecer" tus datamodules, que no siendo componentes visuales no pueden embellecerse. Lo que tienes que hacer es aprender a organizar tu código. Usa varios datamodules, tantos como sean necesarios y sin mezclar elementos que no tienen relación. PopupMenus en un datamodule, actionmanagers en otros y datasets en otro. Y cada grupo puede subdividirse en varios datamodules según convenga a tu modelo, por ejemplo, un módulo para ventas, otro para almacen, otro para clientes, etc.

Por otra parte, los datasource los considero mejor en los formularios que los usen y no en el datamodule.

Y, finalmente,

Cita:
Empezado por mcbullrich Ver Mensaje
Bueno, haga un esfuerzo por entender..
Quien tiene que hacer un esfuerzo es el que pregunta, los foros no son un servico técnico.

// Saludos
Responder Con Cita
  #10  
Antiguo 25-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 15
AzidRain Va por buen camino
Y añadiendo a lo que dice Roman, tambien puedes meter los datasets que se utilizan solo en un formulario dentro del mismo, aunque parece algo "poco elegante", sin embargo considero que un datamodule debe contener componentes que pueden estar accesibles a mas de un formulario o proceso dentro de tu programa. Pero bueno ya es cuestión del estilo de cada quien.

Por otro lado eso de "embellecer" no tiene caso pues ya Delphi trae el Explorador de Código que permite ver los componentes del datamodule en forma ordenada por clase y alfabeticamente que creo que es más que suficiente cuando se tienen muchos componentes metidos ahí.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 25-04-2012
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
Si quieres poner TGroupbox, colores, etc. en vez de TDatamodule...

Usa un TForm en vez de TDatamodule..

Saludos
Responder Con Cita
  #12  
Antiguo 26-04-2012
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 567
Poder: 15
ASAPLTDA Va por buen camino
Smile

Cita:
Empezado por JoseAntonio Ver Mensaje
Tipico que tienes tus componentes.. Solucion para esto: usa componentes de datos (datasets y querys) dinamicos que se llenen (y liberen) en tiempo de ejecucion, para eso tienes que programar todo explicitamente en el codigo, de otro modo ni tu ni nadie podra manejar tanto embrollo. Salu2.
Hola Podrias compartir un ejemplo basico para ver como funciona
Responder Con Cita
  #13  
Antiguo 26-04-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.490
Poder: 22
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Lo siguiente es un esquema, a grandes rasgos, de cómo organizo estos componentes con Magia Data. Los recuadros en rojo indican algunas de las muchas características que le dan valor a este paquete de componentes. No me salvo de tener módulos de datos bastante grandes, pero consigo que sean un poco más fáciles de manejar.

Módulo de datos dmServidor:


Módulo de datos dmProveedor:


Módulo de datos dmCliente:


Formulario de captura:


Este enlace también puede ser de ayuda.

OJO: En Delphi, no necesariamente hay que emplear dbExpress (TSQLConnection, TSQLQuery...) para poder aprovechar la potencia de los conjuntos de datos clientes (TClientDataSet). Los colegas suelen pensar que dbExpress y MIDAS son parte de lo mismo; sí que combinan bien pero no están casados. Por otro lado, TMagiaDataSetProvider y TMagiaDataSource pueden trabajar con cualquiera de las muchas clases data sets existentes (ADO, ZeosLib, etcétera), puesto que sus clases padres (TDataSetProvider y TDataSource) también.

Saludos cordiales.

Al González.
__________________
Twitter
Código
Blog
WhatsApp para consultas rápidas y asesorías profesionales: +52 1 2711260117
Responder Con Cita
  #14  
Antiguo 26-04-2012
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 12
JoseAntonio Va por buen camino
Cita:
Empezado por ASAPLTDA Ver Mensaje
Hola Podrias compartir un ejemplo basico para ver como funciona
Si podria, pero no lo hare por ahora, solo te dire que se implemento estas funciones en el modulo de datos:

Código Delphi [-]
function GetDataset(SQL: str): TDataset;
function ExecuteSQL(SQL: string): boolean;
function ExecuteScript(SqL: string): boolean; // ejecuta varias lineas de sql en una sola transacción
lo que se gana con todo esto es que cualquiera puede modificar el codigo de los sistemas puesto que todo esta expuesto y por ende los sistemas son mas robustos y muy depurables, la pega del asunto es que ya no hay enlace entre los componentes y la data directamente porque todo es a mano, pero esto en si también llegaría a ser una ventaja puesto que se gana en versatilidad, a la larga ya no estas apareciendo en tanto foro para preguntar como funciona un dblockupcombobox por dar un ejemplo, puesto que usas un simple combobox o similar y tu mismo lo llenas a mano, cuestion de filosofia.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #15  
Antiguo 26-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.123
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
Lo siguiente es un esquema, a grandes rasgos, de cómo organizo estos componentes con Magia Data.
Disculpa Al, pero no entiendo. Veo que usas distintos datamodules, como otros hemos expresado, pero no entiendo qué papel desempeñan las propieades que marcas en la organización de los componentes.

Será que ando espeso

// Saludos
Responder Con Cita
  #16  
Antiguo 26-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.798
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Y yo sigo insistiendo que no le encuentro sentido a "embellecer" algo que no se podrá ver...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-04-2012 a las 17:50:40.
Responder Con Cita
  #17  
Antiguo 26-04-2012
mcbullrich mcbullrich is offline
Registrado
 
Registrado: oct 2011
Posts: 8
Poder: 0
mcbullrich Va por buen camino
Aclaración sobre el término "embellecer"

Primero quiero volver a decir que no lo inventé yo. Lo tomé prestado de los utilitarios llamados "code beautifiers", aunque estos solo se meten con el código. Por extensión lo intento aplicar a la cuestión de diseño visual. Por otro lado entiendo que la la belleza podría no ser el mejor término en estos casos, llamemoslo si se quiere herramientas de ayuda de diseño visual. Por ejemplo: Un diagrama gráfico de entidad-relación o un diseñador visual de objetos no agrega nada a la efectividad del código, pero creo que son buenas prácticas para cuando un diseño quiere ser compartido en un equipo de trabajo. La verdad es que a veces pierdo mucho tiempo buscando una tablita en un datamodule y a veces no recuerdo bien como se engancha con otras tablas.

Y sigamos discutiendo nomás, que cada uno va rescatando un poco de cada post.

Y además tenía un problema de servicio técnico:
Tengo una heladera Siam de año 63. Donde puedo conseguir el termostato original? Le puedo adaptar algún otro? Y si la conecto directo? Y si me resigno a tomar la coca caliente?
En fin, se que quizás este no es el foro adecuado...
Responder Con Cita
  #18  
Antiguo 26-04-2012
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.413
Poder: 18
egostar Va por buen camino
Cita:
Empezado por mcbullrich Ver Mensaje
Aclaración sobre el término "embellecer"

Primero quiero volver a decir que no lo inventé yo. Lo tomé prestado de los utilitarios llamados "code beautifiers", aunque estos solo se meten con el código. Por extensión lo intento aplicar a la cuestión de diseño visual. Por otro lado entiendo que la la belleza podría no ser el mejor término en estos casos, llamemoslo si se quiere herramientas de ayuda de diseño visual. Por ejemplo: Un diagrama gráfico de entidad-relación o un diseñador visual de objetos no agrega nada a la efectividad del código, pero creo que son buenas prácticas para cuando un diseño quiere ser compartido en un equipo de trabajo. La verdad es que a veces pierdo mucho tiempo buscando una tablita en un datamodule y a veces no recuerdo bien como se engancha con otras tablas.

Y sigamos discutiendo nomás, que cada uno va rescatando un poco de cada post.
Y no habrá sido mejor ORDENAR ¿?, ESTRUCTURAR ¿?,

Cita:
Empezado por mcbullrich Ver Mensaje
Y además tenía un problema de servicio técnico:
Tengo una heladera Siam de año 63. Donde puedo conseguir el termostato original? Le puedo adaptar algún otro? Y si la conecto directo? Y si me resigno a tomar la coca caliente?
En fin, se que quizás este no es el foro adecuado...
En éste caso concreto y perfectamente bien explicado seguro que te van a dar la razón

Va
Responder Con Cita
  #19  
Antiguo 26-04-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.490
Poder: 22
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
Disculpa Al, pero no entiendo. Veo que usas distintos datamodules, como otros hemos expresado, pero no entiendo qué papel desempeñan las propieades que marcas en la organización de los componentes.
Hola Román, con mucho gusto intentaré darte un norte, bajo el entendido (dime si estoy equivocado) de que tienes poca experiencia con TDataSetProvider y TClientDataSet según se desprende de varios mensajes del foro. Me agrada ver que alguien se animó a preguntar.

Primero decir que no todas las propiedades enmarcadas en rojo tienen que ver con facilitar la organización de los objetos en los módulos de datos. Me pareció adecuado encerrar todas las que representan nuevas características respecto a los componentes nativos. De todas formas me gustaría disponer del tiempo necesario para explicar cada una de ellas, pero creo que por ahora me limitaré a las que competen al caso y un par más.

Segundo, para evitar confusiones, decir que mi respuesta no es tanto para darle esto como solución a mcbullrich (ya quisiera yo tener estos componentes listos para varias versiones de Delphi), como sí para enriquecer el debate sobre esta inquietud que muchos comparten: la saturación "visual" de los módulos de datos (visual en el único tiempo en que un módulo de datos es visible: durante el diseño).

Ahora, antes de entrar en materia, un poco de contexto "histórico" sobre la propiedades StoreActive e ImmediateApplyUpdates (antiguamente llamada ImmediateUpdates) de TMagiaClientDataSet: http://www.clubdelphi.com/foros/showthread.php?t=30633. Tómese en cuenta que ese hilo es de hace seis años, y desde entonces han cambiado tantas cosas en mi cabeza como en el código de las clases (creo que para bien). Lo traigo a colación por recordar la buena orientación que entonces me diste, Román. Gracias a las opiniones que entonces recibí pude tomar buenas decisiones sobre el diseño de ambas propiedades, las cuales pueden verse en la tercera imagen que subí.

Viendo la segunda imagen podrán notar que también TMagiaSQLQuery tiene propiedad StoreActive. Y TMagiaSQLConnection y por tanto también su derivado especial para Firebird TMagiaFirebirdSQLConnection (primera imagen) tienen una propiedad de semejante funcionamiento llamada StoreConnected. Mientras se dejen en False estas propiedades, no serán guardadas en el DFM las propiedades Active y Connected, respectivamente, lo cual se traduce en que al ejecutar la aplicación esos objetos iniciarán cerrados (no intentarán abrirse por sí mismos). Así el programador se despreocupa de si dejó alguna conexión, consulta o conjunto de datos abierto en tiempo de diseño, teniendo mayor control sobre su apertura a través del código de la aplicación.

Pasemos al meollo del asunto. Aunque los primeros mensajes de mcbullrich no están debidamente formulados, sí que hacen mella en quienes hemos usado los componentes que menciona:

Cita:
Empezado por mcbullrich Ver Mensaje
[...]incluyendo el TQLquery [creo que quiso decir TSQLQuery], TProvider [TDataSetProvider], TClientDataset [TClientDataSet] y TDatasource [TDataSource][...]De esta manera puedo hacer más entendible mi DataModule.
Todo esto tiene que ver con las aplicaciones de más de 2 capas (sean lógicas o físicas). ¿Qué pasa? Que por cada TDataSetProvider hay que poner a su lado (o en otro módulo de datos) el conjunto de datos que va a proveer, y asignar éste a la propiedad DataSet del primero. Esto hace que por cada tabla o consulta con la que se quiera trabajar se tengan dos componentes (la consulta y el proveedor) que ocuparán espacio visual en tiempo de diseño, en lugar de uno sólo que es lo normal cuando la aplicación no está dividida en capas. Ambos son tan dependientes uno del otro, que imaginé que valdría la pena unirlos en uno solo, y con ello reducir el esfuerzo mental y mecánico del programador que los utiliza. El DataSetProvider debía ser el contenedor, puesto que debe estar visible hacia "el exterior" y el conjunto de datos que provee (generalmente una consulta SQL) debía ser el "subcomponente" contenido.

Una pregunta importante era: ¿cómo hacer que el proveedor pueda contener cualquier clase de conjunto de datos (TSQLQuery, TADOQuery, etcétera)? La respuesta fue una propiedad de tipo String llamada InternalDataSetClass (segunda imagen). Con ella el programador indica de qué clase quiere que sea el conjunto de datos contenido (válido mientras la clase esté registrada). Nótese en la imagen que la propiedad nativa DataSet hace referencia a un objeto que pertenece, no a un módulo de datos, sino al propio componente proveedor: prContrato.DataSet. Es decir, al usar la propiedad InternalDataSetClass, el componente crea y guarda de forma interna un objeto de esa clase. Se puede notar que las "subpropiedades" de prContrato.DataSet son las de un objeto TMagiaSQLQuery (valor de las propiedad InternalDataSetClass). También podría ser un subcomponente ADO, ZeosLib, etcétera.

No está de más decir que si esta propiedad de tipo String se deja en blanco, entonces en DataSet se puede asignar un objeto externo de la manera habitual.

Otra pregunta que derivó de lo anterior fue: ¿cómo podrá ahora el programador definirle campos persistentes a ese conjunto de datos interno? Es de esperarse que si se le da doble clic a un TDataSetProvider no se abrirá el editor de campos, el editor de campos es para data sets. Bueno, pues con un poco más de programación conseguí que TMagiaDataSetProvider sí hiciera aparecer el editor de campos de Delphi al darle doble clic. En la imagen puede verse esa pequeña ventana con el título: prContrato.DataSet (los campos persistentes del conjunto de datos interno del proveedor prContrato).

Bueno, eso fue por el lado de dmProveedor. Tengo que interrumpir esto por falta de tiempo, pero más adelante intentaré explicar lo que concierne a dmCliente. Por el momento, quien tenga experiencia con TClientDataSet y haya visto en la tercera imagen que además de la propiedad nativa ProviderName se tiene una propiedad llamada Provider, podrá inferir la utilidad de ésta cuando se trabaja en capas lógicas (o "2.5 capas").

Saludos y gracias por interesarte Román.

Al González.
__________________
Twitter
Código
Blog
WhatsApp para consultas rápidas y asesorías profesionales: +52 1 2711260117

Última edición por Al González fecha: 26-04-2012 a las 20:45:05.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda para instalar componente svqrbarcode para QReport BlueSteel Varios 4 24-09-2010 23:05:23
Componente para buscar registros, para no repetir codigo. flystar Conexión con bases de datos 9 28-04-2010 23:16:15
como mover todos los componente a un DataModule kurono Varios 8 25-03-2008 02:09:45
Crear un DataModule para Firebird claudiorene Firebird e Interbase 1 13-07-2007 18:01:09
componente para norma19 para delphi7 raulmm26 Varios 3 07-02-2005 12:31:11


La franja horaria es GMT +2. Ahora son las 08:30:55.


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