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 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
Post Tutorial vídeo club

Visto que la encuesta va ganando por 15 a 1 los si, he decidido empezar este nuevo tutorial de como crear un vídeo club.

Lo haré introduciendo partes 1 ó 2 veces a la semana, cuando me sea posible incluso más. La herramientas que usare son:

La biblioteca de iconos: Cristal clear
Para crear las tablas y la base de datos: Ibexpert P.E. (Edición personal)
El motor de base de datos: Firebird 2.5
El Delphi 2010 y sus componentes estándar
Para los informes: El Report manager
Y para los diagramas que presento el Diagram desing

Salvo el delphi el resto o son gratuitos o son para uso personal

Intentaré que sea sencillo de entender, corregidme si no es así y para todos los niveles, pero no explicaré como hacer la base de datos, ya que hay un muy buen tutorial en el club que lo explica.

¿Por qué sobre un vídeo club? Sencillo, es un tipo de negocio en decadencia, además fue mi primer gran proyecto en clipper y tiene conceptos que podremos extrapolar a otros programas.

¿Qué no encontraremos? por ejemplo tablas maestro detalle como tales

¿Qué si encontraremos? El uso de varios sistemas y el aprovechamiento por lo menos en parte de nuevas tecnologías

Algo de historia

El vídeo club nació con las primeras películas en vídeo beta, sistema 2000 y Vhs, siendo el franco ganador este último sistema a pesar de no ser el más eficiente ni el de mejor calidad, ya que el beta tenía mejor revolución y el sistema 2000 era el más avanzado de todos ellos.
Los tiempos fueron avanzando y vino el dvd y el Blue-Ray, pero también los juegos de múltiples consolas que también se fueron añadiendo a productos alquilables y por lo tanto pertenecientes a los vídeo clubs.
En los últimos años estos han decaído como muchas otras cosas, en parte por los canales satélites y derivados y en parte por la crisis. Pero aun subsisten algunos teniendo que adaptarse a los tiempos, por lo que tienen salas para llamadas, fotocopiadoras, fax, golosinas, vaporizadores y un largo etc. de productos y servicios

Nosotros nos vamos a quedar en la parte media, no dedicándonos a otra cosa que el alquiler y la venta de nuestras películas y juegos, para este tutorial.

Programare como si se tratase de un sistema moderno tipo TPV, pero sin entrar en visores, impresoras de tickets y cajoneras, aunque dejándolo apunto para que os sea fácil añadírselo, si intentando implementar otros sistemas a nuestro programa.

Por último quiero pedir disculpas por algunas de mis faltas de ortografía que seguro las habrá, pero con 46 años me han detectado que tengo una epilepsia cada año descubro partes más jodidas de mi . Las he descubierto por que al escribir mis libros repetía una y mil veces los mismos fallos y tras hacerme un analisis y la doctora comprobar que sabía esas normas ortográficas y que también sabía como se escribían esas palabras casi el 90% de las veces lo hacía mal.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
La tabla CONFIGURACION



Es la tabla que mantendrá los datos de nuestro Vídeo Club, como podéis ver llevara una serie de numeradores para nuestro sistema, usando en este caso numeradores simples, sin otro tipo de caracteres, por lo que he optado por tipo integer, ya que usaremos sistemas de búsqueda por SQL.

Además he añadido en esta tabla el poder poner un día en el que hagamos ofertas tipo integer también siendo mi idea que el 1 sea lunes al 7 que sea domingo.
También usaremos un sistema de colores para saber si la unidad esta disponible, alquilada o bloqueada por otro motivo.
Cómo el tema del impuesto es otro añadido que cambia según la zona o el país, no uso uno especifico pidiendo el nombre y el porcentaje a aplicar. Por cierto nuestros precios finales ya tienen el impuesto incluido, dato a tener en cuenta, ya que no aparecerá como tal.
Por último como trabajamos con datos tendremos nivel de acceso y por lo tanto la Ley de protección de datos, poniendo un campo memo con el texto que aparecerá en nuestros documento y emails.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #3  
Antiguo 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
Tabla UNIDADES



Como ya hemos comentado en los vídeo clubs ya no se se alquila sólo películas, por lo que nuestra base que contenga los datos se llamará UNIDADES, en esta tabla me extenderé en algunos campos explicándolos un poco más.

ALQUILADA_VECES: nos indicará el número de veces que la unidad ha sido alquilada, podríamos sacarlo mediante SQL, pero hay ciertos datos que prefiero tratar así directamente

VALOR_ALQUILER: Es el código de una tabla con el mismo titulo, en ella estableceremos varios datos que estimaran su precio y demás, ya lo veremos más adelante

FORMATO: Se refiere al formato físico, pero también al formato de soporte Ejemplos: DVD, BLue-Ray, JUEGO PS3, etc.

GENERO: al genero de película o juego del que trata esta unidad

FECHA_ALTA y FECHA_BAJA: Día en que damos de alta a la unidad y en la que le damos de baja, pero esta última se puede cambiar, ya veremos por qué un poco más abajo

COSTE y REDIMIENTO: El primero es cuanto nos ha costado la unidad, el segundo es un campo que incrementará cada vez que la unidad se alquile o cuando se venda

DISPONIBLE: La unidad esta disponible para su alquiler o venta haremos que admita S o N simplemente

VENDIDA: LA unidad ha sido vendida, por lo que no aparecerá en nuestras búsquedas para alquilar y cambiara el disponible a N y la fecha de la baja será la de la venta, no dejándola cambiar

PERDIDA: La unidad no se encuentra, este es nuestro campo, al igual que vendida nos rellena los campos disponible y fecha de baja, pero al recuperarla, podremos seguir usándola nuevamente, por esto la fecha de baja no es fija, salvo que este vendida

NOTAS: este es un campo de incidencia sobre la unidad, por si un cliente se queja de un problema y seguimos adelante con el alquiler y otros expresasen el mismo problema, poder tener un registro del mismo
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
Tabla CLIENTES



Bueno de esta tabla poco que decir salvo en los campos

A_CUENTA:Si el cliente ha entregado una cantidad por adelantado
PENDIENTE:Si el cliente debe dinero a nuestro vídeo club
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #5  
Antiguo 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
Tabla USUARIO



Será la tabla que controle a nuestros empleados, como podéis ver la he reducido bastante, para que sea más manejable el tutorial, pudiendo añadir muchos más campos

NIVEL:Será el nivel de nuestro usuario, según este podrá obtener más datos en ciertas pantallas (Por ejemplo el coste y el rendimiento en la unidades) o acceder a ciertos apartados del programa estándole vetados el resto

CLAVE:Será la clave que elija nuestro usuario, apareciendo codificado en el programa, para lo que usaremos una función que se encargara de administrar el sistema
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 14-02-2015
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: 22
José Luis Garcí Va camino a la fama
Tabla VALOR_ALQUILER



Esta es la tabla a la que hacíamos referencia en la tabla UNIDADES, comentaré algunos campos

DIAS: El número de días de alquiler, contando siempre desde la fecha del alquiler

PRECIO y PRECIO_OFERTA: es el precio del alquiler en días normales y los días de oferta según la tabla CONFIGURACION

PENALIZACION_DIA: Es la recarga que aplicaremos por cada día de retraso en devolver la unidad
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #7  
Antiguo 20-02-2015
tuni tuni is offline
Miembro
 
Registrado: jun 2012
Posts: 34
Poder: 0
tuni Va por buen camino
Felicidades estas haciendo un gran trabajo y ayudando con él a muchos entre los que me incluyo.

Saludos
Responder Con Cita
  #8  
Antiguo 21-02-2015
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: 22
José Luis Garcí Va camino a la fama
Cita:
Empezado por tuni Ver Mensaje
Felicidades estas haciendo un gran trabajo y ayudando con él a muchos entre los que me incluyo.

Saludos
Gracias Tuni
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #9  
Antiguo 21-02-2015
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: 22
José Luis Garcí Va camino a la fama
Sigamos hoy con el tutorial, hoy montaremos nuestras tablas y explicare algunas cosas, luego veremos como será el diseño de nuestros forms

Primero especifico que la estoy montando en firebird 2.5, e usado el collate ES_ES_CI_AI y el Charset o juego de caracteres ISO8859_1 desde la creación de la base de datos para no tener problemas con el unicode luego.

En las tablas solo usaremos los indices primarios (Primary Keys) ya que el resto lo haremos por SQL y sólo he marcado como campos no nulos los que llevan estos indices.

Hay una tabla que no tiene indice, el motivo es que esta tabla sólo tendrá un registro y ni siquiera tendrá el botón para insertar nuevos registros, ni para navegar por ella, ya veremos como solucionamos esto más adelante, está es la tabla CONFIGURACION.

Solo he usado un dominio para los campos Char que aceptaran S o N únicamente

Código SQL [-]
CREATE DOMAIN DOMSN AS CHAR(1) CHARACTER SET ISO8859_1 CHECK (VALUE IN ('S','N')) COLLATE ES_ES_CI_AI;

El motivo es que quiero que manejemos las tablas lo más a pelo posible, esto no es útil para los que ya saben trabajar bien con ellas pero si para los que estan empezando.

Buscar en el club que hay tutoriales de como crear la base de datos y las tablas con Ibexpert, de todas maneras si alguno tiene aun dudas puedo explicar alguna cuestión a lo largo del tutorial al igual que otros muchos compañeros.

Pondré los resultados de la DDL de cada tabla del Ibexpert, por lo que podéis copiar y pegar para crearlas en el editor SQL de la aplicación ya mencionada, pero recordar que si estáis iniciándoos es mejor hacer el trabajo campo por campo para que lo aprendáis bien.

En caso de usar el editor SQL recordar que tenéis que hacer por una parte la tabla, por otra el indice primario y luego aparte crear los campos de auto incremento para los campos ID.

Por último decir que he creado una nueva tabla llamada etiquetas, ya explicare como funciona más adelante y he añadido algún campo a las tablas USUARIO, CONFIGURACION y UNIDADES.

Comienzo a mostrar las diferentes tablas de manera separada.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #10  
Antiguo 21-02-2015
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: 22
José Luis Garcí Va camino a la fama
Creamos la tabla unidades (hemos añadido el campo código de barras)

Código SQL [-]
CREATE TABLE UNIDADES (
    ID               INTEGER,
    ALQUILADA_VECES  INTEGER,
    CODIGO           VARCHAR(20) NOT NULL,
    TITULO           VARCHAR(100),
    GENERO           VARCHAR(20),
    VALOR_ALQUILER   VARCHAR(20),
    FORMATO          VARCHAR(20),
    LIBRE            VARCHAR(80),
    FECHA_ALTA       DATE,
    FECHA_BAJA       DATE,
    COSTE            NUMERIC(15,4),
    RENDIMIENTO      NUMERIC(15,4),
    DISPONIBLE       DOMSN /* DOMSN = CHAR(1) CHECK (VALUE IN ('S','N')) */,
    VENDIDA          DOMSN /* DOMSN = CHAR(1) CHECK (VALUE IN ('S','N')) */,
    PERDIDA          DOMSN /* DOMSN = CHAR(1) CHECK (VALUE IN ('S','N')) */,
    NOTAS            BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PORTADA          BLOB SUB_TYPE 0 SEGMENT SIZE 80,
    CODIGO_BARRAS    VARCHAR(20)
);


Y su PK

Código SQL [-]
ALTER TABLE UNIDADES ADD CONSTRAINT PK_UNIDADES PRIMARY KEY (CODIGO);


Comentar que no usaremos códigos de barras comerciales como el Ean 8 o 13, usando para este caso una fuente con formato de códigos de barra probablemente al codebar39, me falta comprobar una cosa y lo confirmare
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #11  
Antiguo 21-02-2015
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: 22
José Luis Garcí Va camino a la fama
Creamos la tabla configuración a la que añadimos los campos SEGUNDOS_RETENIDOS y SALTO_REGISTROS)


Código SQL [-]
CREATE TABLE CONFIGURACION (
    ID                        INTEGER,
    NUMERADOR_CLIENTE         INTEGER,
    NUMERADOR_UNIDAD          INTEGER,
    NUMERADOR_VALOR_ALQUILER  INTEGER,
    NUMERADOR_ALQUILER        INTEGER,
    NUMERADOR_CAJA            INTEGER,
    NUMERADOR_MOVIMIENTOS     INTEGER,
    NUMERADOR_FORMATO         INTEGER,
    NUMERADOR_FORMA_PAGO      INTEGER,
    NUMERADOR_CARGOS          INTEGER,
    NUMERADOR_GENERO          INTEGER,
    DIA_OFERTA                INTEGER,
    SEGUNDOS_RETENIDOS        INTEGER,
    SALTO_REGISTROS           INTEGER,
    CODIGO_POSTAL             VARCHAR(6),
    NOMBRE                    VARCHAR(80),
    DIRECCION                 VARCHAR(100),
    POBLACION                 VARCHAR(60),
    PROVINCIA                 VARCHAR(60),
    DOCUMENTO                 VARCHAR(20),
    TELEFONO                  VARCHAR(20),
    MOVIL                     VARCHAR(20),
    FAX                       VARCHAR(20),
    WEB                       VARCHAR(120),
    EMAIL                     VARCHAR(120),
    COLOR_DISPONIBLE          VARCHAR(20),
    COLOR_NO_DISPONIBLE       VARCHAR(20),
    COLOR_BLOQUEADA           VARCHAR(20),
    NOMBRE_IMPUESTO           VARCHAR(10),
    LIBRE                     VARCHAR(80),
    PORCENTAJE_IMPUESTO       NUMERIC(15,4),
    LEY_PROTECCION_DATOS      BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    LOGO                      BLOB SUB_TYPE 0 SEGMENT SIZE 80
);

OJO no lleva indice primario ya que estará compuesta de un único registro


Los campos SEGUNDOS_RETENIDOS es para saber los tiempos de espera en un Splash, algunos mensajes y pre visualización de caratulas en el menú principal

y SALTO_REGISTROS nos servirá para ver la cantidad de registros que saltaremos de una vez
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
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
Obtener fotograma de video. Video Finish rabata2001 Varios 0 07-05-2014 12:02:30
segundo video tutorial delphi cacu La Taberna 4 21-02-2012 14:30:26
Video Tutorial Delphi Para Novatos cacu Varios 4 22-11-2011 07:41:30
crear video tutorial glrjola Varios 7 28-04-2011 12:08:56
Video Tutorial para instalar Apache + MySQL + PHP desde 0 !!! Hagen PHP 0 07-02-2007 12:57:45


La franja horaria es GMT +2. Ahora son las 21:00:55.


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