Dúvidas Statusbar e Banco de dados.
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?
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
Curtidas 0
Respostas
Pistesil
27/02/2004
Qual codigo q vc usa para incrementar a progress bar?
GOSTEI 0
Isabelct
27/02/2004
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:
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.
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.
GOSTEI 0
Fernando Piccini
27/02/2004
Ola!
Por duvida oq seria o ´gauge´?
vlw
Por duvida oq seria o ´gauge´?
vlw
GOSTEI 0
Massuda
27/02/2004
oq seria o ´gauge´?
É o componente TGauge que está na aba Samples. É parecido com o TProgressBar da aba Win32.GOSTEI 0
Massuda
27/02/2004
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.GOSTEI 0
Fernando Piccini
27/02/2004
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
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
GOSTEI 0
Massuda
27/02/2004
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.GOSTEI 0