Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
A ver que os parece

Propongo a los compañeros la siguiente idea, por que no creamos, una serie de temas relacionados con tablas especificas, en que pongamos el nombre del campo, tipo, tamaño y una pequeña descripción y o aclaración, por ejemplo empezar con un tema llamado Estructura clientes, que ira como no sobre la tabla clientes y pondríamos más o menos (es una idea)

CodCli, AlfaNumeric, 20 , Guarda el código del cliente, alfanumérico, para que admita letras y números
Nomcliente, Alfanumeric, 40, nombre del cliente
Etc...

Como veis puse alfanumeric, puede ponerse String, etc.. no importa en este caso el tipo de base de datos y nos ayudaría a mejorar nuestras bases de datos, actuales y en un futuro, enseñarnos nuevas posisbilidades etc, tambien podrimaos poner indices y campos con autogeneradores, etc..
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 12-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Amigo José Luis.

Si bien es cierto que en las tablas de clientes, artículos, proveedores, etc. hay campos que hay que tener como mínimo como son en el caso de clientes el código, nombre, dirección, etc. Aparte de esto los demás campos están bastante relacionados con el funcionamiento y las opciones de la aplicación en particular. Me explico, si tu aplicación gestiona nóminas te hará falta el número de inscripción de la seguridad social de la persona, cosa que en un programa de gestión normal y corriente no tiene mucho sentido.

De una forma de otra si a ti o a alguien del foro le interesa yo no tengo ningún problema en publicar aqui un fichero ini de mi aplicación de gestión en la que se almacena la descripción de todas las tablas y campos que usa (que son bastantes).

Saludos
Responder Con Cita
  #3  
Antiguo 12-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
gracias por tu opinión newtron, pero creo que no has entendido lo que quería expresar, me encuentro a menudo con gente que tiene muchos conocimientos de programación de webs, apis, gráficos, juegos, y gestión, pero que en cuanto les sacas de su campo se pierden, no importa ni el lenguaje usado ni el tipo de DB que usemos, el problema es el mismo, se pierden y el comentario es igual, debería haber hecho este campo así, me falto esto, tengo que modificar el ancho, etc.

La idea que propongo es hacer una especie de guía de bases de datos de gestión y por que usar un campo o otro, te pongo un ejemplo, yo programo bases de datos para mi programa sobre la fabricación de productos de limpieza, a parte de usar tablas y campos muy específicos para este sector, nos encontramos con el caso de un producto de limpieza debe llevar caducidad, la res puesta es sí, ya que si un producto es extremadamente ácido o alcalino, no proliferan germenes degrada-torios, pero en cambio en productos controlados si.

otro ejemplo de lo que digo, es que tamaño y de que tipo debería ser el campo Código Postal, numérico, alfanumérico, de 5, 6 10, etc..

Como digo se trata de tener una visión general de lo que debería ser los campos de las tablas, ya cada uno decidirá si usa unos o desecha otros y como muy bien dices, para cada aplicación podemos tener tablas muy especificas, con campos específicos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 13-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Aunque eso también variará dependiendo de la zona/región/país, por ejemplo, el código postal o el teléfono no será igual en España, Perú o USA... supongo.
Responder Con Cita
  #5  
Antiguo 13-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me parece una buena idea...
siempre y cuando consideremos cuestiones inherentes a nuestra region o zona
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 13-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Pienso mejor en hacer un tipo estándar, porque podemos encontrarnos en un país y tener que mandar cartas, documentos etc a otros, pensar si el más largo de todos tiene 10 de ancho, no e mejor dejarlo a diez, que tener uno de 5 para España y de repente un cliente a mandar mercancía en XXXX y allí su equivalente tiene 10 de tamaño o cualquier otro campo. Por poner otro ejemplo yo vivo en Gran Canaria, que pertenece a España, por todo el país el impuesto es el IVA, exceptuando en mis islas que es el IGIC, la mayoría de los programas de la península suelen venir con el campo IVA, mientras que los programadores que conozco en la isla solemos usar un campo en la configuración que llamamos impuestos y donde ponemos el nombre de este, de esta manera sirve para las islas Canarias, para la península y para cualquier país, pero claro sólo en el impuesto, que pasara, con otros muchos campos???
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #7  
Antiguo 13-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
El tema es que la configuración del campo dependerá muy mucho de la aplicación y el sector al que esté dirigida. En el ejemplo de los códigos postales ciertamente cambiarán en los distintos paises y lo suyo es que tuvieran una longitud suficiente para cubrir todas las posibilidades pero en mi caso en particular la gran mayoría de mis clientes usan códigos postales nacionales y ¿qué hago? ponerselo limitado a 5 dígitos y con una consulta de los mismos para que no se equivoquen. Si lo pusiera a 10 dígitos por si tuvieran (caso improblable) que necesitarlo me chillarían porque se equivocarían en la longitud del mismo y me dirían que se lo pusiera a 5 que es lo que usan.

