Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/06/2012, 13:56
Avatar de cuasatar
cuasatar
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 5 meses
Puntos: 181
Respuesta: generar codigo alfanumerico de 12 digitos

A mi se me ocurre una forma muy sencilla. (De hecho la semana pasada hice algo parecido). Simplemente mira los caracteres ascii que corresponden a los numeros y a las letras. Genera un número aleatorio entre esas cantidades (como son dos rangos diferentes escoje aleatoriamente primero si cogera un número o una letra) y convierte ese número a código ascii para su respectivo valor. Por supuesto la acción se debe repetir 16 veces (para los números y letras, si quieres añadir ahi mismo los guiones toca colocar 4 mas o se los colocas al final). Sobre colocar los guiones podrias verificar con la operación modulo 5 para que si el modulo 5 da cero coloque guion en lugar de generar letra o número (En caso de que se desee hacer en la misma iteración).

No se si exista manera mas facil pero esa fue la que se me ocurrio (Igual no sobra verificar al final en la base de datos si el código generado existe, es muy poco probable pero es una manera de curarse en salud)

p.s. Despues de pensar un rato se podria hacer solo con 4 ciclos, generas tres números aleatorios para definir si es número o letra, generas otros tres aleatorios para decidir que letra o número colocar y lo pegarias a tres cadenas de texto diferentes. Al final de los 4 ciclos concatenas todas los textos en un solo con el guión. Es lo mismo solo que más rápido. Espero sirva la idea.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 29/06/2012 a las 14:35