elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?  (Leído 817 veces)
Leguim


Conectado Conectado

Mensajes: 674



Ver Perfil
[Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« en: 29 Noviembre 2019, 04:16 am »

Buenas noches,

me preguntaba como podía incrementar de 1 en 1 un "numero" en formato "versión"...
si yo tuviera el valor 4 y les dijera que voy a incrementarlo en 1 el resultado sería 5, si yo les dijera que tiviera el valor 999 y lo voy a incrementar en 1 el valor seria 1.000 (respetando el punto) pero si yo les dijera que tengo la "v1.3.1" y tengo que aumentar a 1 sería "v1.3.2"

Ya creo que se entendió xD
solamente no se como puedo incrementar este valor que ni siquiera es un valor es algo que se me ocurrió.. xD


En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.279


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« Respuesta #1 en: 29 Noviembre 2019, 13:24 pm »

Código
  1. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  2. var x = parseInt(v[10]);
  3. ++x;
  4. v[10] = x.toString();
  5. alert(v.join(''));

1.Declaro array.
2.Obtengo el último elemento del array "1", lo convierto en int 1 (pasa de ser un texto(string) a un numero(int) y lo guardo en la variable x.
3.Aumento el valor de la variable x con el operador de pre-incremento.
4.Casteo el nuevo valor int 2 de x en string "2". Lo asigno al último elemento del array.
5.Lo muestro elminando las comas del array en el output.

Lo puedes hacer de muchas otras formas.

PD: Si quieres que aumente el penúltimo al llegar a 1000:
Código
  1. /* En vez de v[10] usa v[i]. */
  2. var i = 10;
  3. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  4. var x = parseInt(v[i]);
  5. ++x;
  6. if (x === 1000)
  7. {
  8. x = 1;
  9. i -=2;
  10.  
  11.   if (i === 0)
  12.   {
  13.   i = 10;
  14.   }
  15.  
  16. }
  17. v[i] = x.toString();
  18. alert(v.join(''));

Ahora lo que hace es que si el numero llega a 1000, se ponga a 0 y se moifique la versión anterior. Ejemplo V.0.0.0.0.999 le sumas 1 y pasa a ser V.0.0.0.1.0
En el segundo if si se llega a la V sez vuelve a empezar por el último dígito. También puedes añadir un nuevo punto y número al final. No sé si la implementación está bien, es por mostrar la lógica más que nada.

Tienes que añadirle un par de cosas más para que funcione exactamente como lo quieres. Si lo haces con funciones te es fácil acabar la implementación.


« Última modificación: 29 Noviembre 2019, 13:57 pm por @?0!,5^34 » En línea

Leguim


Conectado Conectado

Mensajes: 674



Ver Perfil
Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« Respuesta #2 en: 30 Noviembre 2019, 04:57 am »

¡Wuau te luciste, gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines