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 04-08-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Pues si ya esta lo que necesito mostrar:

--------------------------------------------------------------------------------------------------------------------------
Primer Turno | Segundo Turno | Tercer Turno |
--------------------------------------------------------------------------------------------------------------------------
|Operaciones | Acumulado | |Operaciones | Acumulado | |Operaciones | Acumulado |
--------------------------------------------------------------------------------------------------------------------------
06:00 - 07:00 | 1500 | 75,000.00 |14:00 - 15:00 | 1500 | 75,000.00 |22:00 - 23:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
07:00 - 08:00 | 1500 | 75,000.00 |15:00 - 16:00 | 1500 | 75,000.00 |23:00 - 00:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
08:00 - 09:00 | 1500 | 75,000.00 |16:00 - 17:00 | 1500 | 75,000.00 |00:00 - 01:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
09:00 - 10:00 | 1500 | 75,000.00 |17:00 - 18:00 | 1500 | 75,000.00 |01:00 - 02:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
10:00 - 11:00 | 1500 | 75,000.00 |18:00 - 19:00 | 1500 | 75,000.00 |02:00 - 03:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
11:00 - 12:00 | 1500 | 75,000.00 |19:00 - 20:00 | 1500 | 75,000.00 |03:00 - 04:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
12:00 - 13:00 | 1500 | 75,000.00 |20:00 - 21:00 | 1500 | 75,000.00 |04:00 - 05:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
13:00 - 14:00 | 1500 | 75,000.00 |21:00 - 22:00 | 1500 | 75,000.00 |05:00 - 06:00 | 1500 | 75,000.00 |
--------------------------------------------------------------------------------------------------------------------------
Resumen | 12,000 | 600,000.00 |Resumen | 12,000 | 600,000.00 |Resumen | 12,000 | 600,000.00 |
--------------------------------------------------------------------------------------------------------------------------


La idea es mostrar los datos de fabricacion de una sola vista, que el operador no tenga que mover el raton o el teclado para actualizarse al momento. Las columnas horario son fijas y las filas de titulos tambien.

Por lo que he visto con el stringgrid solo podre hacerlo en forma vertical y explorar con la barra vertical, o la otra chapucera meter un TPanel y dentro de el tres (3) TStringgrid.

¿Alguna otra idea?
__________________
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
  #2  
Antiguo 04-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
No entiendo amigo.
Segun lo que veo necesitas dos lineas horizontales fijas arriba para los titulos y nueve columnas verticales fijas para los horarios y el resumen.
El resto de la informacion me imagino que sera sacada de la BD.
No entiendo el problema, el stringgrid puede hacer eso sin problemas.
Tal vez entiendo mal.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 04-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Aqui tienes un ejemplo de lo que pides.
Espero te de alguna idea.
Saludos
PD: No le pidas mucho es hecho por un Novato.
__________________
Siempre Novato

Última edición por Caral fecha: 10-09-2010 a las 23:41:47.
Responder Con Cita
  #4  
Antiguo 05-08-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
¿un TjvMemoryData? (jv = JEDI VCL)

lo puedes llenar con los campos que necesites y le puedes dar todo el manejo que le darías a una base de datos... al menos no tendrías que manejar todo como cadenas y tener que estar haciendo conversiones...

¿un clientdataset?
Este tiene las mismas ventajas que el TjvmemoryData más algunas otras monerías en caso de que lo fueras a enlazar a una base de datos...
__________________

Responder Con Cita
  #5  
Antiguo 05-08-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Bueno a lo que habia llegado hasta el momento es:

Código Delphi [-]
unit UfrmCaptura;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ComCtrls, TeEngine, ExtCtrls, TeeProcs, Chart;

type
  TfrmCaptura = class(TForm)
    StringGrid1: TStringGrid;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
  private
    { Private declarations }
    procedure InicializaStringGrid;
  public
    { Public declarations }
  end;

var
  frmCaptura: TfrmCaptura;

implementation

{$R *.dfm}

procedure TfrmCaptura.FormCreate(Sender: TObject);
begin
  InicializaStringGrid;
end;

procedure TfrmCaptura.FormShow(Sender: TObject);
begin
  //Unos datos solo para visualizar
  Stringgrid1.cells[1,2] := '12.000';
  StringGrid1.Cells[2,2]:= '50,000.00'; 
end;

//Este procedimiento llena las filas de la rejilla con los encabezados
procedure TfrmCaptura.InicializaStringGrid ;
var
  r,a,p: integer;
begin

   with StringGrid1 do
    begin
      Top := 8;
      Left := 8;
      Height := 279;
      Width := 246;

      ColCount := 3;
      RowCount:= 29;
      fixedRows := 2;
      fixedCols := 1;

      Cells[0,1] := 'Hora';
      ColWidths[0] := 80;

      Cells[1,1] := 'Operaciones';
      ColWidths[1] := 70;

      Cells[2,1] := 'Acumulado';
      ColWidths[2] := 70;
    end;
  
  //Aqui lleno los renglones de los horarios
  for r := 0 to 26 do  
    begin
      case r  of
        0 : begin
              a := 6;
              p := a + 1;
              StringGrid1.Cells[0,(r + StringGrid1.FixedRows )] := IntToStr(a)+ ':00' +
                                                      ' - ' +
                                                      IntToStr(p) + ':00';
            end;
        8,17,26 : StringGrid1.Cells[0,(r + StringGrid1.FixedRows )] := 'Resumen';
       20 : begin
              a := 0;
              p := a + 1;
              StringGrid1.Cells[0,(r + StringGrid1.FixedRows )] := IntToStr(a)+ ':00' +
                                                      ' - ' +
                                                      IntToStr(p) + ':00';
            end ;
       else
          begin
            a := p;
            p := p + 1;
            StringGrid1.Cells[0,(r + StringGrid1.FixedRows )] := IntToStr(a)+ ':00' +
                                                      ' - ' +
                                                      IntToStr(p) + ':00';
          end;
      end;
    end;


end;

//Este procedimiento alinea a la derecha el contenido de las celdas. Tambien da
//color a las columnas en el StringGrid 1
procedure TfrmCaptura.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var sCad: String;
    i: Integer;
begin
  If (ACol=1) Or (ACol=2) Then
    if ARow > 1 then //No quiero alinear la línea de títulos
      If StringGrid1.Cells[ACol,ARow] <> '' Then
        Begin
          sCad := StringGrid1.Cells[ACol,ARow];
          With StringGrid1 Do
            with Canvas,Rect do
              Begin
                Canvas.Brush.Style := bsSolid;
                case ACol of
                  1: Canvas.Brush.Color := clYellow;
                  2: Canvas.Brush.Color := clRed;
                end;
                i:=Right-TextWidth(sCad+' ');
                Canvas.FillRect(Rect);
                Canvas.TextOut(i,Top+2,sCad);
              End;
        End;
end;

end.

No pongo el archivo pues uso d2010 y parece ser que no es posible abrirlo con versiones anteriores. El formulario es un simple form con un StringGrid. El codigo de la Unit le da tamaño y posicion.

Editando: Caral como puedes ver para la columna horario estoy usando la propiedad FixedRows, tu ejemplo me dio otras ideas.

Contraveneno la verdad no me caen muy bien las jedi, ya d2010 se tarda años en arrancar y todavia cargar la JVCL..... De todos modos no hecho en saco roto tu propuesta.
Imágenes Adjuntas
Tipo de Archivo: jpg Rejilla.jpg (19,0 KB, 58 visitas)
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?

Última edición por FGarcia fecha: 05-08-2010 a las 02:37:22.
Responder Con Cita
  #6  
