Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Talking Borrar Edit automático

Hola a todos,

soy novato aqui y con Delphi, por lo que ahi va mi primera duda. Se puede hacer que se borre el texto de un edit cuando el reloj llegue a las horas en punto? Ya tengo el reloj funcionando en mi aplicación, en un label, tal que asi...

LabelHora.Caption:= TimeToStr(now);

Gracias, a ver si tengo suerte y alguien puede ayudar.

Un saludo.
Responder Con Cita
  #2  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
hola... bienvenido al foro...

podrias utilizar el componente Timer ahi podrias hacer preguntas en el OnTimer que si es la hora determinada el edit se ponga en blanco

saludos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Borrar Edit automático

Cita:
Empezado por oscarac Ver Mensaje
hola... bienvenido al foro...

podrias utilizar el componente Timer ahi podrias hacer preguntas en el OnTimer que si es la hora determinada el edit se ponga en blanco

saludos
Hola y gracias.

Entonces en el evento onTimer del Timer1 (que es mi reloj, añado esto?? por ejemplo)

procedure TForm1.Timer1Timer(Sender: TObject);
begin
LabelHora.Caption:= TimeToStr(now);
Edit1.Text:= ' ';
end;

Perdon, soy muy novato, pero creo que me falta añadir algo para que a las horas en punto se borre automáticamente el texto del Edit1 y no se que poner.

Lo he buscado bastante pero no lo encuentro.

Gracias de nuevo.

Groonan.
Responder Con Cita
  #4  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
que es lo quieres decir con.. las horas en Punto?

09:00
10:00
11:00

algo asi?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
que es lo quieres decir con.. las horas en Punto?

09:00
10:00
11:00

algo asi?

Si, si, exactamente asi. Cada vez que llegue a cada hora en punto que se borre el Edit.

Un saludo.
Responder Con Cita
  #6  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
a ver
normalmente no tengo esas caracteristicas en los programas que hago pero puedes usar mas o menos esto

Código Delphi [-]
 
Minutos := Copy(TimeToStr(GetTime),4,2);
if Minutos = '00' Then
  Edit1.text := ''
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 25-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Se me ocurre que podrías hacer:
Código Delphi [-]
uses DateUtils;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if MinuteOf(Now)=0 then
    Edit1.Text:= '';
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
a ver
normalmente no tengo esas caracteristicas en los programas que hago pero puedes usar mas o menos esto

Código Delphi [-] Minutos := Copy(TimeToStr(GetTime),4,2); if Minutos = '00' Then Edit1.text := ''
Que tipo de variable es Minutos? Lo digo por declararla antes no?

Gracias.
Responder Con Cita
  #9  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Código Delphi [-]
if minutos = '00' then

debe ser string... revisa el ejemplo que tambien dejo Flash Ecfisa
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Se me ocurre que podrías hacer:
Código Delphi [-]uses DateUtils; procedure TForm1.Timer1Timer(Sender: TObject); begin if MinuteOf(Now)=0 then Edit1.Text:= ''; end;


Saludos.

Uff, soy muy novato... MinuteOf es otra variable no? La declaro antes? De que tipo es?

Gracias.
Responder Con Cita
  #11  
Antiguo 25-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No, MinuteOf es una función que está en la unit DateUtils (por lo que hay que incluirla) y devuelve los minutos del argumento (de tipo TDateTime) que se le pase.
La función Now devuelve la fecha y hora actuales en formato TDateTime, por lo tanto se le envía a MinuteOf para que extraiga los minutos.

El código que te puse arriba debería funcionar con sólo pegarlo y copiarlo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Unhappy

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

No, MinuteOf es una función que está en la unit DateUtils (por lo que hay que incluirla) y devuelve los minutos del argumento (de tipo TDateTime) que se le pase.
La función Now devuelve la fecha y hora actuales en formato TDateTime, por lo tanto se le envía a MinuteOf para que extraiga los minutos.

El código que te puse arriba debería funcionar con sólo pegarlo y copiarlo.

Saludos.

Voy a probar.

Saludos.

Última edición por Groonan fecha: 25-08-2011 a las 17:09:21.
Responder Con Cita
  #13  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
Cita:
Empezado por Groonan Ver Mensaje
Voy a probar.

Saludos.
Si, funciona !!!!!.

Aunque si quiero seguir añadiendo cosas al Edit, me lo borra automaticamente despues de llegar la hora, supongo que habra alguna manera de que solo funcione a la hora en punto exacto y no a partir de la hora en punto. Se puede parar o pausar la linea:

