GARANTIR DESCONTO

Fórum Dúvidas Statusbar e Banco de dados. #216860

27/02/2004

0

1-Coloquei em uma statusbar um progressbar assim:
ProgressBar1.Width:= rect.Right - rect.Left;
ProgressBar1.Height:= rect.Bottom - rect.Top;
ProgressBar1.PaintTo(StatusBar.Canvas.Handle,rect.Left,rect.Top);
no evento StatusBar1DrawPanel. Quero substituir o progressbar por um gauge, mas o gauge não tem a propriedade PaintTo. Como faço?

2-Uso Delphi7 e Access 2000, quando entro em uma determinada tela, faço AdoDataSet.active:= True, ou seja, ativo minhas tabelas que a rotina necessita. Quando tenho muitas tabelas e algumas tem muitos registros, em máquinas mais lentas, esta carga é lenta, e os usuários reclamam. Meu banco esta na rede. Tem como acelerar a abertura destas tabelas?


Cfreitas

Cfreitas

Responder

Posts

28/01/2005

Pistesil

Qual codigo q vc usa para incrementar a progress bar?


Responder

Gostei + 0

28/01/2005

Isabelct

1) Com o gauge, trabalhe com duas propriedades em particular: MaxValue e Progress. O MaxValue define o valor máximo do seu gauge, e o Progress define quando já foi executado deste valor máximo.

Exemplo:

Gauge.MaxValue := 5000;
for Ind := 1 to 5000 do
begin
  { comandos aqui }
  Gauge.Progress := Ind;
end;


2) A melhor forma de acelerar a abertura das tabelas é reduzindo o número de dados que você vai exibir. Para isso, utilize a linguagem SQL com condições WHERE restringindo seus registros. Uma boa restrição seria por período de datas.


Responder

Gostei + 0

28/01/2005

Fernando Piccini

Ola!

Por duvida oq seria o ´gauge´?

vlw


Responder

Gostei + 0

28/01/2005

Massuda

oq seria o ´gauge´?
É o componente TGauge que está na aba Samples. É parecido com o TProgressBar da aba Win32.


Responder

Gostei + 0

28/01/2005

Massuda

1-Coloquei em uma statusbar um progressbar assim: ProgressBar1.Width:= rect.Right - rect.Left; ProgressBar1.Height:= rect.Bottom - rect.Top; ProgressBar1.PaintTo(StatusBar.Canvas.Handle,rect.Left,rect.Top); no evento StatusBar1DrawPanel. Quero substituir o progressbar por um gauge, mas o gauge não tem a propriedade PaintTo. Como faço?
Adaptei um código que eu uso para mostrar um progress bar na barra de status para usar o gauge:
type
  TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    Gauge1: TGauge;
    procedure FormCreate(Sender: TObject);
    procedure StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect);
  // ...

procedure TForm1.FormCreate(Sender: TObject);
begin
  Gauge1.Parent := StatusBar1;
end;

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  (*
   * O status bar está usando painéis,
   * sendo que StatusBar1.Panels[1] está com Style = psOwnerDraw
   *)
  if Panel = StatusBar1.Panels[1] then begin
    Gauge1.BoundsRect := Rect;
 end;
end;


2-Uso Delphi7 e Access 2000[...]
Acho melhor você criar um novo tópico com esta dúvida.


Responder

Gostei + 0

28/01/2005

Fernando Piccini

Massuda! obrigadão

ah! Vc eh moderador do fórum???
Se for, Cm posso trocar o nome do meu usuario no fórum? Já q não encontrei nada no FAQ???

vlw


Responder

Gostei + 0

28/01/2005

Massuda

Vc eh moderador do fórum???
Não. O pessoal que é moderador tem isso indicado de várias formas, por exemplo, na coluna Autor da lista de mensagens dos tópicos ou por cores diferentes na lista de usuários online.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar