![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
||||
|
||||
|
Recien leo este hilo, asi que voy a intentar aclarar algunas cosas.
Primero, kanvictor estas mesclando dos cosas, una es contar el tiempo transcurrido entre dos eventos y el otro es mostrar este tiempo. Lo escencial es separarlos. Donde esta tu problema? radica en que cuando le decis TTimer, que cada un segundo (por ejemplo) te genere el evento OnTimer, el TTimer espera que transcurra este tiempo y recien se llama tu evento. Lo cual genera entre un desfasaje entre el tiempo que le pediste y el momento que llegó. Sumando ese desfasaje tenes tus 10 segundos. Por lo que veo, tus necesidades no son de controlar el tiempo con gran precición, por lo que podes usar el TTimer tranquilamente. Para controlar el Tiempo simplemente pudes usar la función Time. Cuando recibes el mesaje desde el socket guardas el tiempo con Time y activas tu TTimer. Luego en tu evento OnTimer:
y solucionado el problema ![]()
__________________
[Crandel] |
|
#3
|
||||
|
||||
|
Muy bien,ha quedado claro, igual al final me habia tirado para el lado del gettickcount con excelentes resultados.
Me queda ahora una duda de lo que dice Ian Marteens: Código:
Tenga mucho cuidado, si piensa utilizar GetTickCount para este propósito. Cada 49 días y fracción, el contador interno sobrepasará el límite de çcapacidad del tipo Cardinal. Si tenemos la mala fortuna de hacer la primera llamada antes del suceso, y la segunda después, obtendremos una diferencia exageradamente grande, suponiendo que utilizamos un Cardinal para el resultado. Si nuestro algoritmo trata sobre teclas y combos de búsqueda, no puede pasar nada "excesivamente" malo como castigo. Pero si estamos controlando algún proceso peligroso... no quiero ni pensar lo que podría suceder. |
|
#4
|
||||
|
||||
|
Saludos
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#5
|
||||
|
||||
|
Si el lo dice... ha de ser palabra Santa!!
Gracias y saludos! |
|
#6
|
|||
|
|||
|
Retardo ml segundos
1.tu sabes como generar un retardo de una instruccion de codigo a otra en delphi, sin utilizar timer? ejemplo delay algo asi
2. Y como se genera el codigo de que puede hace un button dentro de un timer, nose como meter el codigo en el timer? |
|
#7
|
||||
|
||||
|
1.- Sleep(2000) se paraliza el hilo de ejecución 2000 milisegudos
Quizás Application.ProcessMessages y Application.HandleMessages pueda servier, no son un retardo en sí, pero hace que mire la cola de mensajes de la aplicación, de esa forma la interfaz no se queda congelada y permite que se haga clicks en otros botones. 2.- Dentro del evento onTimer del TTimer, añade Button1.Click, así ejecutará el código que exista para ese botón. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|