Edit1.Text:= '';

para que yo siga añadiendo mas datos en el edit, hasta que llegue la proxima hora en punto.

Puede ser posible?

Gracias.
Responder Con Cita
  #14  
Antiguo 25-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Aunque si quiero seguir añadiendo cosas al Edit, me lo borra automaticamente despues de llegar la hora, supongo que habra alguna manera de que solo funcione a la hora en punto exacto y no a partir de la hora en punto.
Hola Groonan.

El código anterior limpia el texto del TEdit cuando llega a una hora en punto, no entiendo bién que es lo que deseas hacer.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Groonan Ver Mensaje
Si, funciona !!!!!.

Aunque si quiero seguir añadiendo cosas al Edit, me lo borra automaticamente despues de llegar la hora, supongo que habra alguna manera de que solo funcione a la hora en punto exacto y no a partir de la hora en punto. Se puede parar o pausar la linea:

Edit1.Text:= '';

para que yo siga añadiendo mas datos en el edit, hasta que llegue la proxima hora en punto.

Puede ser posible?

Gracias.

pues lo que ecfisa y yo te hemos sugerido deberia funcionar de la siguiente manera

si el reloj marca las horas en punto (09:00, 10:00, 11:00... ) el edit se blanquea

muy particularmente no le veo la utilidad a esto (salvo que tu tengas una explicacion de porque lo haces asi)... para poder tener un criterio mas amplio seria bueno que detallaras un poquito mas cual es el objetivo o que pretendes hacer con esa rutina... si forma parte de algo mas... comprendes?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #16  
Antiguo 25-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Ahora entiendo el problema , te lo sigue limpiando hasta que se cumpla el minuto 1...

Entonces probá de este modo:
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (MinuteOf(Now)=0)and(SecondOf(Now)=0) then
    Edit1.Text:= '';
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #17  
Antiguo 25-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
lo mismo pense.. el segundero aun no llega a 60...

debo ser mas rapido... es escribir... ecfisa me gana todas
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #18  
Antiguo 25-08-2011
Avatar de Groonan
Groonan Groonan is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 8
Poder: 0
Groonan Va por buen camino
PERFECTO !!!!

Gracias a los dos. Se que las personas tenemos cada una un problema espefico y muchas veces, si ademas el que pregunta es tan novato como yo, vosotros contestais de la mejor manera posible, pero me imagino que os cuesta comprender a nuestras peticiones.

He empezado a trabajar en la puerta de un lugar donde tengo que controlar el aforo que entra y sale cada hora...manualmente. Gracias a vosotros dos acabo de crear el programa que me va a evitar usar el boligrafo y papel durante las 9 horas de trabajo.

Gracias de nuevo y si yo puedo ayudaros en algo, contad conmigo.

Un saludo.
Responder Con Cita
  #19  
Antiguo 25-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Execelente codigo Ecfisa!

Solo quisiera agregarle algo:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if SecondOf(Now) = 0 then
    TTimer(Sender).Interval := 60000; // ejecutarse cada 60 segundos

  if (MinuteOf(Now)=0)and(SecondOf(Now)=0) then
    Edit1.Text:= '';
end;

Con eso el codigo el Timer empezara a ejecutar cada minuto, en lugar de cada segundo, aliviando un poco el procesador y la aplicacion. Se pudiera hacer algo similar para que el codigo se ejecutase cada hora, pero los cronometros no son muy precisos y al final terminarias con impresiciones de un par de segundos si aunmentas el intervalo en una hora por ejemplo.

Saludos,
Chris

PD.: Disculpen la ausencia de acentos, estoy usando un LiveCD de Ubuntu y no se me configuro correctamente el teclado
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
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
Como borrar el contenido de un edit con un boton ?? llSnakell Varios 2 26-01-2011 04:29:00
como puedo borrar 100 edit bothy Varios 14 14-07-2010 03:33:11
demasiados edit para borrar huwabe78 Varios 12 30-11-2006 00:16:00
Borrar lineas detalle al borrar registro maestro akinom38 Conexión con bases de datos 3 11-01-2006 10:38:07
borrar los campos de un DBGrid sin borrar los titulos de las columnas Torreblanca OOP 2 02-08-2005 00:12:52


La franja horaria es GMT +2. Ahora son las 19:23:21.


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