Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Necesito ideas para interfase visual (https://www.clubdelphi.com/foros/showthread.php?t=57339)

MaMu 12-06-2008 06:26:31

Necesito ideas para interfase visual
 
Resulta que quiero mostrar la composicion general de familias de animales en cría, donde hay 1 macho apareado con 5 o más hembras, a su vez, quiero mostrar las crias si es que tienen, acompañando a los datos de cada hembra.
Como buscar y ordenar los datos, es lo de menos, lo que no se me ocurre que componente visual utilizar para esto. Imaginen que quiero mostrarlo tipo naipes, es decir tarjetas individuales de cada animal, agrupadas por familia.
A cada hembra puedo ponerle un DBGrid el cual llenar si con las crias. Pero no se me ocurre que usar para todo el conjunto, porque? porque si fuera una sola familia, no tendria problema, pero por ahi, son 100 familias, y la idea es poder visualizar al vuelo desplazandome con alguna scrollbar.
Bueno, quedo abierto a cualquier sugerencia.

Saludos y muchas gracias.

Lepe 12-06-2008 11:33:34

A problemas complejos, soluciones simples.

Frames creados en tiempo de ejecución dentro de un Scrollbox (por aquello del Scroll).

Lo de los naipes no lo he pillado, ¿buscas algo tipo aero del vista?

Si buscas realizar un árbol genealógico, podria hacerse de esta forma.

Saludos

AzidRain 12-06-2008 16:30:40

Utiliza un TTreeView. Es lo ideal para lo qe quieres hacer, que es un "Arbol Genealógico" y se entiende casi de inmediato para el usuario. Además puedes "colgarle" a los nodos del arbol cualquier objeto ya sea que tu diseñes o algún otro existente, se me ocurre lo de la fichita. Puedes hacer una clase que contenga los datos del animal con foto y todo y visiualizarlo mediante otra clase Ficha que tu diseñes. A cada nodo del arbole cuelgas un objeto con datos del animal y cuando se haga doble click se abre la ficha correspondiente. Se podrían abrir las fichas de forma indpendiente, es decir, de forma no modal.

MaMu 12-06-2008 17:53:06

Cita:

Empezado por Lepe (Mensaje 293011)
Lo de los naipes no lo he pillado, ¿buscas algo tipo aero del vista?

Si, lo más parecido.

Lepe 12-06-2008 19:11:41

En los equipos donde suelo instalar mis programas, dudo que soporte tal derroche de recurso :D. Para sitios Youtube donde vas sin prisas, pues sí, queda bonito, pero para una persona que está trabajando, que necesita la ficha del perro ya ......shhhhhhh ssssuelta el ratón bobby !!! ¡¡quieto bobby !! ¡¡quieto!! ;) como que no lo veo ;).

(imagina que delphi reproduce una animación cada vez que pones un botón en un TForm y tienes que esperar a que termine la animación ;)).

Saludos y espero recapacites.

AzidRain 12-06-2008 21:24:22

Aqui vengo con mi teoría del modelo del usuario sobre el deseo del programador.

Cuando uno desarrolla y encuentra bellezas como Delphi, que cuentan con muchísimos componentes fáciles de usar y a esto le añadimos los mil y un trucos que hay en el club y otros lugares además de las bibliotecas de terceros super complentas, fácilmente cae uno en la tentación de tratar de hacer interfases muy bonitas, brillantes, sorprendentes y nos olvidamos de lo verdaderamente importante: lo que el usuario (no el cliente que va a pagar) espera que haga nuestro software.

Hay softwares con interfases sobrias y quizá hasta un poco feítas que sin embargo realizan su función tal como esperamos y nos resuelven el problema sin mucho esfuerzo y de la forma que pensamos debe hacerlo.

El mismo windows per se ya nos proporciona varias formas digamos "estándares" en las que nuestro software debe funcionar, de hecho el usuario que ya ha usado windows esperará que nuestro software funcione de la forma que funciona todo lo demás que ya usa.

Otro problema que nosotros mismos generamos surge al momento de trasladar un objeto real a un objeto virtual, siendo que no son lo mismo. En este caso que vemos, podríamos caer en la tentación de modelar un TAnimal como wrapper del animal verdadero y ponerle tantas o cuantas propiedades queramos. Esto al final nos va a arrojar diagramas muy bonitos que nos servirán para engrosar la documentación que entreguemos pero nuevamente nos alejamos de nuestro objetivo: resolver el problema del cliente.

Si empezamos nuestro diseño pensando primero en como resolver todos los problemas planteados y codificamos para ello, será mucho más fácil crear la interfase.

Tenemos por lo tanto que entrevistarnos con los que serán los usuarios de cada parte de nuestro sistema para poder entender como es que ellos ven al sistema, claro, ayudándoles con mejoras que ellos no han visto todavia. Por ejemplo:
Cita:

Prog:Como harías(haces) el trabajo tal.
Usario: "Bueno, primero reviso que el animal tenga tal y tal dato...luego...etc.
Prog.: Bien, te ayudaría si al poner el nombre o id del animal te muestre automáticamente sus hijos

[Opcion 1]
Usuario: No mucho, porque en realidad para esta tarea no necesito esa información.

[Opcion 2]
Usuario: Si, bastante porque de ahi puedo tomar tal o cual dato.
Como podemos ver la respuesta del usuario ya nos dá una guía para la interfase, está claro que si al usuario no le sirve algo no hay necesidad de codificarlo y ponerlo. Es como el famoso caso de los menús de Word o Excel, la cantidad de items en ellos es considerable y sin embargo el usuario promedio solo usa unos cuantos. Es decir que si quitáramos a esos programas todas las opciones que no se usan mucho el usuario aún estaría satisfecho con él.

Como es obvio, a menores opciones que codificar menor tiempo de desarrollo y obviamente mejores condiciones para negociar con el cliente un buen precio y obtener buenas utilidades.

REGLA DE ORO DEL DESARROLLO A MEDIDA:

" Si no te lo pidieron y no sabes si lo necesitan, no lo codifiques"

Así de simple.

MaMu 13-06-2008 15:11:28

Bueno, los consejos son muy buenos. En si, esta parte del desarrollo me lo han pedido como algo primordial: se tienen que ver las fichas de cada animal individual agrupadas por familia, es decir, cada ficha como el juego "Solitario" de windows, donde la ficha de una hembra, puede o no, contener listado de crias. La idea, es que se muestre por filas las fichas de cada familia, cosa de poder recorrer al vuelo y de forma visual, todas las familias. Sigo pensando que componente usar, una suerte de DBCtrlGrid, ya que este ultimo tiene ciertas restricciones en la insercion de componentes.
Tengo todo en una sola tabla:

PlantelCanes
idcan //index
nacimiento //fecha de nacimiento, con esta calculo edad y vacunas
sexo
nombre //sultan, boby, napoleon...
raza //Cocker, Gran Danes, Pastor Aleman....
num_familia //Familia a la que pertenece
estado //Cachorro sin destetar, Cachorro Desteteda, Reproductor, etc.

Seguire pensando que usar.
Saludos

AzidRain 13-06-2008 22:47:38

Puedes hacer como te comenté con el TreeView que solo contenga a todos los machos y agrupadas a todas las hembras "esposas" de cada macho, haciendo click en una Hembra te aparece la ficha que contendrá un Grid dpnde se muestran los hijos de esa hembra.

Lepe 14-06-2008 10:22:22

¿Has visto el "Calendario dinámico con frames"?

En lugar de calendario, obviamente sería la ficha de cada animalito ;).

Al González 14-06-2008 17:08:22

Sólo anotar que es interfaz, no interfase. ;)


La franja horaria es GMT +2. Ahora son las 06:32:53.

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