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

Progressbar


Eder

Pergunta

Olá..Pessoal

alguém poderia me ajudar ....a colocar uma barra de Progressbar neste meu codigo abaixo:

não sei trabalhar com este tal de Progressbar :unsure:

procedure TFormAtua.XiButton1Click(Sender: TObject);

begin

with TQuery.Create(nil) do

try DatabaseName := 'XXXXXXX'; //aqui o local onde será atualizado OU O ALIAS

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado

ExecSQL;

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado

ExecSQL;

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado

ExecSQL;

//

finally

Free;

end;

MessageDlg('Alteração Realizada!!', mtInformation, [mbOk],0);

end;

muito Grato

:D

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Supondo que você deseje informar o andamento dos seus ExecSQL que são em número de 3, adicione a progressbar no seu form e proceda conforme alterações em seu código:

procedure TFormAtua.XiButton1Click(Sender: TObject);
begin
// *** De quanto será incremento a cada avanço. Onde 3 é o número de ExecSQL que você realizará.
// *** Max está inicializado em 100(%), assim no seu caso, a cada avanço a barra progridira 33%
  ProgressBar1.Step := ProgressBar1.Max div 3;
  with TQuery.Create(nil) do
  try 
    DatabaseName := 'XXXXXXX'; //aqui o local onde será atualizado OU O ALIAS
//
    SQL.Text := 'Alter Table "PENDENCIA.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado
    ExecSQL;
    ProgressBar1.StepIt;  // *** Avançará posição em 33(%)
//
    SQL.Text := 'Alter Table "PENDENCIA.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado
    ExecSQL;
    ProgressBar1.StepIt;  // *** Avançará posição em 33(%)
//
    SQL.Text := 'Alter Table "PENDENCIA.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado
    ExecSQL;
    ProgressBar1.StepIt;  // *** Avançará posição em 33(%)
//
  finally
    Free;
  end;
  MessageDlg('Alteração Realizada!!', mtInformation, [mbOk],0);
  ProgressBar1.Position := 0;  // *** reinicializa a barra, deixando-a "em branco"
end;

Link para o comentário
Compartilhar em outros sites

  • 0

Micheus..ótima explicação sua....a tempo que tava procurando uma explicação assim muito Show.

Haaa...para deixar este tópico mais completo eu fiz um exemplo também com Gauge ficou legal....

coloquei mais algumas execuções...mas vai dar pra notar o funcionamento:

é mais uma menos com a sua idéia....só que o Gauge é mais fácil...

mas o esquema é igual...contar o nr de processos e depois pegar 100% e dividir por estes nrs. de processos.

a diferença que esta tem que colocar o percentual para cada processo como mostra abaixo:

procedure TFormAtua.XiButton1Click(Sender: TObject);

begin

with TQuery.Create(nil) do

try DatabaseName := 'PENDENCIA'; //aqui o local onde será atualizado OU O ALIAS

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=10; //10%

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=19; //19%

//

SQL.Text := 'Alter Table "PENDENCIA.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo,

tipo, tamanho a ser criado

ExecSQL;

gauge1.Progress:=28; //28%

//

SQL.Text := 'Alter Table "PENDESP.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=37; //37%

//

SQL.Text := 'Alter Table "PENDESP.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=46;

//

SQL.Text := 'Alter Table "PENDESP.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo,

tipo, tamanho a ser criado

ExecSQL;

gauge1.Progress:=55;

//

SQL.Text := 'Alter Table "PENDEJV.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=63;

//

SQL.Text := 'Alter Table "PENDEJV.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=71;

//

SQL.Text := 'Alter Table "PENDEJV.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo,

tipo, tamanho a ser criado

ExecSQL;

gauge1.Progress:=78;

//

SQL.Text := 'Alter Table "PENDEGUA.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=85;

//

SQL.Text := 'Alter Table "PENDEGUA.DB" Add MANIFESTO numeric'; //aqui nome da tabela e nome do campo, tipo,

tamanho a ser criado

ExecSQL;

gauge1.Progress:=93;

//

SQL.Text := 'Alter Table "PENDEGUA.DB" Add MOTORISTA character(60)'; //aqui nome da tabela e nome do campo,

tipo, tamanho a ser criado

ExecSQL;

gauge1.Progress:=100;

//

finally

Free;

end;

MessageDlg('Alteração Realizada com Sucesso!!', mtInformation, [mbOk],0);

end;

Bom Amigo..muito Grato Mesmo...acredito que este tópico vai ajudar mtos colegas nossos como me ajudou.

Abraço t+ :D

Link para o comentário
Compartilhar em outros sites

  • 0

Supondo que esse seu script possa ir aumentando com o tempo, seria mais conveniente modificar as propriedades para executar a tarefa de definir qual é o avanço (progresso):

procedure TFormAtua.XiButton1Click(Sender: TObject);
begin
  gauge1.Maxvalue := 12;   // *** neste seu exemplo é 12, se incluir mais uma ação, aumenta este número
  with TQuery.Create(nil) do
  try DatabaseName := 'PENDENCIA'; //aqui o local onde será atualizado OU O ALIAS
//
  SQL.Text := 'Alter Table "PENDENCIA.DB" Add CIFOB character(3)'; //aqui nome da tabela e nome do campo, tipo, tamanho a ser criado
  ExecSQL;
  gauge1.AddProgress(1); // *** incrementa um no progresso - fica assim para todos os seguintes
//
 ....

[]s

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...