Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2008
IgnacioHaro IgnacioHaro is offline
Miembro
 
Registrado: oct 2007
Posts: 19
Poder: 0
IgnacioHaro Va por buen camino
Question Progress Bar dentro de un grid

buenas tardes, alguien sabe de algun componente o alguna forma de poner un progress bar dentro de un grid ??

le agradeceria mucho la ayuda.
Responder Con Cita
  #2  
Antiguo 19-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
eso si se me hace raro!
He visto como poner un progressbar en un StatusBar pero ¿en un dbgrid? ¿para que? curiosidad
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #3  
Antiguo 19-09-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
tal vez sea para mostrar el porcentaje.

ejemplo

una tabla con las ventas del dia..

y ahi una donde se ponga si se vendio todo. la mitad. etc
con un progressbar se puede mostrar graficamente.
Responder Con Cita
  #4  
Antiguo 19-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si te refieres a lo que comenta JXJ, te puede servir este hilo en donde pongo un ejemplo.

// Saludos
Responder Con Cita
  #5  
Antiguo 19-09-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y por si fuese poco, en el blog del compañero Neftali hay otro ejemplo: http://neftali.clubdelphi.com/
Responder Con Cita
  #6  
Antiguo 19-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Este, aunque en realidad no es un progressbar, simplemente es mostrar un porcentaje de forma visual.

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 20-09-2008
IgnacioHaro IgnacioHaro is offline
Miembro
 
Registrado: oct 2007
Posts: 19
Poder: 0
IgnacioHaro Va por buen camino
Thumbs up listo

muchas gracias me sirvio bastante

ya pude crear mi progressbar, ya podre terminar mi proyecto
Responder Con Cita
  #8  
Antiguo 23-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Felicidades! que bueno que te sirvio lo que te comentaron, ahora ¿podrias publicar tu solucion? esto para retroalimentar a la comunidad.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #9  
Antiguo 30-09-2008
IgnacioHaro IgnacioHaro is offline
Miembro
 
Registrado: oct 2007
Posts: 19
Poder: 0
IgnacioHaro Va por buen camino
Cool solucion

hola, disculpen, aqui esta la forma en q lo hice:

q_curacion es un TZQuery y cada segundo hago un refresh al query con un TTimer.

En esta pantalla voy insertando registros en una BD y le digo en que fecha y hora empieza y en que fecha y hora termina, y durante este tiempo se debera mostrar una barra de progreso representando el procentaje de los minutos transcurridos.

Código Delphi [-]
procedure Tf_telecuracion.dbg_telecuracionDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  fValue,minTotal, minTrans: Integer;
  ActualPenColor, ActualBrushColor: TColor;
  EmptyDS: Boolean;
  DrawRect: TRect;
  fWidth1, fLeft2: Integer;
  StrValue: string;
begin
  // Es la columna de progreso ?
  if not (Column.FieldName = 'progreso') then begin
    Exit;
  end;
  minTotal:= MinutesBetween(q_curacion.FieldByName('inicio').AsDateTime, q_curacion.FieldByName('final').AsDateTime);
  minTrans:= MinutesBetween(q_curacion.FieldByName('inicio').AsDateTime, now);
  fValue:= minTrans * 100 DIV minTotal;
  if fValue > 100 then
     fValue:= 100;
  StrValue := IntToStr(fValue) +  CHAR_PERCENT;
  // Calcular el Rectángulo
  DrawRect := Rect;
  InflateRect(DrawRect, -1, -1);
  fWidth1 := Round((DrawRect.Right - DrawRect.Left) * (fValue / 100));
  // Guardamos el color actual
  ActualPenColor := TDBGrid(Sender).Canvas.Pen.Color;
  ActualBrushColor := TDBGrid(Sender).Canvas.Brush.Color;
  // Definir el color de pintado
  TDBGrid(Sender).Canvas.Pen.Color := clHighlight;
  TDBGrid(Sender).Canvas.Brush.Color := clWhite;
  // Dibuja el recuadro exterior
  TDBGrid(Sender).Canvas.Rectangle(DrawRect);
  // Es diferente de 0 y de -1(null)?
  if (fValue > 0) then begin
    // Dibuja la parte que llevamos completada (porcentage)
    TDBGrid(Sender).Canvas.Pen.Color := clGreen;
    TDBGrid(Sender).Canvas.Brush.Color := clGreen;
    // rectángulo del porcentaje
    DrawRect.Right := DrawRect.Left + fWidth1;
    InflateRect(DrawRect, -1, -1);
    TDBGrid(Sender).Canvas.Rectangle(DrawRect);
  end;
  // porcentaje
  DrawRect := Rect;
  InflateRect(DrawRect, -2, -2);
  TDBGrid(Sender).Canvas.Brush.Style := bsClear;
  fLeft2 := DrawRect.Left + (DrawRect.Right - DrawRect.Left) shr 1 -
            (TDBGrid(Sender).Canvas.TextWidth(StrValue) shr 1);
  // Pintar el texto
  TDBGrid(Sender).Canvas.TextRect(DrawRect, fLeft2,
                                  DrawRect.Top + SPACE_TO_CENTER_CELLTEXT, StrValue);
  // Restaurar
  TDBGrid(Sender).Canvas.Pen.Color := ActualPenColor;
  TDBGrid(Sender).Canvas.Brush.Color := ActualBrushColor;
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
SplashScreen + Progress Bar lKinGl Varios 1 14-04-2008 02:13:15
comparar dentro de un grid lynu Varios 2 24-08-2006 01:13:41
Progress Bar al compactar BD Nbull Varios 5 28-02-2005 10:14:16
Problemas Con Progress Bar UTECYBER OOP 4 08-10-2003 18:31:14
I'm progress Neo Varios 2 19-06-2003 20:01:00


La franja horaria es GMT +2. Ahora son las 04:18:18.


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