Arquivo TXT
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 !!!
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
Curtidas 0
Respostas
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
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
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)
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
22/05/2003
a funcao
Encodedate(year,moth,day : word): TDateTime;
voce chama
encodedate(2000+03,05,22);
Encodedate(year,moth,day : word): TDateTime;
voce chama
encodedate(2000+03,05,22);
GOSTEI 0