Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo armaria un GridPanel en donde cada celda tendria una Imagen o un Shape clickeable. Creo que deberias contemplar dos estados, vacio u ocupado, y cada estado deberia tener una imagen o el shape podria variar de color

No hay algun ejemplo de algun sistema que haga algo similar?
Responder Con Cita
  #2  
Antiguo 10-11-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por AgustinOrtu Ver Mensaje
Yo armaria un GridPanel en donde cada celda tendria una Imagen o un Shape clickeable. Creo que deberias contemplar dos estados, vacio u ocupado, y cada estado deberia tener una imagen o el shape podria variar de color

No hay algun ejemplo de algun sistema que haga algo similar?
Pensé en lo mismo. Aunque también podría hasta ser válido un panel que se le podría cambiar de color según el estado. El elemento que se ponga en el GridPanel es de menos, mientras sirva para ilustrar/mostrar/representar los estados.
Lo bueno de poner un TImage es que le podemos colocar algún dibujo. Verde libre, Rojo ocupada, amarilla reservada... o con muñequitos...

La imaginación es el límite.

Obviamente por debajo, internamente, tendría una "estructura" que maneje y controle esto de forma lógica.

Y si se quiere liarla parda.... diseñaría que el item a poner en el GridPanel sea un Frame y crearía tantas instancias requiera. Lo lindo de tener el frame es que diseño uno con toda la lógica y funcionalidad tanto visual como para "traducir" los estados visualmente a su representación lógica, y su inversa. Luego pongo sus instancias y todas trabajando sin problemas.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 10-11-2016 a las 00:11:28.
Responder Con Cita
  #3  
Antiguo 10-11-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Yo también pienso que no va a ser fácil conseguir un componente que haga ese trabajo... Pero vamos que con un poquito de trabajo y algunos paneles se logra un esbozo sin problemas:


Y el código es lo menos fatigoso:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to PopupMenu1.Items.Count-1 do
    PopupMenu1.Items[i].Tag := 100 + i;
end;

procedure TForm1.MenuItemClick(Sender: TObject);
var
  pn: TPanel;
begin
  pn := TPanel(PopupMenu1.PopupComponent);
  case TMenuItem(Sender).Tag of
    100: pn.Color := clLime;
    101: pn.Color := clYellow;
    102: pn.Color := clRed;
  end;
  pn.Tag := TMenuItem(Sender).Tag;
end;

// (Esto si deseas que funcione con click izq. también )
procedure TForm1.PanelClick(Sender: TObject);
begin
  PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
  PopupMenu1.PopupComponent := TPanel(Sender);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-11-2016 a las 14:44:54.
Responder Con Cita
  #4  
Antiguo 10-11-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Yo también pienso que no va a ser fácil conseguir un componente que haga ese trabajo... Pero vamos que con un poquito de trabajo y algunos paneles se logra un esbozo sin problemas:


Y el código es lo menos fatigoso:
Código Delphi [-]procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 0 to PopupMenu1.Items.Count-1 do PopupMenu1.Items[i].Tag := 100 + i; end; procedure TForm1.MenuItemClick(Sender: TObject); var pn: TPanel; mi: TMenuItem; begin pn := TPanel(PopupMenu1.PopupComponent); case TMenuItem(Sender).Tag of 100: pn.Color := clLime; 101: pn.Color := clYellow; 102: pn.Color := clRed; end; pn.Tag := TMenuItem(Sender).Tag; end; // (Esto si deseas que funcione con click izq. también ) procedure TForm1.PanelClick(Sender: TObject); begin PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); PopupMenu1.PopupComponent := TPanel(Sender); end;


Saludos
Pues si. Con paneles también se puede jugar muy fácil. Por lo que veo te pusiste a distribuir unos cuantos paneles bien bonito y a todos les indicaste que hagan uso del OnClick del primero.
Mi pregunta es si para crear y ubicar esos frames usaste algún control como el GridPanel o lo "calculaste" a mano donde debe ir cada uno. El código no da mucha pista de esto.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 10-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
El TGridPanel que yo sepa aparecio en Delphi 2006

En ese mismo articulo se habla un poco del componente, y tambien del TFlowPanel que me parece que merece su consideracion
Responder Con Cita
  #6  
Antiguo 10-11-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por AgustinOrtu Ver Mensaje
El TGridPanel que yo sepa aparecio en Delphi 2006

En ese mismo articulo se habla un poco del componente, y tambien del TFlowPanel que me parece que merece su consideracion
Ahora que hago memoria ecfisa usa D7.
Asi que intuyo que los "organizó" a "mano"

Pensé inicialmente en el TFlowPanel, pero luego vi que el GridPanel permite ubicar con cierta facilidad los controles de manera equitativa. Yo mucho no entiendo cuando conviene uno u otro. Tienen sus similitudes, pero también por algo son diferentes.
Como que el GridPanel te permite "dibujar" y calzar los elementos de una forma y posición determinada. Mientras que el FlowPanel te los va calzando/acomodando según el espacio que tenga disponible.
Pero que más los hace diferentes, no se.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 10-11-2016 a las 02:20:07.
Responder Con Cita
  #7  
Antiguo 10-11-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delphius.

Si así es, en el ejemplo ubiqué los paneles a mano (no dispongo del TGridPanel).

Volviendo al caso, creo que existe un factor importante que dificulta tratar de estandarizar el uso de plantillas en modo gráfico. Es que existen múltiples distribuciones de los asientos entre los diferentes fabricantes de carrocerías y cada uno de ellos con distintos modelos: cama, semicama, doble piso, filas simples, filas dobles, ...
Una plantilla de tipo gráfico, al estilo de algunos programas de reservas de vuelos, complicaría bastante la implementación y requeriría mucho mantenimiento debido a los cambios de ómnibus.

Sin dudas usar una grilla será mucho mas flexible y requerirá muy poco mantenimiento en el tiempo.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 10-11-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Hola Delphius.

Si así es, en el ejemplo ubiqué los paneles a mano (no dispongo del TGridPanel).

Volviendo al caso, creo que existe un factor importante que dificulta tratar de estandarizar el uso de plantillas en modo gráfico. Es que existen múltiples distribuciones de los asientos entre los diferentes fabricantes de carrocerías y cada uno de ellos con distintos modelos: cama, semicama, doble piso, filas simples, filas dobles, ...
Una plantilla de tipo gráfico, al estilo de algunos programas de reservas de vuelos, complicaría bastante la implementación y requeriría mucho mantenimiento debido a los cambios de ómnibus.

Sin dudas usar una grilla será mucho mas flexible y requerirá muy poco mantenimiento en el tiempo.

Saludos
Puede ser, pero se pueden diseñar formas de sortear estos problemas.
Por ejemplo nada impide tener en un archivo (o hasta incluso en una BD) almacenado como sería el "mapa" de distribución de elementos. Se lee esto, se establecen las filas y columnas necesarias del GridPanel y se colocan los items adentro siguiendo dicha distribución.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Asignar memoria doctorhd OOP 2 06-05-2015 10:18:54
Asignar Evento AndyLupa Varios 4 17-06-2011 18:54:53
Asignar un dbgrid yhoda SQL 5 15-05-2007 21:02:44
Asignar NIL a un formulario Caro OOP 5 17-08-2006 19:55:00
Asignar maskedit soloriv Varios 2 28-07-2005 17:29:48


La franja horaria es GMT +2. Ahora son las 16:47:41.


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