Fórum Atualizador #340333

13/04/2007

0

ola pessoal, eu to fazendo um atualizador de banco, e to com um probleminha nesse codigo abaixo, pois nao esta aparecendo a barra de progresso, aparece processando, mas nao mostra o progresso no gauge.

segue codigo abaixo:

if (rgopcao.ItemIndex = 2) or (rgopcao.ItemIndex = 3) then
begin
gauge1.MinValue := 0;
gauge1.MaxValue := tblduplicat_origem.RecordCount;
gauge1.Progress := 0;

label5.Caption := ´. . . Atualizando Arquivo de faturas . . .´;
fatualizacao.update;

tblduplicat_destino.Close;
tblduplicat_destino.SQL.Clear;
tblduplicat_destino.SQL.Text := ´select * from duplicat ´ +
´where cod_emp = ´´ + m_cod_emp + ´´ ´ +
´order by duplicat_codcli,numero,dataemis´;
tblduplicat_destino.ExecSql;

i := 0;

for i := 1 to tblduplicat_origem.RecordCount do
begin
if not tblduplicat_destinoDUPLICAT_CODCLI.IsNull then
begin
if not tblduplicat_destino.Locate(´duplicat_codcli;numero;dataemis´, VarArrayOf([
tblduplicat_origemDUPLICAT_CODCLI.asstring, tblduplicat_origemNUMERO.asstring,
tblduplicat_origemDATAEMIS.asdatetime]), []) then
tblduplicat_destino.Append

else
tblduplicat_destino.Edit;
while not (tblduplicat_destino.Eof) and (tblduplicat_destinoDUPLICAT_CODCLI.AsString = tblduplicat_origemDUPLICAT_CODCLI.AsString)
and (tblduplicat_destinoNUMERO.AsString = tblduplicat_origemNUMERO.AsString)
and (tblduplicat_destinoDATAEMIS.AsString = tblduplicat_origemDATAEMIS.AsString) do
begin
if not (tblduplicat_destino.State in [DsEdit, DsInsert]) then tblduplicat_destino.Edit;
x := 0;
for x := 0 to tblduplicat_origem.FieldCount - 1 do
if x <> 14 then
tblduplicat_destino.Fields.Fields[x].value := tblduplicat_origem.Fields.Fields[x].value;
tblduplicat_destino.Post;
end;
tblduplicat_destino.Next;
end;
tblduplicat_origem.Next;
gauge1.Progress := gauge1.Progress + 1;
end;
end;
gauge1.MinValue := 0;
gauge1.MaxValue := 100;
gauge1.Progress := 0;

label5.Caption := ´. . . FIM DE OPERAÇÃO . . .´;
fatualizacao.update;

tblparametros.Close;
origem.Disconnect;
if not tblduplicat_destinoDUPLICAT_CODCLI.IsNull then
destino.Disconnect;
medtorigem.Clear;
medtdestino.Clear;
btnfechar.SetFocus;


to usando firebird + ibo

valeu pessoal


L3gion4rio

L3gion4rio

Responder

Posts

13/04/2007

Felipeaj

Depois diso:
gauge1.Progress := gauge1.Progress + 1; 


Coloque:
Application.ProcessMessages;



Responder

Gostei + 0

13/04/2007

L3gion4rio

nao deu muito certo nao....a logica ai esta certa??


Responder

Gostei + 0

13/04/2007

L3gion4rio

nao deu muito certo nao....a logica do codigo que passei esta certa??


Responder

Gostei + 0

13/04/2007

Briciosm

Dei uma olhada meio por cima no seu código e acredito que esteja tudo certo.
Não sei o que pode estar errado....
mas tente fazer o seguinte:
Após dar o comando para aumentar o valor do progresso coloque mais um comando: gauge1.update;

Até mais,


Responder

Gostei + 0

13/04/2007

L3gion4rio

parece que ele nao esta dando o append quando nao existe um registro no outro banco, a logica desse append ai sera que esta certa?? por que ele nao esta inserindo os registros no outro banco.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar