| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Seg Set 24, 2007 3:30 pm Assunto: Colocar Progressbar [RESOLVIDO] |
|
|
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 |
|
 |
forst Membro Junior


Registrado: Domingo, 26 de Junho de 2005 Mensagens: 367
|
Enviada: Seg Set 24, 2007 3:43 pm Assunto: |
|
|
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 |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Seg Set 24, 2007 4:06 pm Assunto: |
|
|
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 |
|
 |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Seg Set 24, 2007 4:25 pm Assunto: ok |
|
|
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 |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Seg Set 24, 2007 4:29 pm Assunto: |
|
|
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 |
|
 |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Seg Set 24, 2007 4:43 pm Assunto: ok |
|
|
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 |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Seg Set 24, 2007 4:57 pm Assunto: Re: ok |
|
|
| 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 |
|
 |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Ter Set 25, 2007 11:48 am Assunto: ok |
|
|
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 |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Ter Set 25, 2007 12:00 pm Assunto: |
|
|
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 |
|
 |
Banaggia Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003 Mensagens: 342 Localização: SayGon - RJ
|
Enviada: Ter Set 25, 2007 2:41 pm Assunto: |
|
|
| 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 |
|
 |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Ter Set 25, 2007 4:21 pm Assunto: flw cara |
|
|
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 |
|
 |
maxm.ro Aprendiz

Registrado: Sexta-Feira, 27 de Abril de 2007 Mensagens: 199
|
Enviada: Qua Set 26, 2007 2:54 pm Assunto: Problema Resolvido !!! |
|
|
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 |
|
 |
|