Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosaguiar

invalid argument to date enconde

Recommended Posts

Boa Tarde

 

Tenho um programa em Delphi 7, que já roda a mais de 5 anos a rotina abaixo sem problemas, depois atualizar faixas etárias(continua fazendo isso normalmente) ele gera um relatório informando ao cliente que devido ao seu aniversário por exemplo em 10/02/2011 ele terá reajuste na sua mensalidade de seguro, para montar essa data no relatorio eu pego da data de nascimento do cliente faço o decode, depois faço um encode com o dia e o mês da data de nascimento do cliente e acrescento o ano atual que vem de um decode de date(data corrente do micro).

 

Até dezembro funcionou, quando foi rodar hoje, deu a mensagem Erro ao gerar o relatório Invalid argument to date enconde (não mudei nada do código a tempos não mexo nele)segue abaixo, será que é pelo ano, alguém tem alguma ideia do que seja, não consegui descobri de forma alguma.

 

Desde já, grato.

 

procedure Tcartafaixa.Query1CalcFields(DataSet: TDataSet);

Var Data: TDateTime; dia, mes, ano,diac,mesc,anoc: Word;

var mataux,nomaux,mes1,ano1:string;

begin

if table1.Active=false then

table1.Active:=true;

if table2.Active=false then

table2.Active:=true;

mes1:=frmfaixa.Edit1.Text;

ano1:=frmfaixa.Edit2.Text;

if query1sexo.Value = 'M' then

query1sauda.Value:='Prezado Segurado:';

if query1sexo.Value = 'F' then

query1sauda.Value:='Prezada Segurada:';

// Data de Nascimento

Data:=query1dtnas.Value;

DecodeDate(Data,ano,mes,dia);

DecodeDate(Date,anoc,mesc,diac);

query1aniv.Value:=encodedate(anoc,mes,dia);

if query1faixa.Value='S' then

begin

if query1idade.Value=36 then

begin

query1novovg.Value:=(query1mnat.Value*0.04211)/100;

r36.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=41 then

begin

query1novovg.Value:=(query1mnat.Value*0.05373)/100;

r41.Color:=clYellow;

r36.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=46 then

begin

query1novovg.Value:=(query1mnat.Value*0.07281)/100;

r46.Color:=clYellow;

r41.Color:=clwhite;

r36.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=51 then

begin

query1novovg.Value:=(query1mnat.Value*0.12650)/100;

r51.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r36.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=56 then

begin

query1novovg.Value:=(query1mnat.Value*0.19870)/100;

r56.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r36.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=61 then

begin

query1novovg.Value:=(query1mnat.Value*0.34000)/100;

r61.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r36.Color:=clwhite;

r66.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=66 then

begin

query1novovg.Value:=(query1mnat.Value*0.55214)/100;

r66.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r36.Color:=clwhite;

r70.Color:=clwhite;

end;

if query1idade.Value=71 then

begin

query1novovg.Value:=(query1mnat.Value*0.6101)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=72 then

begin

query1novovg.Value:=(query1mnat.Value*0.6742)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=73 then

begin

query1novovg.Value:=(query1mnat.Value*0.7450)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=74 then

begin

query1novovg.Value:=(query1mnat.Value*0.8232)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=75 then

begin

query1novovg.Value:=(query1mnat.Value*0.9096)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=76 then

begin

query1novovg.Value:=(query1mnat.Value*1.0051)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=77 then

begin

query1novovg.Value:=(query1mnat.Value*1.1108)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=78 then

begin

query1novovg.Value:=(query1mnat.Value*1.2273)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=79 then

begin

query1novovg.Value:=(query1mnat.Value*1.3562)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=80 then

begin

query1novovg.Value:=(query1mnat.Value*1.4986)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=81 then

begin

query1novovg.Value:=(query1mnat.Value*1.6559)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=82 then

begin

query1novovg.Value:=(query1mnat.Value*1.8298)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=83 then

begin

query1novovg.Value:=(query1mnat.Value*2.0219)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=84 then

begin

query1novovg.Value:=(query1mnat.Value*2.2342)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=85 then

