Home Menu

Menu



Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 04/08/15, 22:28:20
Avatar de SCL_ROOT
SCL_ROOT SCL_ROOT no está en línea
Miembro del foro
Mensajes: 293
 
Fecha de registro: ago 2012
Localización: España
Mensajes: 293
Modelo de smartphone: Galaxy Note 3
Versión de ROM: Cada día una distinta...
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
variable %TIME en javascript

Estoy intentando pasar a javascript la idea del Despertador dinamico de aquí http://www.htcmania.com/showthread.php?p=8851890 y el punto es que siempre me sale "son la una y cuarto de la mañana" sea la hora que sea, si uso la función Flash con %TIME me sale la hora que tengo realmente, pero con este código la separo en %hora y %minuto y simpre me sale 0 y 15 :

Código:
var time = global("TIME").split(".");
var hora = time[0];
var minuto = time[1];
var hr;
var mn;

// escribir las horas
if (hora = 00){
	hr = 12;
} else if (hora > 12){
	hr = hora - 12;
	if(hr = 1){
		hr = "una";
	}
} else {
	hr = hora;
	if(hr = 1){
		hr = "una";
	}
}

// escribir los minutos
if (minuto = 00){
	mn = " en punto";
} else if (minuto = 15) {
	mn = " y cuarto";
} else if (minuto = 30) {
	mn = " y media";
} else if (minuto = 45) {
	mn = " menos cuarto";
} else {
	mn = " y " + minuto;
}

// variable global
if(hora > 12) {
	if(hr = "una"){
		setGlobal("AMPM","son la "+hr+mn+" de la tarde");
	} else {
		setGlobal("AMPM","son las "+hr+mn+" de la tarde");		
	}
} else {
	if(hr = "una"){
		setGlobal("AMPM","son la "+hr+mn+" de la mañana");
	} else {
		setGlobal("AMPM","son las "+hr+mn+" de la mañana");		
	}
}
no consigo ver que tengo mal escrito, alguna idea?
Responder Con Cita


  #2  
Viejo 05/08/15, 11:04:55
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Me suena que esos "if (aaa = bbb)" tienen que llevar dos signos igual.

Si el interprete JS que usa Tasker es como todos, siendo hr=10 las comparaciones if(hr=1) e if(hr=10) dan el mismo resultado. Si pones dos signos igual sólo es válida la segunda (la que tiene que ser).

Y creo que puedes cambiar las comparaciones con "00" por un simple cero.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 05/08/15, 15:03:22
Avatar de SCL_ROOT
SCL_ROOT SCL_ROOT no está en línea
Miembro del foro
Mensajes: 293
 
Fecha de registro: ago 2012
Localización: España
Mensajes: 293
Modelo de smartphone: Galaxy Note 3
Versión de ROM: Cada día una distinta...
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por WillyWeb Ver Mensaje
Me suena que esos "if (aaa = bbb)" tienen que llevar dos signos igual.

Si el interprete JS que usa Tasker es como todos, siendo hr=10 las comparaciones if(hr=1) e if(hr=10) dan el mismo resultado. Si pones dos signos igual sólo es válida la segunda (la que tiene que ser).

Y creo que puedes cambiar las comparaciones con "00" por un simple cero.
gracias al final era eso

ahora con el código así sí que me va:
Código:
/*-------------------------------
---- Establecer hora escrita ----
-------------------------------*/

var time = global("TIME").split("."),
	hr,
	mn;

// escribir las horas
if (time[0] == 0) {
	hr = 12;
} else if (time[0] > 12 && time[1] < 45) {
	hr = time[0] - 12;
} else if (time[1] >= 45) {
	hr = time[0] - 11;
} else {
	hr = time[0];
}
if(hr == 1) {
	hr = "una";
}

// escribir los minutos
if (time[1] == 0) {
	mn = " en punto";
} else if (time[1] == 15) {
	mn = " y cuarto";
} else if (time[1] > 15 && time[1] < 30) {
	mn = " y cuarto pasadas";
} else if (time[1] == 30) {
	mn = " y media";
} else if (time[1] > 30 && time[1] < 45) {
	mn = " y media pasadas";
} else if (time[1] == 45) {
	mn = " menos cuarto";
} else if (time[1] > 45 && time[1] < 50) {
	mn = " menos cuarto pasadas";
} else if (time[1] == 50) {
	mn = " menos diez";
} else if (time[1] > 50) {
	mn = " menos " + (60 - time[1]);
} else {
	mn = " y " + time[1];
}

// hora escrita
if (hr == "una") {
	str1 = "son la ";
} else {
	str1 = "son las ";
}
if (time[0] > 12) {
	str2 = " de la tarde";
} else {
	str2 = " de la mañana";
}
setGlobal("AMPM",str1 + hr + mn + str2);
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:52:23 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007