Antiguo 05-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Me alegra que te sirviera de algo.
Lo hice en un ratito, pero se pueden hacer muchas cosas con este componente.
Yo lo uso en mi sistema en varios form, sobre todo en el de facturacion.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 05-08-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Hice unas modificaciones para ver la rejilla como la necesito pero me he topado con problemas al dibujarla.

Del codigo anterior que puse modifique esta propiedad del StringGrid

Código Delphi [-]
//Este procedimiento alinea a la derecha el contenido de las celdas. Tambien da
//color a las columnas en el StringGrid 1
procedure TfrmCaptura.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var sCad: String;
    i: Integer;
begin
  //Aqui pinto las columnas "fijas"
  if (ACol = 0) or (Acol = 3) or (Acol = 6) then
    if ARow > 1 then
      If StringGrid1.Cells[ACol,ARow] <> '' Then
      begin
        sCad := StringGrid1.Cells[ACol,ARow];
        With StringGrid1 Do
          with Canvas,Rect do
            Begin
              Canvas.Brush.Style := bsSolid;
              case ACol of
                0: Canvas.Brush.Color := clMoneyGreen;
                3: Canvas.Brush.Color := clSkyBlue;
                6: Canvas.Brush.Color := clAqua;
              end;
              Canvas.FillRect(Rect);
              Canvas.TextOut(0,Top + 2,sCad);
            End;
      end;

  If (ACol=1) Or (ACol=2) Then
    if ARow > 1 then //No quiero alinear la línea de títulos
      If StringGrid1.Cells[ACol,ARow] <> '' Then
        Begin
          sCad := StringGrid1.Cells[ACol,ARow];
          With StringGrid1 Do
            with Canvas,Rect do
              Begin
                Canvas.Brush.Style := bsSolid;
                case ACol of
                  1: Canvas.Brush.Color := clYellow;
                  2: Canvas.Brush.Color := clRed;
                end;
                i:=Right-TextWidth(sCad + ' '); //Aqui se alinea a la derecha
                Canvas.FillRect(Rect);
                Canvas.TextOut(i,Top + 2,sCad);
              End;
        End;
end;

Una manita para ver por que no se redibuja correctamente.
Imágenes Adjuntas
Tipo de Archivo: jpg Rejilla2.jpg (37,9 KB, 59 visitas)
__________________
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
  #8  
Antiguo 05-08-2010
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: 19.437
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
Cita:
Empezado por FGarcia Ver Mensaje
No pongo el archivo pues uso d2010 y parece ser que no es posible abrirlo con versiones anteriores. El formulario es un simple form con un StringGrid. El codigo de la Unit le da tamaño y posicion.
Puedes poner el código. Si usas componentes estandard, basta con ignorar algunas propiedades y se abre sin mayores problemas en Delphi 6.
__________________
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
  #9  
Antiguo 05-08-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 20
yapt Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
No pongo el archivo pues uso d2010 y parece ser que no es posible abrirlo con versiones anteriores.
Muchos aquí ya usamos Delphi 2010 desde hace un tiempo.
Responder Con Cita
  #10  
Antiguo 05-08-2010
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: 19.437
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
Algunos otros usamos Delphi2010 para los nuevos y Delphi6 para los antiguos...
__________________
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
  #11  
Antiguo 05-08-2010
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: 19.437
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
Cita:
Empezado por FGarcia Ver Mensaje
l momento. Las columnas horario son fijas y las filas de titulos tambien.
No acabo de entender los de los tres paneles...
El stringGrid posee propiedades para definir cuantas filas y cuantas columnas fijas necesitas.
__________________
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
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
stringgrid en celda de otro stringgrid?? noodle_ OOP 3 17-06-2008 13:36:01
Tutorial muli MS SQL Server 3 15-05-2008 10:31:59
Tutorial jocey Conexión con bases de datos 1 06-11-2007 14:57:32
Tutorial .Net MaMu .NET 2 06-08-2007 19:40:15
Tutorial de POO AbcXxx OOP 3 06-02-2004 16:29:48


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


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