begin

query1novovg.Value:=(query1mnat.Value*2.4688)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=86 then

begin

query1novovg.Value:=(query1mnat.Value*2.7280)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=87 then

begin

query1novovg.Value:=(query1mnat.Value*3.01445)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=88 then

begin

query1novovg.Value:=(query1mnat.Value*3.3009)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=89 then

begin

query1novovg.Value:=(query1mnat.Value*3.6310)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

if query1idade.Value=90 then

begin

query1novovg.Value:=(query1mnat.Value*3.9944)/100;

r70.Color:=clYellow;

r41.Color:=clwhite;

r46.Color:=clwhite;

r51.Color:=clwhite;

r56.Color:=clwhite;

r61.Color:=clwhite;

r66.Color:=clwhite;

r36.Color:=clwhite;

end;

mataux:=query1matricula.Value;

if table2.FindKey([mataux])then

begin

if query1condicao.Value='TITULAR' then

begin

query1premio_c.Value:=table2premio.Value;

query1novovg.Value:=query1novovg.value+(query1novovg.value/100)*0.38;

query1novodesconto.Value:=query1novovg.Value+query1premio_r.Value+query1previsul.Value+query1unibancoI.Value+query1premio_c.Value;

query1novodesconto.value:=round(query1novodesconto.value*100)/100;

rllabel16.Caption:=query1nome.Value;

rllabel5.Caption:='Informamos a V.Sa. que em razão de seu aniversário em '+datetostr(query1aniv.value)+' e consequente mudança de faixa etária,';

rllabel15.Caption:='o desconto mensal do seu seguro somado ao do seu cônjuge a partir de '+mes1+' de '+ano1+' será de R$ '+currtostr(query1novodesconto.value);

rllabel2.Caption:='';

end;

if query1condicao.Value<>'TITULAR' then

begin

nomaux:=query1nome.Value;

rllabel16.Caption:=table2nome.Value;

if query1sexo.Value = 'M' then

query1sauda.Value:='Prezada Segurada:';

if query1sexo.Value = 'F' then

query1sauda.Value:='Prezado Segurado:';

query1premio_c.Value:=table2premio.Value;

query1novovg.Value:=query1novovg.value+(query1novovg.value/100)*0.38;

query1novodesconto.Value:=query1novovg.Value+query1premio_r.Value+query1previsul.Value+query1unibancoI.Value+query1premio_c.Value;

query1novodesconto.value:=round(query1novodesconto.value*100)/100;

rllabel5.Caption:='Informamos a V.Sa. que em razão do aniversário do seu cônjuge/dependente '+nomaux;

rllabel15.Caption:='em '+datetostr(query1aniv.value)+' e consequente mudança de faixa etária do mesmo, o desconto mensal do seu seguro somado ';

rllabel2.Caption:='ao do seu cônjuge/dependente a partir de '+mes1+' de '+ano1+' será de R$ '+currtostr(query1novodesconto.value);

end;

end;

if not table2.FindKey([mataux])then

begin

rllabel16.Caption:=query1nome.Value;

query1premio_c.Value:=0;

query1novovg.Value:=query1novovg.value+(query1novovg.value/100)*0.38;

query1novodesconto.Value:=query1novovg.Value+query1premio_r.Value+query1previsul.Value+query1unibancoI.Value+query1premio_c.Value;

// query1novodesconto.Value:=query1novovg.Value+query1premio_r.Value+query1previsul.Value+query1unibancoI.Value;

query1novodesconto.value:=round(query1novodesconto.value*100)/100;

rllabel5.Caption:='Informamos a V.Sa. que em razão de seu aniversário em '+datetostr(query1aniv.value)+' e consequente mudança de faixa etária,';

rllabel15.Caption:='o desconto mensal do seu seguro a partir de '+mes1+' de '+ano1+ ' será de R$ '+currtostr(query1novodesconto.value);

rllabel2.Caption:='';

end;

end;

end;

 

procedure Tcartafaixa.RLReport1AfterPrint(Sender: TObject);

begin

table1.Close;

table2.Close;

end;

 

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.