Ir al contenido


Foto

Demo programa táctil


  • Por favor identifícate para responder
37 respuestas en este tema

#1 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:13

Hola compañeros, el compañero A-CLICK me solicito en una serie de mensajes privados que le ayudara en un programa TOUCH (táctil), para ello le he montado una demo de un programa totalmente táctil, no tendremos por que usar para nada ni teclado ni ratón, pero si una pantalla de este tipo.

Primero os pongo los mensajes que me ha mandado

Hola Jose 1/2
Disculpa que te escriba por aquí en privado, pero considero que cuando lo haga por el foro que inicie sea aportando información jejeje...

Te cuento en mis inicios con Delphi ya logre conectarme a la base de datos y hacer la primera parte del pequeño sistema que estoy programando... pero me quede en la parte mas importante del sistema touch... te lo explico de nuevo por pasos

1.- Introduzco el numero de "Tarjeta" ( esto es simplemente un numero de pedido manual asignado a un cliente)

2.- Muestra: "Nombre del Cliente" y Numero de la "Tarjeta" asociada perfecto, abajo abra un grid que muestra en blanco si no se le a asignando un servicio o si ya tiene servicios cuales tiene...

Ejm:

Cliente: Maria Mora
Trajeta:1121

Servicio - Servidor
Lavado - Ana Pachecho
Corte - Jesus Aguilera

pero aquí debe haber un botón que diga [AGREGAR SERVICIO]

"AQUI COMIENZA MIS DUDAS"

3.- En un Formulario Nuevo o Ventana Nueva me da las opciones

Formulario Servicios

[LAVADOS] [CORTES] [TINTES] [COMBOS] [PROMOCIONES]

//Pueden ser muchos mas... aquí me gustaría un botón adelante y atras com me dijiste se podia hacer y que muestre por pagina max 10 botones por decir algo...


Bien....

3.- Selecciono [TINTES]

desaparecen el primer grupo de botones y aparecen

[TINTE BÁSICO] [MECHAS] [REFLEJOS]

Selecciono la opción [TINTE BASICO] y allí sale un menú con todos los servicios de ese tipo

-Tinte cabello corto
-Tinte Cabello largo
-Tinte Marca WELLA
-Tinte Marca STILE
-Tinte blablabla

recuerda que es en touch

Ingrese su "Código de Servidor" (es la persona que hace el servicio)

// TOMO EL VALOR DEL BOTON Y EL CODIGO DEL SERVIDOR Y LO ANEXO EN EL GRID ASOCIADO AL CLIENTE

// Puede llegar a haber un nuevo nivel antes de asignar el servicio ojo


Hola Jose 2/2
MUUUUY FACIL JAJAJAJAJA (PARA TI  )
Ahora te explico de donde provienen
TABLA CLASIFICACION DE SERVCIOS
CodInsta - Descripcion - Nivel - InsPadre
1 LAVADOS - 1 - 0
2 CORTES - 1 - 0
3 TINTES - 1 - 0
4 COMBOS - 1 - 0
5 PROMOCIONES - 1 - 0
6 TINTE BASICO - 2 - 3
7 MECHAS - 2 - 3
8 REFLEJOS - 2 - 3

HAY OTRA TABLA DE SERVICIOS

CodServ - DescServ - Insta - Precio
TC01 - Tinte cabello corto - 2 - 700,00
TC02 - Tinte Cabello largo - 2 - 900,00
TC03 - Tinte Marca WELLA - 2 - 1500,00
TC05 - Tinte blablabla - 3 - 1650,00
CC01 - Corte de Cabello Corto - 2 - 180,00
CC02 - Corte de Cabello largo - 2 - 250,00

Fíjate que los servicios pueden estar asociados a un Nivel 1 ó 2
Pero no mezclados eso es una condición que yo pondré

Me comentaste de unos controles pero la verdad o no se o me perdi
me dijiste q agrupara los botones... pero te soy sincero no se como hacerlo

Me gustaría que los caption de los botones provengan directamente de los valores de las tablas de la base de datos y que la cantidad de botones sea definida al espacio del formulario ejemplo máximo por decir 10 botones x pantalla, si son mas de 10 aparezca el botón siguiente. cuando seleccione el nivel 1 del menu paso al menu 2 o al menu de servicios selecciono el q voy a agregar... paso a una pantalla de confirmacion donde me muestra

JESUS AGUILERA (EL SERVIDOR)

DESEA AGREGAR: Tinte Marca WELLA

AL CLIENTE: Maria Mora
[CONFIRMAR] [ANULAR]

si anulo voy a la pantalla principal obvio si Confirmo allí es cuando guardo en la base de datos que se muestra en el grid principal

me ayudas paso a paso???

Gracias de Antemano


Re: Hola Jose 1/2
Buenisimo... estas autorizado... todo lo que venga de ayuda es bueno... luego de todo eso voy a construir un turorial en word o pdf paso a paso con las pantallas identificando cada componente o cada cosa... que haga, eso si... colocandote los creditos que te mereces...

bueno manos a la obra...

nota: el delphi 2010 es el Embarcadero XE2 ???


He de decir, que la demo esta hecha de manera rápida, así que es probable, que pueda tener algún error, que la he hecho en firebird, que esta con componentes estándar + el imagengrid de los componentes del Clubdelphi y los míos propios, tanto los del ccd como los míos son totalmente gratuitos.

La demo es eso una demo, lo que muestro es como aplicar un programa a los sistemas táctiles, el tamaño de las pantallas es de 800 x 1000, me he basado en el texto del compañero A-CLICk sólo en ciertos puntos, lo que he hecho es una visión personal de como hacer este tipo de programas, espero os sea útil y sirva para algo.

Os pondré algunas pantallas y comentarios, así como la estructura d las tablas, y subiré al final el programa al FTP del club. 
  • 0

#2 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:16

Comenzamos con las 12 tablas, no haré comentarios, si existe alguna duda ya sabéis comentar, e intentare ser explicito

CREATE TABLE CITAS (
    ID        INTEGER NOT NULL,
    FECHA    DATE,
    HORA      TIME,
    CLIENTE  VARCHAR(20),
    TRABAJO  VARCHAR(80),
    OPERARIO  VARCHAR(20)
);


CREATE TABLE CLIENTES (
    ID        INTEGER NOT NULL,
    NOMBRE    VARCHAR(80) NOT NULL,
    TELEFONO  VARCHAR(20),
    ANOTACION  VARCHAR(150),
    CODIGO    VARCHAR(20)
);


CREATE TABLE TRABAJOSDETALLE (
    ID            INTEGER NOT NULL,
    IDENTIFICADOR  INTEGER,
    TRABAJO        VARCHAR(20),
    OPERARIO      VARCHAR(20),
    FECHA          DOUBLE PRECISION,
    HORA          TIME,
    CANTIDAD      INTEGER,
    IMPORTE        NUMERIC(15,4),
    DESCUENTO      NUMERIC(15,4),
    IMPUESTO      NUMERIC(15,4)
);


  • 0

#3 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:19

Seguimos con la segunda tandada de tablas

CREATE TABLE CONFIGURACION (
    ID                INTEGER NOT NULL,
    IMPUESTO1          NUMERIC(15,4),
    IMPUESTO2          NUMERIC(15,4),
    IMPUESTO3          NUMERIC(15,4),
    IMPUESTO4          NUMERIC(15,4),
    NOMBREDELIMPUESTO  VARCHAR(20),
    NOMBREIMPUESTO1    VARCHAR(20),
    NOMBREIMPUESTO2    VARCHAR(20),
    NOMBREIMPUESTO3    VARCHAR(20),
    NOMBREIMPUESTO4    VARCHAR(20),
    NUMERO            VARCHAR(20),
    SERIE              VARCHAR(3),
    COLORA            VARCHAR(20),
    COLORB            VARCHAR(20),
    COLORACTIVO        VARCHAR(20),
    COLORNOACTIVO      VARCHAR(20)
);


CREATE TABLE CORTES (
    ID      INTEGER NOT NULL,
    CODIGO  VARCHAR(20) NOT NULL,
    CORTE    VARCHAR(80) NOT NULL,
    IMPORTE  NUMERIC(15,4) NOT NULL,
    IMAGEN  BLOB SUB_TYPE 0 SEGMENT SIZE 80
);


CREATE TABLE EMPLEADOS (
    ID        INTEGER NOT NULL,
    CODIGO    VARCHAR(20),
    NOMBRE    VARCHAR(80),
    COMISION  NUMERIC(15,4),
    IMAGEN    BLOB SUB_TYPE 0 SEGMENT SIZE 80
);


  • 0

#4 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:21

La tercera de tablas

CREATE TABLE LAVADOS (
    ID      INTEGER NOT NULL,
    CODIGO  VARCHAR(20) NOT NULL,
    LAVADO  VARCHAR(80) NOT NULL,
    IMPORTE  NUMERIC(15,4) NOT NULL
);


CREATE TABLE PEINADOS (
    ID      INTEGER NOT NULL,
    CODIGO  VARCHAR(20) NOT NULL,
    PEINADO  VARCHAR(80) NOT NULL,
    IMAGEN  BLOB SUB_TYPE 0 SEGMENT SIZE 80,
    IMPORTE  NUMERIC(15,4)
);


CREATE TABLE PROMOCIONES (
    ID        INTEGER NOT NULL,
    CODIGO    VARCHAR(20),
    PROMOCION  VARCHAR(80),
    IMPORTE    NUMERIC(15,4)
);


  • 0

#5 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:24

A por la última de tablas

CREATE TABLE TINTES (
    ID      INTEGER,
    CODIGO  VARCHAR(20),
    TINTE    VARCHAR(80),
    IMPORTE  NUMERIC(15,4)
);


CREATE TABLE TRABAJOS (
    ID          INTEGER NOT NULL,
    NUMERO      VARCHAR(20) NOT NULL,
    CLIENTE    VARCHAR(20) NOT NULL,
    FECHA      DATE,
    HORA        TIME,
    PAGADO      VARCHAR(1),
    SUBTOTAL    NUMERIC(15,4),
    IMPUESTOS  NUMERIC(15,4),
    DESCUENTOS  NUMERIC(15,4)
);


CREATE TABLE TRABAJOSDETALLE (
    ID            INTEGER NOT NULL,
    IDENTIFICADOR  INTEGER,
    TRABAJO        VARCHAR(20),
    OPERARIO      VARCHAR(20),
    FECHA          DOUBLE PRECISION,
    HORA          TIME,
    CANTIDAD      INTEGER,
    IMPORTE        NUMERIC(15,4),
    DESCUENTO      NUMERIC(15,4),
    IMPUESTO      NUMERIC(15,4)
);


Estas dos últimas están con un FORINGKEY del IDENTIFICADOR=ID
  • 0

#6 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:30

Como podemos ver son tablas muy simples, cortas, ya que debemos tener en cuenta que al ser un programa táctil, debe contener la menor cantidad de datos a rellenar por el usuario, ni estoy usando todos los campos en el programa, pero sería los menos que necesitaríamos, por supuesto, para un programa comercial, faltan campos e incluso más tablas, pero recordar que es una demo.

Ahora comenzare con las pantallas, ya se que no estáis muy de acuerdo con el diseñe de las mismas, pero diré que en este caso, no podemos usar componentes pequeños.

El código, esta casi sin comentarios y si pongo algo en los siguientes post, será algo muy determinado.

Si existen dudas, ya sabéis, preguntar aquí e intentaré explicarme.
  • 0

#7 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 12:52

he subido la demo, la encontrareis en la zona de descargas http://www.delphiacc...a=myfiles;u=159
con el nombre DEMOTOUCH, dentro veréis, varios zip los DEMOTOUCH y DEMOTOUCH-1, son el ejecutable y la base de datos, las fuentes e imágenes usadas están en los otros dos zip (para poder descargarla debe estar aprobada, así que esta pendiente, si no queréis esperar, podéis bajarla de

http://terawiki.club...toriales_Demos/ con el nombre DEMOTOUCH-2
  • 0

#8 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:01

Comenzamos con el menú

Imagen Enviada

como es un programa táctil, no podemos usar un menú convencional, por lo que he optado, por botones directos, pero se pueden usar componentes para ellos como el ouctloockbar, toolbar, coolbar, Rainbow, etc para nuestros menús, recordar que sólo estoy dando ciertos concejos.

Como veréis puse un MonthCalendar, al pulsar en un día nos dirá las citas que tenemos en el Listiview, seria mucho más practico poner un Calendar y cambiar con Botones SPIN tanto el mes como el año, pero ya tenia esto avanzado cuando me acorde, así que os lo dejo así, pero ya comento que no es lo más adecuado.

También podéis a preciar, que sólo tenemos dos opciones de trabajo, que son citas y facturar/cobrar, ya iremos comentando cada una
  • 0

#9 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:05

Ahora toca al módulo de empleados

Imagen Enviada

Como podéis ver sencillo y sin pretenciones, como siempre tiene los botones cargar imagen y pegar desde el clipboard la imagen, fuera de esto nada que destacar
  • 0

#10 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:09

El módulo clientes

Imagen Enviada

en esta destacar aún menos, si acaso, que aquí al igual que la anterior si deberíamos tener algún dato más si fuera un programa  terminado y no una demo.
  • 0

#11 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:14

El módulo de cortes de pelo

Imagen Enviada

Como veis es casi siempre más o menos lo mismo, lo único, es que yo no me di cuenta hasta más tarde, en los códigos, debería haber usado un sistema más identificativo, despues lo arregle pero los código debían haber sido como "Cor-xx"

  • 0

#12 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:21

Módulo lavar

Imagen Enviada

muy básico
  • 0

#13 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:25

Módulo de peinados

Imagen Enviada

debo decir¡que a mi generalmente me gusta pantallas grandes y que ocupen toda la pantalla, también es cierto que yo trabajo con resoluciones muy altas, pero creo que estas pantallas son bastante proporcionales a los componentes que estamos usando.
  • 0

#14 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:29

Módulo de tintes

Imagen Enviada

por cierto, como siempre los botones de impresión no tienen código asociado.
  • 0

#15 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:33

módulo de Combos

Imagen Enviada

Si os dais cuenta en el Statusbar, sigue apareciendo a las 8:20 de la mañana buenas noches, se trata de cambiar los indices de tiempos en el evento timer, referidos a este apartado, seguro que de este tipo de errores encontrareis varios
  • 0

#16 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:35

El módulo promociones

Imagen Enviada
  • 0

#17 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 01:39

el módulo configuración

Imagen Enviada

Los módulos que vienen ahora son un poco más extensos.
  • 0

#18 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 02:09

el módulo citas, que lo vamos a dividir en varias partes

Imagen Enviada

Esta es la pantalla principal, como podemos ver tenemos varios datos y acciones posible

[img width=603 height=600]http://nsae01.casimages.net/img/2013/08/04/130804100327218390.jpg[/img]

1) Como podemos ver rellenamos la fecha, hora y el operario (empleado) y damos al botón buscar cita

