Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con tiempo de expiracion (https://www.clubdelphi.com/foros/showthread.php?t=93594)

MacStreet 25-11-2018 19:02:21

Problema con tiempo de expiracion
 
Hola, cuento con un problema con el tiempo de vencimiento de mi aplicacion por servidor.
Estoy usando este codigo, funciona perfectamente, pero he notado que en algunas computadoras su fecha es "25-11-2018" en la mia es "25/11/2018"
Lo cual yo programo para que mi aplicacion deje de funcionar hasta el dia "25/11/2018" pero en las otras computadoras que su fecha es "25-11-2018" , solo le sale un error y la aplicacion sigue funcionando, lo cual me perjudica, el codigo es este :
Código Delphi [-]
function Server(const vto: TDateTime; const aHost: string): Boolean;
var
  idSNTP: TIdSNTP;
  dt: TDateTime;
begin
  idSNTP:= TIdSNTP.Create(nil);
  try
    idSNTP.Host := aHost;
    dt := idSNTP.DateTime;
  finally
    idSNTP.Free;
  end;
  Result := dt >= vto;
end;
Código Delphi [-]
if ExpiredDate( StrToDate('10/09/2017'), 'time.windows.com' ) then
 begin
 Application.Terminate();
end;
Y lo que hice hasta ahora fue esto, pero no funciono :
Código Delphi [-]
if ExpiredDate( StrToDate('25/11/2018'), 'time.windows.com' ) OR  ExpiredDate( StrToDate('25-11-2018'), 'time.windows.com' ) then
 begin
 Application.Terminate();
end;
Porfavor quisiera que me den una pequeña ayuda en esto o ayudandome con ejemplos, gracias.

luisgutierrezb 25-11-2018 23:21:32

Y si usas el encodedate o encodedate algo así...

ecfisa 25-11-2018 23:40:56

Hola.

¿ Que hace la función ExpiredDate, lo mismo que la función Server ?

Si trataras las fechas como TDate no tendrías que tener problemas.

Pero, tratada como cadena supongo que en algun punto tenes en alguna variable el valor de la fecha de vencimiento. Por ejemplo:
Código Delphi [-]
...
var
  Plazo : string;
begin
  Plazo := '25-11-2018'; // (Aquí es donde obtendrás la fecha de algún lado...)

  Plazo := StringReplace(Plazo, '-', '/', [rfReplaceAll]); // Ahora Plazo contiene : '25/11/2018'
  ...

Saludos :)

mamcx 26-11-2018 13:59:45

La unica razon para convertir fechas a texto es para serializar (escribir en archivos), pasar a un componente visual, etc.

De resto, operar en fechas como texto es tan ilogico como hacer sumas con texto:

"1" + "2"

No tiene sentido, verdad? Igual fechas.

MacStreet 29-11-2018 00:00:39

Tema solucionado, muchas gracias por ayudar Ecfisa :)


La franja horaria es GMT +2. Ahora son las 14:32:38.

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