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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por jorgegetafe Ver Mensaje
Genial arreglaste mi problema :-)

Una cosilla (creo que os deberia pagar por todo lo que me ayudais jaja), ya he conseguido que mediante tres edit introducidos por el usuario se muestre la hora que es en un label, que lo muestro con un ttimer, que pasa, que si pilla el ttimer con alguno de los edit en blanco de la hora, WUEEEEE!!! fallo del programa, alguien sabe como corregir eso?
Porque estas usando la conversion de los time, porque no tratas con esto

Código Delphi [-]
Label3.Caption := hora.Text+':'+minuto.Text+':'+segundo.text;

Solo que aquí veo otro problema, si capturan la hora puede ser que escriban datos erróneos, necesitas validar cada edit, por ejemplo que no coloquen letras solo números, que las horas sean entre 00 y 24, que los minutos y segundos sean entre 00 y 60.

Y como te dice mi amigo poliburro, sería un buen gesto de tu parte hacerte miembro premium.

Salud OS

Edito: Si prefieres trabajar con valores time, debes de hacer lo que te comento, validar los edit antes de hacer la conversion a time.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #2  
Antiguo 31-10-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 20
jorgegetafe Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Porque estas usando la conversion de los time, porque no tratas con esto


Código Delphi [-]
Label3.Caption := hora.Text+':'+minuto.Text+':'+segundo.text;
Edito: Si prefieres trabajar con valores time, debes de hacer lo que te comento, validar los edit antes de hacer la conversion a time.
La verdad es que prefiero trabajar con valores time, para que me sea más facil restar un tiempo de otro, sino de la otra forma es un lio padre.

Respecto a la validación, se hacerla de forma estatica, es decir, pillar un edit y ver si es correcto o no, pero no se hacerlo en "tiempo real", osea, que a la vez que el usuario vaya introduciendo por teclado ir viendo si esta bien (le dejo que escriba), o si lo ultimo que acaba de escribir esta mal y se lo borro.
¿Me he explicado?
__________________
Explicate como si fuese tonto, soy nuevo en esto de hacer programas!!!! XD
Responder Con Cita
  #3  
Antiguo 31-10-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por jorgegetafe Ver Mensaje
La verdad es que prefiero trabajar con valores time, para que me sea más facil restar un tiempo de otro, sino de la otra forma es un lio padre.

Respecto a la validación, se hacerla de forma estatica, es decir, pillar un edit y ver si es correcto o no, pero no se hacerlo en "tiempo real", osea, que a la vez que el usuario vaya introduciendo por teclado ir viendo si esta bien (le dejo que escriba), o si lo ultimo que acaba de escribir esta mal y se lo borro.
¿Me he explicado?
Se me ocurre que podrias usar el evento onChange y OnExit de cada edit.

Por ejemplo

en el evento OnChange, verificas que no escriba letras
en el evento OnExit, verificas si es un dato válido (00-24 para las horas y 00-60 para minutos y segundos) en caso de ser no válido regresas el foco a el edit.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 31-10-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 20
jorgegetafe Va por buen camino
Vale muchas gracias, mañana seguiré con ello, ya es un poco tarde que hay que madrugar, ya tendreis noticias cuando grite socorro jajaja


gracias por todo de verdad, chao!!!
__________________
Explicate como si fuese tonto, soy nuevo en esto de hacer programas!!!! XD
Responder Con Cita
  #5  
Antiguo 01-11-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 20
jorgegetafe Va por buen camino
Ya he retomado el programa jeje :-)

A ver si me ayudais con esto que por más que le doy vueltas no consigo ver el error, de tres edits consigo la hora introducida por el usuario y quiero calcular cuanto tiempo queda desde la hora actual, hasta la hora que ha introducido el usuario, lo hago de esta manera:


Código Delphi [-]
 
PROCEDURE TForm1.RestanteTimer(Sender: TObject); // Muestra la hora restante
VAR
a: ttime;
b: ttime;
c: ttime;
BEGIN
a:= now;
b:= EncodeTime( (StrtoInt(hora.Text)), (StrtoInt(minuto.Text)), (StrtoInt(segundo.Text)), (StrtoInt(msegundo.Text)));
c:= b-a;
label3.caption:= timetostr (c);
//Label3.caption:= TimeTostr(EncodeTime( (StrtoInt(hora.Text)), (StrtoInt(minuto.Text)), (StrtoInt(segundo.Text)), (StrtoInt(msegundo.Text)) ));
END;


Pero siempre el tiempo restante que me sale es muchísimo mayor de lo que deberia, es decir, si el usuario me pone las 10:00 y actualmente son las 9:00 me sale que faltan 23 horas!!!! y además cada segundo va aumentando el tiempo restante en vez de disminuirse!!!! No tiene ni pies ni cabeza :-(
__________________
Explicate como si fuese tonto, soy nuevo en esto de hacer programas!!!! XD
Responder Con Cita
  #6  
Antiguo 01-11-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
La hora actual es mayor que la anterior, entonces deberias restar a-b y no b-a.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 01-11-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 20
jorgegetafe Va por buen camino
Ahí esta el problema, da igual si pongo a-b que b-a que el resultado del tiempo restante siempre es el mismo, lo acabo de comprobar otra vez por si acaso y nada.

A mi no se me ocurre porque falla :-(
__________________
Explicate como si fuese tonto, soy nuevo en esto de hacer programas!!!! XD
Responder Con Cita
  #8  
Antiguo 01-11-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Tambien puedes hacer:

Código Delphi [-]
procedure Hora_restante; //Muestra la hora restante
var
  b: ttime;
begin
  b:= EncodeTime( (StrtoInt(hora.Text)), (StrtoInt(minuto.Text)),   (StrtoInt(segundo.Text)), (StrtoInt(msegundo.Text)));
  label3.caption:= IntToStr(HoursBetween(Now, b));
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
De un txt a un memo jorgegetafe Varios 3 05-06-2007 18:22:45
Campo memo tabla escribirlo en componente Memo Sayuri Conexión con bases de datos 2 18-08-2005 13:58:01
memo a campos memo soloriv Varios 5 26-05-2005 20:25:31
Memo DCErick SQL 1 28-11-2004 02:03:34
de memo a memo migueilichenco Varios 3 31-07-2003 23:49:42


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


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi