Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Cambiar Caption

Hola a todos
Tengo una pregunta, seguramente muy tonta pero no le llego, a ver si me podéis ayudar.
Tengo Este código que esta en el evento OnCreate del form.

Código Delphi [-]
 LReloj2.Text := FormatDateTime('hh:nn',Time);
DateTimePicker1.DateTime:= Now;
   If LReloj2.Text > '12:00' then    
begin    
Button1.Caption:= 'Registrar la Entrada de la Tarde';
   end
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';


Como veis LReloj2 tiene un formato Hora, minutos, este esta ligado a un timer para que haga el cambio.
Lo que pretendo es que el caption del Button1 cambie dependiendo de la hora que se presente en LReloj2 que es un Edit.
Gracias por vuestros consejos.
Saludos
Responder Con Cita
  #2  
Antiguo 07-02-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
coloca esto en el form OnCreate:

Código Delphi [-]
Timer1.Enabled:= True;
Timer1.Interval:= 1;

luego

coloca el siguiente codigo en un timer:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 LReloj2.Text := FormatDateTime('hh:mm',Time);
   If LReloj2.Text >= '12:00' then
begin
Button1.Caption:= 'Registrar la Entrada de la Tarde';
   end
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';
end;

Última edición por cmm07 fecha: 07-02-2008 a las 17:47:28.
Responder Con Cita
  #3  
Antiguo 07-02-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
El problema es que "LReloj2.Text > '12:00'" te compara dos textos y, por ejemplo, "2:00" es mayor que "12:00", ya que "2" es mayor que "1". Deberías obtener la hora en formato numérico y de esa forma la comparación sería más adecuada.

Creo recordar que "Now" devolvía el número de segundos, aunque ahora mismo no recuerdo cómo "quitarle los días", no sé si me explico.

[edito] Te adelaste, cmm07...
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #4  
Antiguo 07-02-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
no te entendí mucho pero si lo que quieres decir es pasarlo a numerico quedaría así

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
function stripped(stripchar : char; str : string) : string;
var
  tmpstr : string;
begin
  tmpstr := str;
  while pos(stripchar, tmpstr) > 0 do
    delete(tmpstr, pos(stripchar, tmpstr), 1);
  stripped := tmpstr;
end;

var
Hora: Integer;
begin
LReloj2.Text := FormatDateTime('hh:mm',Time);
Hora:= StrToInt(Stripped(':', LReloj2.Text));
 If Hora >= 1200 then
begin
Button1.Caption:= 'Registrar la Entrada de la Tarde';
   end
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';
end;


mas corto el codigo:

Código Delphi [-]
var
Hora: Integer;
begin
LReloj2.Text:= FormatDateTime('hh:mm',Time);
Hora:= StrToInt(Copy(LReloj2.Text, 0, 2)+Copy(LReloj2.Text, 4, 5));
 If Hora >= 1200 then
begin
Button1.Caption:= 'Registrar la Entrada de la Tarde';
   end
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';

si es así entonces no necesitaria ese LReloj2.

*recuerda colocar eso en un timer y esto en un form en oncreate:

Código Delphi [-]
Timer1.Enabled:= True;
Timer1.Interval:= 1;

Última edición por cmm07 fecha: 07-02-2008 a las 18:01:57.
Responder Con Cita
  #5  
Antiguo 07-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
Muchas gracias, me estoy volviendo viejo, lo tenia en el timer y lo cambie a create sin darme cuenta de que no funcionaria, bueno, por eso soy novato.
Ya esta solucionado, os lo agradezco mucho.
Saludos
Responder Con Cita
  #6  
Antiguo 07-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por cmm07 Ver Mensaje
entonces si hay que pasarlo a numerico quedaría así

(creando codigo...)


Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 07-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Otra solución sin pasarlo a numérico (una idea muy interesante de cmm07 )

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Time > StrtoTime('12:00') then
     Button1.Caption:= 'Registrar la Entrada de la Tarde'
  else Button1.Caption:= 'Registrar la Entrada de la Mañana';
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  if Time > StrtoTime('12:00') then
     Button1.Caption:= 'Registrar la Entrada de la Tarde'
  else Button1.Caption:= 'Registrar la Entrada de la Mañana';
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 07-02-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
jajaja para pasarlo a numerico no habia que hacer tanto atao aqui les dejo algo mas clarito:

Código Delphi [-]
if StrToInt(Copy(TimeToStr(Time), 0, 2)+Copy(TimeToStr(Time), 4, 2)) > 1200 then
Button1.Caption:= 'Registrar la Entrada de la Tarde'
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';

SALU2

Gracias a [egostar] pude darme cuenta gracias.

Última edición por cmm07 fecha: 07-02-2008 a las 18:15:32.
Responder Con Cita
  #9  
Antiguo 07-02-2008
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
Código Delphi [-]
uses DateUtils

...

if IsPM (now) then
Button1.Caption:= 'Registrar la Entrada de la Tarde'
else
Button1.Caption:= 'Registrar la Entrada de la Mañana';


mejor?

Última edición por sinalocarlos fecha: 07-02-2008 a las 18:55:44. Razón: me falto el uses
Responder Con Cita
  #10  
Antiguo 07-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
La respuesta de sinalocarlos, me ha llamado la atención, no sólo por su simpleza sino también por el hecho de que desconocía dicha función.

Simplemente elegante y correcta.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 07-02-2008
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
me he sonrojado

alguien me ha dicho que escribí al menos 4 lineas de forma limpia, se agradece

Si algo he aprendido en el Club (a punta de mandarme a la guía de estilo) es que no hay que reinventar la rueda, darse una vuelta por la ayuda de Delphi ayuda bastante de ves en cuando


Saludos desde Tijuana, México
Responder Con Cita
  #12  
Antiguo 08-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Cita:
Empezado por sinalocarlos Ver Mensaje
me he sonrojado

alguien me ha dicho que escribí al menos 4 lineas de forma limpia, se agradece

Si algo he aprendido en el Club (a punta de mandarme a la guía de estilo) es que no hay que reinventar la rueda, darse una vuelta por la ayuda de Delphi ayuda bastante de ves en cuando


Saludos desde Tijuana, México
¿Te sonrojaste? Nos pasa a todos cuando nos dicen esas cosas por aquí .

¿Guía de estilo? Y Ezo Que E?

¿Reinventar la rueda? ¡A mí me encanta! Sobre todo cuando me pongo necio y digo «no pienso usar esa unit »... hasta me hice mi propio IntToStr


Y, dentro del tema del hilo... ¡estos novatos y sus dudas...!


Salu2.
Responder Con Cita
  #13  
Antiguo 08-02-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por ixMike Ver Mensaje
¿Guía de estilo? Y Ezo Que E?

¿Reinventar la rueda? ¡A mí me encanta! Sobre todo cuando me pongo necio y digo «no pienso usar esa unit »... hasta me hice mi propio IntToStr
¡Eres mi alma gemela! Si tienes chabola me caso contigo, que aquí se puede

[p.s.] Algo me dice que hoy voy a tener el día tontorrón...
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #14  
Antiguo 08-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por sinalocarlos Ver Mensaje
me he sonrojado

alguien me ha dicho que escribí al menos 4 lineas de forma limpia, se agradece
Cita:
Empezado por ixMike Ver Mensaje
¿Te sonrojaste? Nos pasa a todos cuando nos dicen esas cosas por aquí .

¿Guía de estilo? Y Ezo Que E?

¿Reinventar la rueda? ¡A mí me encanta! Sobre todo cuando me pongo necio y digo «no pienso usar esa unit »... hasta me hice mi propio IntToStr


Y, dentro del tema del hilo... ¡estos novatos y sus dudas...!


Salu2.
Cita:
Empezado por Ñuño Martínez Ver Mensaje
¡Eres mi alma gemela! Si tienes chabola me caso contigo, que aquí se puede

[p.s.] Algo me dice que hoy voy a tener el día tontorrón...
¿Que pasó aqui? Muchachos creo que se pasaron de copas... Un poco de gaseosa y cada uno a su cama.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Cambiar el Caption de un Form en tiempo de ejecucion kikodelphi OOP 5 14-01-2012 23:54:22
Cambiar Caption Ayuda...!!! alexis19 Varios 3 26-01-2008 15:25:42
Cambiar el caption de un boton segun el registro nenufer Varios 8 08-06-2006 10:32:48
Cambiar título/caption de un programa Casimiro Notevi Varios 3 23-10-2005 00:03:06
cambiar color de caption al presionar unko! OOP 4 13-03-2005 18:30:33


La franja horaria es GMT +2. Ahora son las 20:57:52.


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