Logica errada ou erro de Código ?
Tenho esse código? e quando chega no "If" que não era para ele executar e ele executa
no If da Ceta se por exemplo eu o n for 4 ele passa e executa tudo que for ele executa. onde esta o erro que não vejo ?
Ajudem por favor :(
if Copy(DataModuleGeral.tbProcessosConsulta.FieldByName('NUMERO_PROCESSO'+Copy(vCampoUltAlteracao,17,1)).AsString,1,8) = 'S/NUMERO' then
begin
n := StrToInt(Copy(vCampoUltAlteracao,17,1))-1;
while n >= 1 do
begin
==> if (n = 1) and (DataModuleGeral.tbProcessosConsultaULTIMA_ALTERACAO.AsDateTime < DataModuleGeral.tbAndamentosProcessuaisDATA.AsDateTime) then;
DataModuleGeral.tbProcessosConsultaULTIMA_ALTERACAO.AsDateTime := DataModuleGeral.tbAndamentosProcessuaisDATA.AsDateTime;
if (n > 1) and (Copy(DataModuleGeral.tbProcessosConsulta.FieldByName('NUMERO_PROCESSO'+IntToStr(n)).AsString,1,8) <> 'S/NUMERO') then
begin
if DataModuleGeral.tbProcessosConsulta.FieldByName('ULTIMA_ALTERACAO'+IntToStr(n)).AsDateTime < DataModuleGeral.tbAndamentosProcessuaisDATA.AsDateTime then
DataModuleGeral.tbProcessosConsulta.FieldByName('ULTIMA_ALTERACAO'+IntToStr(n)).AsDateTime := DataModuleGeral.tbAndamentosProcessuaisDATA.AsDateTime;
Exit;
end;
n := n - 1;
end;
end;
end;
DataModuleGeral.tbProcessosConsulta.Post;
no If da Ceta se por exemplo eu o n for 4 ele passa e executa tudo que for ele executa. onde esta o erro que não vejo ?
Ajudem por favor :(
Eduardo Mendonça
Curtidas 0
Respostas
Marcos Oliveira
03/10/2013
Olhando seu código, parece que está tudo correto. Você já depurou seu projeto e confirmou que o valor da variável "n" está vindo realmente 1?
Att,
Marcos
Att,
Marcos
GOSTEI 0
Deivison Melo
03/10/2013
Conforme orientação, o código foi debbugado?
Caso ainda restarem dúvida, por favor, sinalizar para sanarmos todas!
Abração e bons códigos!
Caso ainda restarem dúvida, por favor, sinalizar para sanarmos todas!
Abração e bons códigos!
GOSTEI 0
Marcos Saffran
03/10/2013
Olá Maginal,
uma dúvida:
quantos campos 'NUMERO_PROCESSO' tem a sua tabela? São 10?
Eu pergunto pois o 'Copy(vCampoUltAlteracao,17,1)', se for numérico pode ser de 0 a 9, se for string, pode ser de 0 a 9, ou de a a z.
Só para entender melhor o código.
uma dúvida:
if Copy(DataModuleGeral.tbProcessosConsulta.FieldByName('NUMERO_PROCESSO'+Copy(vCampoUltAlteracao,17,1)).AsString,1,8) = 'S/NUMERO' thenquantos campos 'NUMERO_PROCESSO' tem a sua tabela? São 10?
Eu pergunto pois o 'Copy(vCampoUltAlteracao,17,1)', se for numérico pode ser de 0 a 9, se for string, pode ser de 0 a 9, ou de a a z.
Só para entender melhor o código.
GOSTEI 0
Marcos Saffran
03/10/2013
Outra coisa, em:
está assim mesmo no seu código? Com o ";" ponto-e-vírgula no final do comando?
se for, retire-o.
==> if (n = 1) and (DataModuleGeral.tbProcessosConsultaULTIMA_ALTERACAO.AsDateTime < DataModuleGeral.tbAndamentosProcessuaisDATA.AsDateTime) then;
está assim mesmo no seu código? Com o ";" ponto-e-vírgula no final do comando?
se for, retire-o.
GOSTEI 0
Eduardo Mendonça
03/10/2013
ok vou retirar
GOSTEI 0