Arquivo TXT

Delphi

22/05/2003

Oi, tenho essa sequencia em um arquivo TXT

22050300000253 onde,
220503 = 22/05/03 e 00000253 é Matricula

Quando executo o EncodeDate 220503 ele armazena
22/05/0003 ou 22/05/1903

Queria que o ano ficasse 22/05/2003. Como?

Pelo amor de Deus. A droga do relogio de ponto tem o bug do milenio e nao armazena data com 4 digitos.

Se alguem souber me please help !!!


Wallacest

Wallacest

Curtidas 0

Respostas

Luza

Luza

22/05/2003

Tente criar uma funcao que peque os digitos de data:

Creio que assim podera fazer:

function DMY(d: string): string;
begin
DMY:=Copy(d,1,2)+´/´+Copy(d,3,2)+´/20´+Copy(d,5,2);
end;


onde d: eh a string 220503

a funcao retornaria: ´22/05/2003´

e entao ficaria DecodeDate(DMY(d))

Espero ter ajudado


GOSTEI 0
Ildefonso

Ildefonso

22/05/2003

Olá, Wallace.

Neste seu caso, apenas some 2000 ao ano que você obteve, diretamente na chamada do EncodeDate...
[b:db38d94db5]
  ...
  vData := EncodeDate(vAno+2000, vMes, vDia);
  ...
[/b:db38d94db5]
Bom trabalho. 8)


GOSTEI 0
Rubensavelino

Rubensavelino

22/05/2003

a funcao
Encodedate(year,moth,day : word): TDateTime;


voce chama

encodedate(2000+03,05,22);


GOSTEI 0
POSTAR