Ver Mensaje Individual
  #7  
Antiguo 12-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
zcatzz, si bien puedes intentar con otras componentes, yo creo que lo mejor sería primero ver porque está fallando el control estándar.

Ya has visto que ShortDateFormat no te va a servir, lo cual está explicado en la ayuda de Delphi:

Cita:
TDateTimePicker formats date and time values according to the date and time settings in the Regional Settings of the Control panel on the user’s system. Because TDateTimePicker is a wrapper for a Windows control, these formats can’t be changed by changing the formatting variables in the SysUtils unit. However, you can use the Windows API call DateTime_SetFormat to programmatically specify these settings.
Así, pues, vayamos olvidándonos de esa parte del código.

Como ves, la misma ayuda menciona el uso de DateTime_SetFormat, que básicamente es lo que ya tienes con Perform, aunque veo un poco rara la forma en que lo usas, ¿qué tipo de datos tiene tu variable Formato?

Por otra parte, no entiendo por qué asignas la fecha al datetimepicker con una doble conversión:

datetime -> string -> datetime

cuando puedes hacerlo directamente. Los valores Date o DateTime no dependen del formato que se use para mostrarlos.

Así pues, yo primero que nada intentaría- a falta de la propiedad Format que, por lo visto, no viene en Delphi 5- usar el Perform:

Código Delphi [-]
var
  Fmt: String;

begin
  Fmt := 'dd/MM/yyyy';

  FechaC.DateTime := Now;
  FechaC.Perform(DTM_SETFORMAT, 0, Integer(PChar(Fmt)));
end;

// Saludos

Última edición por roman fecha: 12-05-2007 a las 02:10:33.
Responder Con Cita