Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Convertir fechas (https://www.clubdelphi.com/foros/showthread.php?t=73940)

jlrdz 25-05-2011 18:23:20

Convertir fechas
 
Buenos dias y saludos primero que nada, tengo una duda en cuanto a convertir un string a fecha, ya he visto varios temas en este foro donde tratan esto pero no he podido corregir este problema, mi procesidimiento es el siguiente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var f:TDate;
begin

f:=strtodate('13/06/2011');

showmessage(datetostr(f));

end;
:confused:
No sé en donde estoy mal, ya que me aparece el error que me indica que la fecha 13/06/2011, no es una fecha valida, tengo entendido que me funciona si la fecha estuviera asi : 06/13/2011, pero como le hago para pasarla a esta manera y luego poder convertirla, saludos y espero puedan ayudarme, gracias.

Caro 25-05-2011 18:52:25

Hola jlrdz, para que no tengas problemas con la configuración regional podrías utilizar la función EncodeDate:

Código Delphi [-]
 f := EncodeDate(2011,6,13);
 showmessage(datetostr(f));

Saluditos

jlrdz 25-05-2011 18:57:23

Gracias por tu respuesta!, lo he entendido pero y si en lugar de poner la fecha fija y la recupero desde un campo de texto TEdit y tiene como mascara xx/xx/xxxx, es valido ponerlo dentro de EncodeDate(micampo.text)?

Caro 25-05-2011 19:15:04

Cita:

Empezado por jlrdz (Mensaje 401320)
...........si en lugar de poner la fecha fija y la recupero desde un campo de texto TEdit y tiene como mascara xx/xx/xxxx, es valido ponerlo dentro de EncodeDate(micampo.text)?

No, porque encodedate necesita 3 parámetros de tipo Word, si lo recuperas de un Edit puedes dividir tu cadena:

Código Delphi [-]
    anio, mes, dia : Word;
    fechastr : String;
begin
 fechastr := Edit.Text;

 dia := StrToInt(Copy(fechastr, 1, 2));
 mes := StrToInt(Copy(fechastr, 4, 2));
 anio := StrToInt(Copy(fechastr, 7, 4));
 
 f := EncodeDate(anio, mes, dia);

Saluditos


La franja horaria es GMT +2. Ahora son las 11:56:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi