Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2021
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Os enseño más pruebas que estoy haciendo.

El .ini tiene lo siguiente:
Cita:
[FECHA]
UltFecha=24/02/2021 12:36:13
En el código me he creado 2 variables, una string sUltFecha y otra datetime dUltFecha.

He hecho que me escriba mensajes en un fichero.

El código es:
Código Delphi [-]
    sUltFecha:= oArchivo.ReadString('FECHA', 'UltFecha', '31/12/1999');
    WriteLN(Fich, 'FECHA STRING : '+sUltFecha);
    dUltFecha:= oArchivo.ReadDateTime('FECHA', 'UltFecha', 31/12/1999);
    WriteLN(Fich, 'FECHA DATETIME: '+DateTimetoStr(dUltFecha));

Si lo lanzo arrancando el exe y dándole al botón que llama al procedimiento, me escribe esto en el fichero:

Cita:
FECHA STRING : 24/02/2021 12:35:02
FECHA DATETIME: 24/02/2021 12:35:02
Si lanzo el procedimiento a través de la tarea programada, me escribe esto en el fichero:

Cita:
FECHA STRING : 24/02/2021 12:36:13
FECHA DATETIME: 12/30/1899 12:01:51 AM
No lo entiendo, en el equipo no veo nada raro y no se ha actualizado.
Responder Con Cita
  #2  
Antiguo 24-02-2021
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Perdón, copié mal la primera cita de las 2 de abajo, las horas son 12:36:13, es decir, coge bien el dato ejecutándolo así.
Responder Con Cita
  #3  
Antiguo 24-02-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Hace unos días tuve un inconveniente parecido con el consumo de un servicio.

Al hacerlo el consumo desde la sesión de usuario el formato de decimales era con coma ",". Pero al hacerse por medio de un tarea programada el formato de decimales era con punto ".".

La solución fue copiar la misma configuración regional a todos los demás usuarios y cuentas del sistema.

Aplicar la configuración regional y de idioma a cuentas reservadas

__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 24-02-2021
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Además de lo que comenta movorack, ¿Esto está bien o falta las comillas?
Código Delphi [-]
dUltFecha:= oArchivo.ReadDateTime('FECHA', 'UltFecha', 31/12/1999);  // ¿Faltan comillas?
dUltFecha:= oArchivo.ReadDateTime('FECHA', 'UltFecha', '31/12/1999');  // así
Responder Con Cita
  #5  
Antiguo 24-02-2021
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Hola chicos,

En cuanto pueda pruebo lo que comenta movorack y os digo.

Respecto a lo otro, está bien, funciona sin comillas, si le pongo comillas da error porque no espera un string.

Un saludo
Responder Con Cita
  #6  
Antiguo 24-02-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por juggern Ver Mensaje
está bien, funciona sin comillas, si le pongo comillas da error porque no espera un string.
Un saludo
Debes tener en cuenta que la fecha en Delphi es un valor decimal, por ello no te genera error.


Cita:
Empezado por Casimiro Notevi Ver Mensaje
Código Delphi [-]
dUltFecha:= oArchivo.ReadDateTime('FECHA', 'UltFecha', 31/12/1999);  // ¿Faltan comillas?
Pero lo que haces aquí es pasar como fecha el resultado de la división entre 31, 12 y 1999 = 0,00129 = 30/12/1899 12:01:51 a.*m.

Si quieres pasar el valor de fecha por defecto con una cadena puedes convertir el string a date
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #7  
Antiguo 24-02-2021
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Hola de nuevo,

Acabo de probarlo y tienen todas la misma configuración. Aún así, por si acaso, lo he hecho pero nada, no funciona.

Si lo paso asi
Código Delphi [-]
oArchivo.ReadDateTime('FECHA', 'UltFecha', StrToDateTime('31/12/1999'));

No pasa de ahí, pero ese no es el principal problema, porque esa es la fecha por defecto si no hubiera nada en el .ini, pero si que tiene datos, el problema es que no me está cogiendo bien esos datos como fecha cuando lo ejecuto desde tarea.

En vista de que sí que me coge el dato del .ini como string, he probado a guardarlo en string y luego ese valor, guardarlo en otra variable TDateTime haciendo la conversión
Código Delphi [-]
WriteLN(Fich, '1');
fechacadena:= oArchivo.ReadString('FECHA', 'UltFecha', '31/12/1999');
WriteLN(Fich, '2');
fecha:= StrtoDateTime(fechacadena);
WriteLN(Fich, '3');

Pero haciendo esto, el programa se para en la instrucción como si diera error. En el fichero solo guarda hasta el 2, al 3 no llega. Esto, al igual que antes, pasa si lo lanzo desde el programador de tareas, si lo lanzo desde el botón, funciona bien, pinta el 3.

Última edición por juggern fecha: 24-02-2021 a las 16:21:46.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Fallo en tarea programada. Lanzar programa con interfaz gráfica fjcg02 Windows 27 07-10-2014 14:46:41
Crear una Tarea Programada. DasGrun Windows 1 04-08-2010 11:44:38
Tarea programada en Linux con Firebird 2.5 Axel_Tech Firebird e Interbase 6 16-04-2010 18:52:16
Tarea programada en delphi drykea Varios 6 18-02-2008 16:59:19
hacer una tarea programada Patricio Varios 6 18-09-2007 20:39:21


La franja horaria es GMT +2. Ahora son las 01:08:12.


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
Copyright 1996-2007 Club Delphi