ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Colocar Progressbar [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Seg Set 24, 2007 3:30 pm    Assunto: Colocar Progressbar [RESOLVIDO] Responder com Citação

Como coloco um ProgressBar nessa importação?



Código:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
arq: textfile;
Entrada : String;

begin
  assignfile(arq,'C:\Documents and Settings\lanhouse\Meus documentos\MAX\Banco de Dados\3271_20070912\3271_20070910_Cadastro.txt');//associa arquivo a variavel
  reset(arq);//abre arquivo

      DM.ADOQryCadastro.open; // abre a table
      DM.ADOQryCadastro.First; // aponta para o primeiro registro

      while not eof (arq) do
      begin
        Readln(arq,entrada);   

   DM.ADOQryCadastro.append;

        Edit4.Text := Copy(Entrada,01,07);
        if (Edit4.Text = 'RESPOND') or (Edit4.Text = 'RENOVAD') then
        begin

        end
        else begin

         DM.ADOQryCadastroNumCadastroUnico.Value := StrToInt(copy(Entrada,01,07));
           DM.ADOQryCadastroCodTipoPessoa.Value:= StrToInt(copy(Entrada,08,01));
         DM.ADOQryCadastroCPF_CNPJ.Value := Copy(Entrada,19,14);
         DM.ADOQryCadastroNomeCliente.Value := Copy(Entrada,33,50);
       
    DM.ADOQryCadastro.post; // salva
         DM.ADOQryCadastro.Next; // vai para o próximo
         
   
      end;

      end;
end;


?
?
coloquei um progressbar no formulario, depois que ele passa pro proximo registro euescrevi: "progressbar.position := progressbar.position + 1;" . Só que ele não executa corretamento, quando ta começando a importar o progressbar ja encheu.

o que devo fazer ?

vlw até mais...


Editado pela última vez por maxm.ro em Qua Set 26, 2007 2:57 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
forst
Membro Junior
Membro Junior


Registrado: Domingo, 26 de Junho de 2005
Mensagens: 367

MensagemEnviada: Seg Set 24, 2007 3:43 pm    Assunto: Responder com Citação

Ae,

vc deve setar a quantidade de linhas como o valor máximo do progressBar.
Código:

ProgressBar1.Max := "quantidade";
ProgressBar1.Position := 0;

e a parte do proximo registro vc pode deixar igual que esta certo.
Citação:

coloquei um progressbar no formulario, depois que ele passa pro proximo registro euescrevi: "progressbar.position := progressbar.position + 1;"


Agora como pegar a quantidade de linhas do arquivo texto via codigo eu nao sei lhe ajudar..
mas vc poderia olhar no txt a quantidade e colocar a mão mesmo.

Acredito que funcione. Espero ter ajudado.

[]s
_________________
Precisando de ícones para suas aplicações em Delphi?
www.soicones.com
Milhares de Ícones PNG de alta qualidade disponíveis em diversos tamanhos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
DonOctavioDelFlores
Colaborador
Colaborador


Registrado: Quarta-Feira, 12 de Setembro de 2007
Mensagens: 2630
Localização: Pra lá de Bagda

MensagemEnviada: Seg Set 24, 2007 4:06 pm    Assunto: Responder com Citação

da pra percorrer o arquivo inteiro e contar o numero de linhas, depois coloca no max.

se o arquivo for pequeno isso funciona bem.

se o arquivo for grande dá pra ter uma nocao do tamanho dele pelo filesize... fica aproximado...

PB_Importacao.Max := Round(FileSize(Pvt_Arquivo) * 1.7);

eu uso assim...
_________________
“The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Seg Set 24, 2007 4:25 pm    Assunto: ok Responder com Citação

o Pvt_Arquivo seria o arquivo que vou importar ?

coloquei assim, o que entendi:

ProgressBar1.Max := Round(FileSize(nome_do_meu_arquivo) * 1.7);

e aparece o erro: "Imcompatibles types"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
DonOctavioDelFlores
Colaborador
Colaborador


Registrado: Quarta-Feira, 12 de Setembro de 2007
Mensagens: 2630
Localização: Pra lá de Bagda

MensagemEnviada: Seg Set 24, 2007 4:29 pm    Assunto: Responder com Citação

Pvt_Arquivo é a variavel TextFile que aponta pro arquivo no disco...

Pvt_Arquivo : TextFile;
_________________
“The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Seg Set 24, 2007 4:43 pm    Assunto: ok Responder com Citação

no meu caso a variavel é "Arq" ficou assim o codigo:

ProgressBar1.Max := Round(fileSize(Arq) * 1.7);

Erro: borland.delphi.Systen init out of date or corrupted: missing '@filesize'

qual será o problema ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
wolverinefarah
Colaborador
Colaborador


Registrado: Sábado, 17 de Junho de 2006
Mensagens: 1770

MensagemEnviada: Seg Set 24, 2007 4:57 pm    Assunto: Re: ok Responder com Citação

maxm.ro escreveu:
no meu caso a variavel é "Arq" ficou assim o codigo:

ProgressBar1.Max := Round(fileSize(Arq) * 1.7);

Erro: borland.delphi.Systen init out of date or corrupted: missing '@filesize'

qual será o problema ?


diz que esse arquivo está corrompido e nao está conseguindo saber o tamanho do arquivo.
_________________
Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Ter Set 25, 2007 11:48 am    Assunto: ok Responder com Citação

aparerentemente o arquivo ta funcionando corretamente, ta importando todos os dados.

não tem outra forma ?

to usando Delphi for .Net, 2006
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
DonOctavioDelFlores
Colaborador
Colaborador


Registrado: Quarta-Feira, 12 de Setembro de 2007
Mensagens: 2630
Localização: Pra lá de Bagda

MensagemEnviada: Ter Set 25, 2007 12:00 pm    Assunto: Responder com Citação

pelo jeito a biblioteca do dotnet nao tem essa funcao...
_________________
“The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Banaggia
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003
Mensagens: 342
Localização: SayGon - RJ

MensagemEnviada: Ter Set 25, 2007 2:41 pm    Assunto: Responder com Citação

Código:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
arq: textfile;
Entrada : String;
begin
  assignfile(arq,'a.txt');//associa arquivo a variavel
  reset(arq);//abre arquivo
  Gauge1.MaxValue := Round(fileSize(Arq) * 1.7);
  while not eof (arq) do
      begin
        Readln(arq,entrada);
        // Coloque aqui seu codigo para alimentar a tabela.

        //Termine aqui
        Gauge1.Progress := Gauge1.Progress + 1; //Atualiza a Gauge
        end;
End;


Veio testei com um arquivo texto qualquer, useu uma Gauge e funcionou legal, tente ae...
_________________
[]'s,
Marco Banaggia

SEMPRE COLOQUE [RESOLVIDO] NO SEU POST
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Ter Set 25, 2007 4:21 pm    Assunto: flw cara Responder com Citação

blza cara,

acho que não está funcionando aqui porque estou usando Delphi for .net

deve ser diferente do Win32

flw pela ajuda ....
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Qua Set 26, 2007 2:54 pm    Assunto: Problema Resolvido !!! Responder com Citação

Galera, tava com esse problema acima de importação, onde queria colocar um progressbar mas não conseguia um modo de mostrar para o progress bar o tamanho do arquivo Txt, isso devido a estar usando Delphi for .Net e as funções do win32 não funcionavam nele. pelo menos as que o pessoal passou acima...

ficou desta forma:

Código:
Var
cont, Linhas : integer;
Lista: TStringList;
begin
try
    Lista.LoadFromFile('C:\Cadastro.txt');
    Linhas:= Lista.Count;
    finally
      Lista.Free;
    end;
    ProgressBar1.Max := Linhas; //Envia p/ Progressbar o Tamanho Total do Arquivo de acordo com o numero de linhas pego com a Try acima..
é isso ai ....
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB