Ir para conteúdo
Fórum Script Brasil
  • 0

ProgressBar com ADOConnection?


jaumDoDelphi

Pergunta

Ola amigos do Script Brasil!

Estou desenvolvendo meu programa de cadastro de filmes a mais de 1 anos!

e toda hora acho uma ideia melhor e outra não, para implementar este programinha.

Agora estou com problemas para adaptar o uso do TProgressBar ao me programa.

1 - Como utilizei BMP para o banco access BLOB - no tamanho de 190x260 = 145kb

2 - hj com mais de 260 filmes cadastrados o banco já tem 37MB

3 - quando inicio ele no pendrive demora uns 4 segundos para abrir o banco

4 - dai já pensando no futuro por exemplo 500filmes vai dar uns 70MB do DB

5 - percebi que demora quando ele vai Abrir a QueryMovies que estao cadastradas os filmes e posters

quando eu execulto o comando ADOQMovies.Active := true; que demora os 4seg.

Gostaria de saber se é possível mostrar o progresso do carregamento do banco ACCESS com TADOConnection, TADOQuery?

desde já agradeço! ;)

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

considerações:

converta BMP para JPG ...isso reduz ainda mais o tamanho da figura

reveja a definição para os campos BLOB, voce pode limitar o seu tamanho

faça acesso a tabela com filmes somente depois do programa ser carregado, de preferencia no clique do item do Menu

voce pode usar um componente Gauge no lugar do ProgressBar, ele mostrara a porcentagem de carregamento

no exemplo abaixo é só substituir a Query pela AdoQuery

procedure TForm1.Button1Click(Sender: TObject);
begin

Query1.Open;{ abre a table query que seja}
Gauge1.MaxValue:=query1.RecordCount; {diz que o valor max do gauge é o valor de regitrs a serem processados pela na tabela}
Query1.First; {posiciona no inicio da tabela}
if not Query1.Eof then {enquanto a tabela não estiver, vai executar o codigo abaixo }
   repeat
{ seus comandos para a tabela }
Gauge1.Progress:=Gauge1.Progress + 1;
if Gauge1.Progress = Gauge1.MaxValue then
begin
   showmessage('Processo Terminado!');
end;
Query1.Next { move para o próximo registro}
until Query1.Eof; {finaliza o programa ao final da tabela}
end;

OBS: No forum tem varios posts sobre isso .... pesquise pela palavra Gauge ou ProgressBar

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Opa Jhonas obrigado pelo codigo.

Então eu já tinha feito a pesquisa no forum e no google.

Estou começando a achar que n é possível mostrar a barra "CARREGANDO A QUERY" :unsure:

Passei o codigo que você postou para meu programa e a barra só começa a contar apos ter carregado o banco de dados na memoria.

o problema é exatamente este, gostaria de exibir a barra carregando o DB, e n ele contando o DB depois de aberto.

Ficou assim.

1 - Button1, Ele faz o Query1.Open....

2 - trava tudo, paralisa por (4seg)

3 - depois de carregado que a GAUGE começa a contar!

Sobre o BMP, acabei cedendo para este formato porque o banco access é muito limitado.

No firebird, mysql funcionou bem com JPEG, já no access ele ate passa o JPEG mas quando esta dentro do banco ele converte para BMP.

Mas, muito obrigado pela sua atenção, vou continuar procurando no mundaum da internet!

um abraço! :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...