2) Si encuentra la cita  nos posiciona, en caso contrario, nos da la opción de crearla

[img width=493 height=600]http://nsae01.casimages.net/img/2013/08/04/13080410060690288.jpg[/img]

Veamos ahora las diferentes pestañas, de trabajo posibles, iguales a estas las usaremos en el siguiente módulo, a excepción de la primera

1) nos muestras las citas del día según el registro de citas y donde estemos posicionados, es la pestaña por defecto de este pageControls, en varias opciones de este módulo

2) los botones nos permiten movernos por las pestañas del pageControl, con más facilidad que pulsando en sus pestañas

3) Pestaña de cortes, este es el componente imagenGrid de los componentes ccd podéis bajarlos de http://componentes.clubdelphi.com/

4) Pestaña de lavados

5) Pestaña de Peinados

6) Pestaña de Tintes

7) Pestaña de Combos

8) Pestaña de promociones


Claro esta en algunas tenemos un DBNavigator, podríamos poner un campo edit y hacer búsquedas o filtros, pero esa es una opción
  • 0

#19 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 02:26

Vamos con el último módulo Facturar


Imagen Enviada

como podemos ver lo hemos dividido en varias partes

1) botones de la tabla maestro

2) Botones para cambiar entre las pestañas de maestro y detalle y botones de la tabla detalle

3) Datos a rellenar para la tabla maestro

4) Pagecontrol con varias pestañas, que vimos en el módulo anterior, salvo la primera, que nos muestra la tabla detalle en grid y el apartado 6

5) Datos del trabajo actual y descripción del operario y el cliente

6) Cálculos del presente trabajo y si esta cobrada o no

7) Datos necesarios para el detalle

8) Botones con el valor de los impuestos que hemos puesto en configuración

9) Subtotal del detalle activo en ese momento

10) botonera para las pestañas, ya la vimos en el módulo anterior

A parte de esto tenemos en la parte inferior izquierda dos botones, el de impresión (para imprimir) y el de cobrara, este lo único que hace es marcar como cobrada el presente trabajo (Factura)
  • 0

#20 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 04 agosto 2013 - 02:44

Bueno hemos dicho que ya estaban todos los módulos, pero no hemos dicho como introducimos los datos, para ello usamos la unidad Ueditor, que se divide en las siguientes partes, este módulo esta dividido en 3 partes muy claras,

un page control (no veréis las diferentes pestañas que ya las comentaremos por qué el tabheight y el tabWidth estan a 1),

un teclado (viene por defecto en delphi 2010 en adelante (no estoy seguro de versiones anteriores) pero en la que no lo tengan, se pueden usar componentes de teclados virtuales, he incluso montar uno con sppedbuttos)

Un panel con cuatro botones, estos tienen asignadas teclas, pero como se supone que usamos un sistema táctil no podremos usarlas esta teclas son:

Borrar- borra el contenido, si esto es posible claro, permitiendo devolver vacio un contenido o rectificar simplemente.

Texto- Nos permite poner el texto por defecto, que hemos asignado por código

Pasar y salir- Sale de la actual pantalla, pero nos devuelve el contenido que hemos modificado a nuestro componente

Cancelar y Salir - Sale y no modifica nada.
  • 0




IP.Board spam blocked by CleanTalk.