Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   JAVA (https://www.clubdelphi.com/foros/forumdisplay.php?f=16)
-   -   Funcion de tiempo (https://www.clubdelphi.com/foros/showthread.php?t=10656)

pedromanuel 25-05-2004 18:01:06

Funcion de tiempo
 
Hola me gustaria poder utilizar la funcion Time de java, pero no se muy bien como utilizarla.


Esto es lo que viene en la APIS, pero no soy capaz de usarlas:

Time(long time)
Constructs a Time object using a milliseconds time value
.
Time
public Time(long time)
Constructs a Time object using a milliseconds time value.
Parameters:
time - milliseconds since January 1, 1970, 00:00:00 GMT; a negative number is milliseconds before January 1, 1970, 00:00:00 GMT
Lo he intentado de las siguientes formas pero ninguna de ellas me funciona:

1. long tiempo;
long numero=100;
tiempo.Time(numero);
ERROR: Tiempo.java:24: long cannot be dereferenced
fecha.Time(numero);

2. long tiempo;
long numero=100;
tiempo=Time(numero);
ERROR:Tiempo.java:24: cannot resolve symbol
symbol : method Time (long)
location: class Tiempo
fecha=Time(numero);
3. long tiempo,fecha;
long numero=100;
fecha=tiempo.Time(numero);
ERROR:Tiempo.java:25: long cannot be dereferenced
fecha=fecha2.Time(numero);

4.tiempo = new long[10];
long numero=100;
tiempo=Time(numero);
ERROR: Tiempo.java:19: cannot resolve symbol
symbol : variable fecha
location: class Tiempo
fecha = new long[10];
^
Tiempo.java:24: cannot resolve symbol
symbol : variable fecha
location: class Tiempo
fecha=Time(numero);
^
Tiempo.java:24: cannot resolve symbol
symbol : method Time (long)
location: class Tiempo
fecha=Time(numero);
^
3 errors



No se me ocurre como hacerlo.

Muchas Gracias

santana 25-05-2004 22:47:22

:)

Hola, Pedro Manuel. Ante todo, bienvenido a estos foros.

El problema está en que tienes que crearte el objeto tiempo.


Código:

long milisegundos=100000;
 tiempo=new Time (milisegundos);



Time es una clase que pertenece al paquete java.sql y que hereda de la clase Date. El parámetro que recibe son los milisegundos.

Tal vez lo veas más claro aquí.

Un saludo.


pedromanuel 02-06-2004 19:43:15

bucle que dure un minuto
 
Hola, necesito hacer una cosa muy facil aparentemente pero que no soy capaz de implementar.

Necesito hacer un pequeño bucle que dure un minuto por ejemplo y dentro de el ejecute un programa, y posteriormente otro bucle que dure un minuto tambien en el que no haga nada el programa.

He hecho lo siguiente pero no me funciona:

int i=9000,j=0;
Time tiempo,nuevo,suma;
long pri=1,seg=2,sum=3,asignartiempo=9000;


tiempo = new Time(asignartiempo);
nuevo = new Time(asignartiempo);

System.out.println("Ahora se Activa el programa");
while (tiempo.equals(nuevo))
{
//ASIGNO AL NUEVO Y A TIEMPO EL VALOR ASIGNARTIEMPO

nuevo = new Time(asignartiempo);
tiempo = new Time(asignartiempo);
//INCREMENTO EL VALOR DE ASIGNARTIEMPO

asignartiempo++;
//INCREMENTO i PARA QUE QUE EL BUCLE SOLO PARE EN I=69000

i++;
if (i == 69000)
{asignartiempo++;
nuevo = new Time(asignartiempo);
}
System.out.println("");
}

//VUELVO A INICIALIZAR LOS DATOS PARA EL BUCLE EN EL QUE ESTE PARADO

asignartiempo=9000;
i=9000;
tiempo = new Time(asignartiempo);
nuevo = new Time(asignartiempo);

System.out.println("Ahora se DESActiva El programa");
while (tiempo.equals(nuevo))
{
nuevo = new Time(asignartiempo);
tiempo = new Time(asignartiempo);
asignartiempo++;
i++;
if (i == 69000)
{asignartiempo++;
nuevo = new Time(asignartiempo);}
}

}
}


Esto me dura lo que tarda en hacer 60000 println pero no 60000 milisegundos, es decir depende de la potencia del ordenador.

Os agradecería mucho si pudieraias ayudarme.

Muchas Gracias



santana 03-06-2004 00:39:09

Hola, pedromanuel.

Para generar el retardo, puedes utilizar la función estática sleep (long milisegundos) de la clase java.lang.thread



Código:

try {
              Thread.sleep(60000);
    } catch (InterruptedException e) {
    }


Para próximas ocasiones, recuerda encerrar tu código entre las etiquetas
[ code ] [ /code ]
(sin los espacios) o
pinchando sobre el icono #

Esto sirve para respetar la indentación y hacerlo más legible.

Saludos.

pedromanuel 14-06-2004 16:39:19

Hola, de nuevo, me gustaria saber si existe alguna forma de indicar además el tiempo que le queda para terminar el tiempo de descanso.

Por ejemplo, en el caso que me has propuesto, dormiría 60 segundos.
¿Podría decirle cada 10 segundos: Te quedan 50 segundos
Te quedan 40 segundos
Te quedan 30 segundos
Te quedan 20 segundos
Te quedan 10 segundos?

Muchas Gracias y perdona de nuevo por las molestias pero es que estoy bastante verde en el tema Java

santana 15-06-2004 20:19:15

Entonces lo más conveniente es que primero te prepares con algún buen libro de Java y después te pongas a programar.

Si lo que necesitas es información del tiempo transcurrido cada diez segundos, haz un bucle que recorrerás 6 veces haciendo dentro un sleep de 10000 milisegundos, y solo tendrás que capturar en una variable el número de vuelta para saber cuandos milisegundos faltan hasta los 60000.

Saludos.

gonzalza 28-11-2006 06:10:34

retardo delphi delay
 
1.tu sabes como generar un retardo de una instruccion de codigo a otro en delphi
ejemplo delay o sleep en c++. aproposito si conocen la libreria de delay y sleep en visual c++6 le agradezco.

gonzalza 29-11-2006 00:00:58

creo que ya consegui hacer eso, no he practicado con puerto paralelo pero lo practique con Button.visible y me dio resultado utilizando un timer para cada instrucción con tiempos distinos y con un botton activo los timers.
Por ahi bien, ahora necesito otro boton que cuando haga click me llame al anterior las veces que quiera,ej: 4 veces, es decir: que sea como si hubiera presionado el primer boton 4 veces.


La franja horaria es GMT +2. Ahora son las 09:45:38.

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