# Cadena aleatoria

**URL:** <https://foros.velneo.com/t/cadena-aleatoria/8312>\
**Category:** Velneo\
**Created:** [15 Septiembre, 2015 12:46 UTC](https://foros.velneo.com/t/cadena-aleatoria/8312 "2015-09-15T12:46:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gontorre](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/gontorre/32/5728_2.png) [@gontorre](https://foros.velneo.com/u/gontorre)\
**Post date:** [15 Septiembre, 2015 12:46 UTC](https://foros.velneo.com/t/cadena-aleatoria/8312/1 "2015-09-15T12:46:04Z")

</div>

Buenos días

Quiero crear una función que me devuelva una cadena de caracteres aleatorios de una determinada longitud. Para ello tengo dos funciones:

- ALEATORIO\_RANGO(N\_MIN,N\_MAX) que devuelve (random() % ( N\_MAX - N\_MIN) ) + N\_MIN , es decir un número aleatorio entre los valores dados.

- CADENA ALEATORIA(N\_LONG) que forma la cadena con un bucle FOR, llamando a la función anterior y formando la cadena como C\_CADENA+getAsciiChar(fun:ALEATORIO\_RANGO@sceRecursos.app(65,90), “Windows-1252”)

El caso es que después de probarla, los valores no son del todo aleatorios, parece que lo son, pero ciertas cadenas se repiten. ¿A alguien se le ocurre lo que puede ser? Os pongo imágenes de las funciones y del resultado que me da.

Gracias y un saludo

Gonzalo Torre

---

<div class="post-metadata">

**Author:** ![gontorre](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/gontorre/32/5728_2.png) [@gontorre](https://foros.velneo.com/u/gontorre)\
**Post date:** [15 Septiembre, 2015 12:46 UTC](https://foros.velneo.com/t/cadena-aleatoria/8312/2 "2015-09-15T12:46:38Z")

</div>

Ahora las imágenes

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/a/ac2713a9b2bbe174320df9e9883b9419460d8ffc.png)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/4/4209238320be11944e36cd5331dc7780e820c02c.png)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/a/ac90bea2b804f32d5f876195abf2a482860b1a66.png)

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [15 Septiembre, 2015 18:24 UTC](https://foros.velneo.com/t/cadena-aleatoria/8312/3 "2015-09-15T18:24:16Z")

</div>

Hola Gonzalo.

En realidad los valores sí son aleatorios, el problema es que la secuencia de los aleatorios se repite de un dia para otro.  
Se supone que la **semilla** que utiliza Velneo para generar aleatorios es la hora del sistema, por lo tanto la cadena no debería de repetirse.

Tendrías que consultar a Soporte para que el experto en C++ nos aclare el tema.

De todas formas la función Random() no está diseñada para crear Identificadores únicos.

Mientras tanto puedes probar la versión Javascript con:  
Set (N\_RESULTADO, /_JAVASCRIPT_/Math.floor((Math.random() \* (N\_MAX - N\_MIN + 1)) + N\_MIN))

Revisa también tu función ALEATORIO\_RANGO() ya que nunca devolverá el valor N\_MAX, por eso nunca tienes la Z en las cadenas.

Saludos  
Paco Satué
