Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Fecha por defecto TCalendar (https://www.clubdelphi.com/foros/showthread.php?t=74240)

leogobo 07-06-2011 04:25:58

Fecha por defecto TCalendar
 
Hola,

quisiera saber como hago para poner una fecha por defecto en el TCalendar, osea que cuando abra el formulario donde se encuentra el TCalendar ponga la fecha actual o cualquiera que yo quiera.

Gracias

Caral 07-06-2011 04:42:01

Hola
Una fecha especifica:
Código Delphi [-]
MonthCalendar1.Date:= StrToDate('6/9/2011');
Fecha actual:
Código Delphi [-]
MonthCalendar1.Date:= Now;
Saludos

Caral 07-06-2011 05:24:34

Hola
Parece que me confunci con el TMonthCalendar.
Para el TCalendar es asi:
Para una fecha especifica:
Código Delphi [-]
  Calendar1.Year:= 2011;
  Calendar1.Month:= 7;
  Calendar1.Day:= 8;
Para la fecha actual:
Código Delphi [-]
var
 Mes, dia, year: TDate;
begin
   Mes:= Now;
   dia:= Now;
   year:= Now;
   Calendar1.Day:= StrToInt(FormatDateTime('mm',dia));
   Calendar1.Month:= StrToInt(FormatDateTime('mm',Mes));
   Calendar1.Year:= StrToInt(FormatDateTime('yyyy',year));
El componente TCalendar usa la fecha en tres partes separadas, dia, mes y año, ademas el dato que adquiere es de tipo integer por eso hay que hacer la conversion tomando el dato de la fecha del sistema.
Saludos

leogobo 07-06-2011 05:26:34

Aparece el siguiente error para calendar1.Date:=Now;


Incomplatible type for arg no.1: Got "TDateTime", expected "AnsiString"

Caral 07-06-2011 05:34:12

Hola
Repito::)

Parece que me confunci con el TMonthCalendar.
Para el TCalendar es asi:
Para una fecha especifica:

Código Delphi [-]
Calendar1.Year:= 2011;
  Calendar1.Month:= 7;
  Calendar1.Day:= 8;
Para la fecha actual:

Código Delphi [-]
var
 Mes, dia, year: TDate;
begin
   Mes:= Now;
   dia:= Now;
   year:= Now;
   Calendar1.Day:= StrToInt(FormatDateTime('mm',dia));
   Calendar1.Month:= StrToInt(FormatDateTime('mm',Mes));
   Calendar1.Year:= StrToInt(FormatDateTime('yyyy',year));
El componente TCalendar usa la fecha en tres partes separadas, dia, mes y año, ademas el dato que adquiere es de tipo integer por eso hay que hacer la conversion tomando el dato de la fecha del sistema.
Saludos

leogobo 07-06-2011 15:22:39

Ahora aparece el siguiente error:

Identifier indents no member "Day".
Identifier indents no member "Month".
Identifier indents no member "Year".

Una aclaracion. Estoy utilizando Lazarus.

maeyanes 07-06-2011 16:02:51

Hola...

No he usado Lazarus y desconozco mucho de el, pero al menos en Delphi la clase TCalendar contiene una propiedad llamada UseCurrentDate, la cual tiene como valor predeterminado True y le indica al control que use la fecha actual del sistema. Así que solo tienes que hacer:

Código Delphi [-]
Calendar.UseCurrentDate := True;

Verifica si en Lazarus la clase tiene la misma propiedad y úsala.


Saludos...


Saludos...

leogobo 07-06-2011 18:57:48

Ya solucione esto,

Se cuadra con la propiedad DateTime asi:

Código Delphi [-]
Calendar1.DateTime:=Now;

ecfisa 07-06-2011 20:24:06

Hola leogobo.

No sé si ya conocés la página pero aquí, entre otras cosas, encontras todas (creo) las declaraciones de clases de Lazarus: Lazarus Tutorial.

Están muy bién documentadas todas las propiedades y eventos de cada una de ellas.

Espero te sirva.

Saludos.


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

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