![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Os cuento.
Toda la estructura de la base de datos de mis aplicaciones está en un fichero llamado DBGes.ini, que contiene algo parecido a esto... [Tablas] Tabla1=Clientes Tabla2=Proveedores -------> Relación de todas las tablas Tabla3=Articulos [Clientes] Campo1=CODIGO,C,6,0 Campo2=NOMBRE,C,40,0 Campo3=TOTALCOMP,N,12,2 ----> Descripción de cada una de ellas Campo4=FECHAUC,D, (Nombre del campo,Tipo,Longitud,Decimales) Campo5=OBSERVA,B, ..etc Indice1=CODIGO,CODIGO,"" ----> Indices para esta tabla Indice2=NOMBRE,NOMBRE,"" (Nombre del índice,campo (si es único),Campos(si son más de uno) [Proveedores] Campo1=CODIGO,C,6,0 Campo2=NOMBRE,C,40,0 ..etc Indice1=CODIGO,CODIGO,"" Indice2=NOMBRE,NOMBRE,"" [Articulos] Campo1=CODIGO,C,20,0 Campo2=DESCRIPCIO,C,40,0 Campo3=PVP,N,12,4 ..etc Indice1=CODIGO,CODIGO,"" Indice2=DESCRIPCIO,DESCRIPCIO,"" De esta manera relaciono todas las tablas y sus campos. En mi programa hay una opción para regenerar las tablas y actualizarlas en función de los campos de este archivo. Este archivo es común para todas las instalaciones. Al mismo tiempo hay otro fichero que se llama DBGesLocal.ini en el cuál meto las personalizaciones de cada cliente si las hay. La estructura es la misma que el del general, si un campo de una tabla se repite en el DBGesLocal.ini se usan las especificaciones de este último y si no existe se agrega a los del fichero general. De esta manera cuando actualizo el programa solo actualizo el DBGes.ini pero el DBGesLocal.ini no lo toco con lo cuál se mantienen los cambios específicos para ese cliente. Por otro lado tengo un montón de componentes propios como son uno para formularios con todas las opciones ya predefinidas de adelante, atrás, final, crear, etc. y dentro de ese formulario inserto componentes propios para edits, combobox, grids, etc. asociados al mismo y que tienen todas las propiedades que necesito de tipo de campo, color, longitud, tabla, campo, etc. Cuando creo un formulario determinado lo primero que hace es leer el fichero txt asociado para ver si tiene que modificar o crear campos nuevos e igualmente esos ficheros txt pueden ser locales y no se tocan cuando se actualiza el programa. De esta manera puedo personalizar el 80% del programa sin tocar una sola linea de código. Ejemplo de un fichero txt para el fichero de almacenes: [Formulario] FuenteNombre=MS Sans Serif FuenteTamano=8 FuenteColor=-2147483640 Titulo = Fichero de Almacenes Ancho=399 Alto=137 Color=-2147483633 Tabla=Almacenes Indice=CODIGO Impreso=ListadoAlmacenes.txt [Elemento1] Control=TNTEdit Nombre=TxtCodigo Texto=TxtCodigo Color=11777023 Alineacion=Izquierda LocalTabla=Almacenes LocalCampo=CODIGO VisibleConsulta=Si VisibleEdicion=Si VisibleInsercion=Si ActivoConsulta=Si ActivoEdicion=No ActivoInsercion=No Y=38 X=86 AY=21 AX=24 FuenteNegrita=Si FuenteItalica=No FuenteSubrayada=No FuenteTachada=No Ajuste=Si Puntacion=No Decimales=0 Longitud=2 Tipo=Entero INTEGRIDADTabla=ALMACENES INTEGRIDADCampo=CODIGO INTEGRIDADIndice=CODIGO INTEGRIDADValor=CODIGO EventoCambio=No Indice=No No sé si habreis entendido algo de todo este rollo pero si quereis os puedo dejar una copia del programa para que veais un poco como está orientado. Saludos |
|
#2
|
||||
|
||||
|
a mi personalmente me gustaría ver lo que dices con una pequeña demo de ejemplo bastaría, gracias newtron
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
|
#3
|
||||
|
||||
|
Ningún problema. ¿Quieres ver un ejecutable funcionando con los ficheros de los que te hablo? porque para poder ver los fuentes tendrías que instalarte mis componentes y los componentes de la base de datos que uso que a vosotros seguro que ni os suena.
Saludos |
|
#4
|
||||
|
||||
|
Si no tienes problema, sería perfecto, todo lo que sea aprender siempre es bueno.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
|
#5
|
||||
|
||||
|
Vale, pero ¿qué quieres entonces, el ejecutable o los fuentes con los componentes?
|
|
#6
|
||||
|
||||
|
Hola,
estoy interesado en este tipo de soluciones. Estoy trabajando para hacer un framework que permita hacer básicamente lo que propone newtron pero que la información resida en la propia BBDD. Tengo algo hecho, y en principio coincido en lo que propone. Por cada tabla o vista Relación de campos con nombre, etiqueta, longitud, máscara de edición, si es foreign key tabla relacionada y campos que actualiza, función de validación , si es una lista de valores qué lista es ( se guarda en otra tabla) ... y lo que se nos ocurra. Por cada formulario ( esto tengo pendiente de desarrollar ) Entidad principal ( tabla o vista ), isposición de los campos ( en cuatro columnas o más ), pestañas de tablas detalle, .... La idea es la misma, quiero hacer una aplicación generadora de aplicaciones, ese es mi sueño. Lo más difícil ( o eso creo ) es cómo incluir las reglas de negocio en este 'puzzle' de manera que sean sencillas de mantener. Si juntamos esta técnica con la herencia, en principio creo que podemos hacer el 100% de las aplicaciones de gestión con un esfuerzo bastante pequeño. Alguna vez he querido meterme con ORM's tipo tipof y esas vainas, pero me resultan muy complicados para lo que yo demando. Ahora no puedo incluir información, pero esta noche publico lo que tengo adelantado para que le echeis un vistazo. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#7
|
||||
|
||||
|
lo ideal es una pequeña base de datos con un 4 o 5 campos, así con una pequeña aplicación seria los fuentes, componenetes(si son libres) y el ejecutable por si hay problemas de version de delphi, o tuviese que adptarlo para mi versión (delphi 2010), de todas maneras, si puedes decirnos que componentes y tipo de BD. Muchas Gracias.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| No es lo que parece. | marcoszorrilla | La Taberna | 0 | 16-07-2008 21:21:20 |
| No todo es lo que parece !!!! | jandok238 | Humor | 4 | 20-05-2008 17:20:50 |
| Me parece que el Kav ??!! | aeff | La Taberna | 6 | 19-11-2007 12:52:47 |
|