Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
milisegundos no pasan rapido

Pongo esto aqui por que es parte de la misma aplicacion, por no abrir un hilo nuevo.
Tengo este codigo en un timer:


Código:
Hour, Min, Sec y MSec está declarados de tipo word
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(MSec);
  If MSec = 100 then begin
     Sec := Sec + 1;
     MSec := 0;
  end;
  If Sec = 60 then begin
     Min := Min + 1;
     Sec := 0;
  end;
  If Min = 60 then begin
     Hour := Hour + 1;
     Min  := 0;
  end;
  Present := EncodeTime(Hour, Min, Sec, MSec);
  //stB.Panels.Items[4].Text:=TimetoStr(Present)+':'+inttostr(MSec);
  Label11.Caption := TimetoStr(Present)+':'+inttostr(MSec);

Y aunque funciona, tengo el problema de que los milisegundos no pasan rapido, más bien parecen segundos (ver tiempo en color rojo en el video) y es que el mismo codigo lo tengo en la version de delphi (es copiar y pegar) y si funciona correctamente. Alguna idea? Gracias.

https://drive.google.com/open?id=1ne...V4zJJhX_vwiCKB
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita
  #2  
Antiguo 07-04-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por danielmj Ver Mensaje
por no abrir un hilo nuevo.
Es que tienes que abrir otro hilo, no tiene absolutamente nada que ver con lo otro.
Saludos.
Responder Con Cita
  #3  
Antiguo 08-04-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por danielmj Ver Mensaje
Y aunque funciona, tengo el problema de que los milisegundos no pasan rapido, más bien parecen segundos (ver tiempo en color rojo en el video) y es que el mismo codigo lo tengo en la version de delphi (es copiar y pegar) y si funciona correctamente. Alguna idea? Gracias.
Mi intuicion me dice que eso pasa porque no solo windows y linux tienes ligeras diferencias en sus librerias, sino que ademas porque los milisegundos no pasan rapido precisamente porque los milisegundos PASAN rapido.

Estas haciendo calculos manuales bajo la suposicion de que ese paso NO TOMA TIEMPO.

Cada invocacion al evento TOMA TIEMPO (osea, para cuando llegas al evento estas tomando el tiempo en EL PASADO). Eso significa que se debe ir distorcionando mientras mas tiempo pasa. Estas teniendo 2 relojes que se ve van a descordinar.

Y ademas, ASI NO ES COMO SE HACE ESTO.

Si quieres hacer calculos correcto, debes invocar las APIs adecuadas para el caso y usar las que invocan relojes de ALTA precision. Luego hacer la diferencia.

Osea, es lo mismo que se hace para hacer un "timing function":

https://www.thoughtco.com/accurately...d-time-1058453
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 09-04-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Hola mamcx

Pues debo discrepar, ese mismo código funciona perfectamente en la version windows de mi mismo programa, así que no sé... Gracias.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita
  #5  
Antiguo 09-04-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Y al pasarlo a otra plataforma no funciona. Porque no esta correcto sino que depende de que tuviste suerte
__________________
El malabarista.
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
Ayudenme Rapido, Rapido omarys Varios 6 04-06-2011 10:45:34
Cosas que pasan look Humor 1 05-12-2009 23:59:21
Más ayuntamientos se pasan al software libre Casimiro Notevi La Taberna 6 15-01-2008 22:01:41
Todos los links de la Wikipedia pasan a ser “no follow” marcoszorrilla Noticias 0 22-01-2007 17:17:31


La franja horaria es GMT +2. Ahora son las 17:09:19.


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