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
  #21  
Antiguo 22-03-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Yo sólo he modificado el demo 26, por lo que el campo color se encuentra en la tabla Schedules.
El código que utilizo ya lo había puesto más arriba en el mensaje #12, pero te lo incluyo de nuevo porque le agregué la opción de bloquear una habitación.
Estos procedimientos yo los he colocado en el menú del PopUpMenu porque me parece más ordenado, pero los puedes colocar en botones si lo deseas.

Para reservar una habitación (Color verde:= $00B9FFB9)

Código Delphi [-]
procedure TFPrincipal.ReservarHabitacion1Click(Sender: TObject);
begin
ADOTable1.Active:= True;
if (ADOTable1.Fields.FieldByName ('Notes').AsString= 'Habitación bloqueada') then
begin
ADOTable1.Edit;
ADOTable1.Fields.FieldByName ('Notes').Clear;
ADOTable1.Post;
end
else
begin
dbplanner1.PopupPlannerItem.Color := $00B9FFB9;
dbplanner1.PopupPlannerItem.Update;
FillPlanner;
end;
end;

Para asignar una habitación(Color gris claro)

Código Delphi [-]
procedure TFPrincipal.AsignarHabitacion1Click(Sender: TObject);
begin
ADOTable1.Active:= True;
if (ADOTable1.Fields.FieldByName ('Notes').AsString= 'Habitación bloqueada') then
begin
ADOTable1.Edit;
ADOTable1.Fields.FieldByName ('Notes').Clear;
ADOTable1.Post;
end
else
begin
dbplanner1.PopupPlannerItem.Color := clWhite;
dbplanner1.PopupPlannerItem.Update;
FillPlanner;
end;
end;

Para bloquear una habitación(Color gris oscuro)

Código Delphi [-]
procedure TFPrincipal.BloquearHabitacion1Click(Sender: TObject);
begin
ADOTable1.Active:= True;
ADOTable1.Edit;
ADOTable1.Fields.FieldByName ('Notes').AsString:= 'Habitación bloqueada';
ADOTable1.Post;
dbplanner1.PopupPlannerItem.Color := clGray;
dbplanner1.PopupPlannerItem.Update;
FillPlanner;
end;

Para eliminar una reserva o asignación

Código Delphi [-]
procedure Pulsar(Key: Byte);
begin
keybd_event(Key, 0, 0, 0);
keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
end;

Código Delphi [-]
procedure TFPrincipal.Eliminar1Click(Sender: TObject);
begin
Pulsar(VK_DELETE);
end;

El efecto 3D de los ítems se obtiene en mi caso asignando en DefaultItem>ColorTo:= $002E2E30, que es un gris oscuro. Por supuesto tú puedes elegir los colores que más te agraden. La barra verde brillante en el margen superior de cada ítem la asignas en DefaultItem>TrackColor, colocando TrackVisible:= True.
Ya te había señalado que este componente posee cientos de opciones de configuración y de diseño y que muchas de las funciones las puedes asignar a los ítems.
Saludos amadis y ojalá haya podido ayudarte.

Última edición por radenf fecha: 22-03-2014 a las 20:36:23.
Responder Con Cita
  #22  
Antiguo 26-03-2014
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Lo que me estaba faltando era en el DBPeriodSource1 un par de eventos que levantan y guardan los colores en la tabla.

Porque sin eso lo pintaba en tiempo de ejecucion pero la proxima vez perdía los colores.

Código Delphi [-]

procedure TFform1.DBPeriodSource1FieldsToItem(Sender: TObject;
  Fields: TFields; Item: TPlannerItem);
begin
  Item.Color := TColor(Fields.FieldByName('COLOR').AsInteger);
end;

procedure TFform1.DBPeriodSource1ItemToFields(Sender: TObject;
  Fields: TFields; Item: TPlannerItem);
begin
  Fields.FieldByName('COLOR').AsInteger := Integer(Item.Color);
end;
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
tsm Planner ayuda omarson Varios 2 28-04-2012 00:10:00
Componente PLANNER Jose Manuel Varios 0 24-09-2008 17:39:52
Reserva de memoria... andresenlared Varios 5 05-02-2008 22:13:36
reserva memoria c++ halizia C++ Builder 1 25-04-2006 18:09:52
Sacar habitaciones libres por dia - Problema consulta SQL- VRO Firebird e Interbase 0 01-09-2005 11:12:22


La franja horaria es GMT +2. Ahora son las 14:30:44.


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