Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2008
Tom Tom is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
Tom Va por buen camino
Marcar una fecha en un TMonthCalendar

Que tal gente
mi pregunta es la siguiente, como podria llenar en un TMonthCalendar fechas apartir de una base de datos, la parte de base de datos no hay problema, solo quisiera saber como puedo recorrer el objeto e ir marcando las fechas.

muchas gracias de antemano

saludos
Responder Con Cita
  #2  
Antiguo 25-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
MonthCalendar1.Date:= StrToDate('22/02/2008');
En vez de poner el dato string de una vez, pones el dato que envia la base de datos.
Saludos
Responder Con Cita
  #3  
Antiguo 25-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Tom Ver Mensaje
Que tal gente
mi pregunta es la siguiente, como podria llenar en un TMonthCalendar fechas apartir de una base de datos, la parte de base de datos no hay problema, solo quisiera saber como puedo recorrer el objeto e ir marcando las fechas.

muchas gracias de antemano

saludos
Hola Bienvenido al Club, tu problema se resuelve usando el evento AfterScroll de la tabla.

Código Delphi [-]
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
begin
  MonthCalendar1.Date := Table1Fecha.Value;
end;

Salud OS

PD, Te invito a leer nuestra guia de estilo.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 25-02-2008
spyfenix spyfenix is offline
Miembro
 
Registrado: mar 2007
Posts: 35
Poder: 0
spyfenix Va por buen camino
Gracias por sus respuestas, mas que nada lo que quiero es marcar varias fechas en un mismo mes, y de esta forma me marca la ultima fecha

Código Delphi [-]
Calendario.Date:= StrToDate('22/02/2008');
Calendario.Date:= StrToDate('23/02/2008');
Calendario.Date:= StrToDate('24/02/2008');

Si pongo este codigo, solo aparecera marcado el dia 24, mi pregunta es como marcar varias fechas en un mismo mes.

muchas gracias
Responder Con Cita
  #5  
Antiguo 25-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por spyfenix Ver Mensaje
Gracias por sus respuestas, mas que nada lo que quiero es marcar varias fechas en un mismo mes, y de esta forma me marca la ultima fecha

Código Delphi [-]
Calendario.Date:= StrToDate('22/02/2008');
Calendario.Date:= StrToDate('23/02/2008');
Calendario.Date:= StrToDate('24/02/2008');

Si pongo este codigo, solo aparecera marcado el dia 24, mi pregunta es como marcar varias fechas en un mismo mes.

muchas gracias
Hola spyfenix o quizas Tom

Si cambias la propiedad Multiselect del MonthCalendar a True podrás ver las fechas seleccionadas pero solo si éstas son continuas, por ejemplo 23, 24, 25, 26, pero si seleccionas fechas "saltadas" no creo que sea posible.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 25-02-2008
Tom Tom is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
Tom Va por buen camino
Question

SpyderFenix ?????
bueno, ya estuve checando esta forma de agregar las fechas pero las maneja por rango, y creo que no me servira.
lo que quiero hacer es tipo un calendario de actividades, alguien me podria dar el tipo de algun componente que hayan usado para mostrar diferentes fechas en un mismo mes ???

Muchas gracias por la ayuda
SALUDOS
Responder Con Cita
  #7  
Antiguo 26-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Tal vez esto que nuestro amigo Neftali proporcionó te ayude...

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 26-02-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Tom, creo que lo mas que puedes hacer en el MonthCalendar es resaltar las fechas poniendolas en negrilla.

Código Delphi [-]
procedure TForm1.MonthCalendar1GetMonthInfo(Sender: TObject;
  Month: Cardinal; var MonthBoldInfo: Cardinal);
begin
 MonthCalendar1.BoldDays([1,6,10,13],MonthBoldInfo);
end;

eso te marca los dias 1,6,10 y 13 del mes que se esta viendo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 26-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Y si quieres colorear más, usa el MaxCalendar, gratuito y con fuentes.

La negrilla tienen poco de resaltado, la verdad.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hace algún tiempo Lepe puso un Calendario Dinámico en el club.
Le he hecho algunas modificaciones, he modificado un poco la apariencia y ahora el calendario guarda la información en una base de datos access ademas de otras cositas que espero le gusten al Maestro Lepe.
Me parece que va con el tema que se esta tratando, espero que os guste.
Pongo el archivo aquí por unos días, luego tal vez lo suba al Ftp del club, espero la anuencia de Lepe.
Saludos

Última edición por Caral fecha: 05-03-2008 a las 18:04:20.
Responder Con Cita
  #11  
Antiguo 27-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¡¡ qué guapada !!

¿eso era mío? vaya tuneo que le has pegado!!
los 7 paneles le dan una apariencia tremenda.

Como no tenía Delphi a mano, he creado la ruta "c:\program files\ ... Projects 6.1" para probarlo, me ha gustado mucho.

En el foro he visto usar una función muy útil para el calendario. Cuando cambiamos de mes, se produce un parpadeo lógico de la pantalla, porque se borra el calendario y se crea de nuevo, bien, ese parpadeo puede evitarse:

Código Delphi [-]
 procedure TForm1.CreaCalendario;
...
begin
    LockWindowUpdate(self.Handle);
// aquí el contenido original de esta rutina
    LockWindowUpdate(0);
end;

El calendario ya se encuentra en el ftp: Directorio raíz » Delphi-Win32 » Ejemplos. Si puediera eliminarse y poner el tuyo con las modificaciones, sería fantástico.

Saludos de "Maestro" a "Maestro"
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #12  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Gracias Lepe, me alegro que te gustaran los retoques, eso quiere decir que estoy aprendiendo, sobre todo de Maestros como tu., pero no dejan de ser mas que eso, retoques, la esencia del codigo es tuya, es lo que vale.
He intentando pone el codigo que me dices, pero me dice que self no esta declarado, no se a que se debe, si tienes un rato me explicas por favor.
En cuanto a colocar el codigo en el ftp, creo que si estas de acuerdo se podria contactar con Jhonny o dec, ellos lo pueden hacer.
Gracias de nuevo.
Saludos
Responder Con Cita
  #13  
Antiguo 28-02-2008
Tom Tom is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
Tom Va por buen camino
Wuooooo

Que buen calendario , me ha sacado de broncas, muchas gracias por este grandioso codigo, muy valioso.

Gracias y pues la vdd, despues de este programin esta todo mas que claro.

Muchas gracias por la ayuda

Quedo contento

Saludos
Responder Con Cita
  #14  
Antiguo 28-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Puedes quitar la palabra "Self." es una manía más que otra cosa .

Self hace referencia al objeto que instancia la clase, digamos que es un comodín, ya que una ventana puede crearse varias veces desde distintas variables, por ejemplo al compilar:
Código Delphi [-]
var f1, f2:TForm1;
begin
f1 := TForm1.Create(application);
f2 := TForm1.Create(application);

En la unidad de TForm1 no podemos poner "Form1.width := 300" porque no estamos usando la variable "Form1", en este caso usamos f1 y f2, así que en la unidad TForm1 pondremos "Self.width := 300" o abreviando, también podemos escribir "width := 300"

Yo dije que se quitara el original por el hecho de ahorrar espacio en el FTP yno repetir programas, pero si vamos a causar más molestias que otra cosa, que se quede como está .

Lo dicho, se lo comentas y si le pilla de paso el FTP, que lo borre.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #15  
Antiguo 28-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Gracias Lepe, mas que claro, ya he arreglado esto y si, mejora mucho.
Voy a implementarlo con un archivo INI (como me comento Egostar) así sera mas fácil instalarlo y poner la base de datos en donde se quiera.
Si se te ocurre algo mas que se le pueda hacer me gustaría tratar de hacerlo, con tu ayuda por supuesto.
Saludos
Responder Con Cita
  #16  
Antiguo 28-02-2008
Tom Tom is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
Tom Va por buen camino
Exclamation no reconoce handle

Estoy haciendo lo que menciono Lepe usando este codigo para evitar el parpadeo al cambio de la fecha

Código Delphi [-]
 procedure TForm1.CreaCalendario;...begin    LockWindowUpdate(self.Handle);// aquí el contenido original de esta rutina    LockWindowUpdate(0);end;

pero me marca el sig error :

Undeclared identifier 'handle'

usa alguna clase este o algo para que me lo tome en cuenta ??

Gracias Saludos
Responder Con Cita
  #17  
Antiguo 28-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hay que declarar el procedimiento.
Voy a cambiar el archivo, con esa modificación y con el archivo INI.
En unos minutos lo coloco, estoy en eso.
Saludos
Responder Con Cita
  #18  
Antiguo 28-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Gracias Lepe, mas que claro, ya he arreglado esto y si, mejora mucho.
Voy a implementarlo con un archivo INI (como me comento Egostar) así sera mas fácil instalarlo y poner la base de datos en donde se quiera.
Si se te ocurre algo mas que se le pueda hacer me gustaría tratar de hacerlo, con tu ayuda por supuesto.
Saludos
Hey, que pasó amigo, que van a pensar de mi , que soy un vago que ni eso puedo hacer......

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #19  
Antiguo 28-02-2008
Tom Tom is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
Tom Va por buen camino
Ok

Ok Muy bien, entonces esperare unos minuticos y a checar

Saludos
Responder Con Cita
  #20  
Antiguo 28-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hoy estas susceptible, por que sera
Ya sabes que a lo que me refiero es a que me indicaste, muy atinadamente que le pusiera un archivo ini, que seria mejor y que TU, te harías el tuyo.
Bueno, ya hice las modificaciones y he puesto el programa en el mismo hilo, para que no cambie el concepto.
Ya lo podéis bajar ahí.
Saludos
Ah, se me olvida, si no saben usar un INI, es bueno leer el archivo leeme.
Responder Con Cita
Respuesta



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
COlor de dia especifico en TMOnthCalendar jorgesl Varios 2 26-07-2006 09:37:02
OnKeyDown en TMonthCalendar gluglu Varios 0 20-12-2005 11:35:54
problema con TMonthCalendar!! kye_z Varios 2 16-11-2004 22:22:14
Ayuda con el Tmonthcalendar acrophet Varios 1 29-09-2003 13:04:18
marcar fechas en tmonthcalendar aitken Varios 1 22-05-2003 15:45:56


La franja horaria es GMT +2. Ahora son las 00:36:55.


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