El tema es peliagudo en ese sentido.

Saludos
Responder Con Cita
  #8  
Antiguo 13-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
hola newtron, tienes toda la razón, no te discuto que la tengas, pero ahí es donde tenemos que entrar nosotros, debemos controlar esa situación, como, pues es una manera fácil si el país es España, limitamos la entrada dentro del onchange de su respectivo edit no permitiendo mas de 5 o 6 caracteres (si incluyes el punto o no) y en el onkeypress controlando si es un numero o el punto. Aprovecho y te lo planteo de la manera contraría, que diría el cliente si tuviese que mandar correspondencia a otro país con un alfanumérico de 10 dígitos, quien tendría que modificarlo a posteriorí, intenta verlo de eta manera
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #9  
Antiguo 13-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Cierto, si se diera esa circunstancia tendría un problema. Por ese motivo mi programa está preparado para hacer modificaciones particulares de los campos sin tocar el código del programa y mediante ficheros ini. Me explico. Siempre que llamo a un formulario en el formcreate se lee un fichero de texto asociado a ese formulario y en el que se pueden modificar las propiedades del campo, el tamaño, color, longitud, tipo (cadena, entero, fecha...), etc. De esta manera consigo que el cliente tenga una versión personalizada del programa sin que le afecten nuevas actualizaciones del ejecutable. Puedo cambiar las propiedades de los campos, eliminarlos, insertar nuevos, etc. en definitiva, crear una pantalla totalmente a medida sin tocar una linea de código. Igual esta idea le puede venir bien a alguien para sus programas.

Saludos
Responder Con Cita
  #10  
Antiguo 13-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y eso cómo lo solucionas en la BD?, quiero decir qué si hacen falta más campos o cambiarles el tipo, etc. ¿creas la BD una vez definidos los campos en el .ini?
Responder Con Cita
  #11  
Antiguo 13-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Sería bueno que nos pusieses un ejemplo, pues se ve muy interesante newtron.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #12  
Antiguo 13-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
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
Responder Con Cita
  #13  
Antiguo 13-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
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"
Responder Con Cita
  #14  
Antiguo 13-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
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
Responder Con Cita
  #15  
Antiguo 14-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Si no tienes problema, sería perfecto, todo lo que sea aprender siempre es bueno.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #16  
Antiguo 14-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por José Luis Garcí Ver Mensaje
Si no tienes problema, sería perfecto, todo lo que sea aprender siempre es bueno.
Vale, pero ¿qué quieres entonces, el ejecutable o los fuentes con los componentes?
Responder Con Cita
  #17  
Antiguo 14-03-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.411
Poder: 22
fjcg02 Va camino a la fama
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 -
Responder Con Cita
  #18  
Antiguo 14-03-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
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"
Responder Con Cita
  #19  
Antiguo 14-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Los componentes son hechos por nosotros (bueno, por uno que había en la empresa que si que sabía programar ), no son libres pero no tengo inconveniente en pasártelos si te sirven de ayuda. Todo está desarrollado con delphi 2007 por lo que no creo que tengas problemas en hacerlos funcionar.

La base de datos se llama elevateDB y puedes descargar los componentes en www.elevatesoft.com, te harán falta para poder ejecutar el proyecto así que puedes ir instalándola mientras te preparo un proyecto de ejemplo.

Enviame un mensaje privado con tu correo y te enviaré un ejemplo para que veas como funciona todo.

Saludos
Responder Con Cita
Respuesta



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

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
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


La franja horaria es GMT +2. Ahora son las 11:26:15.


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