Foros del Web » Programación para mayores de 30 ;) » .NET »

Generador de Numeros

Estas en el tema de Generador de Numeros en el foro de .NET en Foros del Web. Buenas Tardes amigos de FDW Bueno es mi primer post en esta zona, espero que me ayuden amigos. Bueno necesito hacer un generador de numeros, ...
  #1 (permalink)  
Antiguo 07/10/2009, 13:40
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Exclamación Generador de Numeros

Buenas Tardes amigos de FDW
Bueno es mi primer post en esta zona, espero que me ayuden amigos.
Bueno necesito hacer un generador de numeros, la primera fila seria de 3 casillas de 4 numeros cada una y luego la segunda fila una sola casilla pero con de 11 numeros, no eh encontrado tutoriales y como siempre me ayudan en este foro pues les pregunto, aqui les dejo una imagen por si no me explico bien. porfavor ayudenme.

http://img223.imageshack.us/img223/6...rdenumeros.jpg

de antemano muchas gracias ATTe Gidharvey
  #2 (permalink)  
Antiguo 07/10/2009, 14:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 94
Antigüedad: 15 años
Puntos: 3
Respuesta: Generador de Numeros

Numeros al azar?
seria asi:

Código PHP:
Private Function Aleatorio(Minimo As LongMaximo As Long) As Long
Randomize  inicializar la semilla
Aleatorio 
CLng((Minimo Maximo) * Rnd Maximo)
End Function

Private 
Sub Command1_Click()
Text1.Text Aleatorio(10009999)
Text2.Text Aleatorio(10009999)
Text3.Text Aleatorio(10009999)
Text4.Text Aleatorio(100000999999)
Text4.Text Text4.Text Aleatorio(1000099999)
End Sub 
  #3 (permalink)  
Antiguo 07/10/2009, 14:28
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Muchas Gracias agus0 una pregunta, ese codigo tendria un boton para darle click y genere diversos codigo cada vez que uno aprete un boton verdad?
  #4 (permalink)  
Antiguo 07/10/2009, 17:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 94
Antigüedad: 15 años
Puntos: 3
Respuesta: Generador de Numeros

Cita:
Iniciado por GidHarvey Ver Mensaje
Muchas Gracias agus0 una pregunta, ese codigo tendria un boton para darle click y genere diversos codigo cada vez que uno aprete un boton verdad?
Si. cada vez que haces click genera un codigo al azar nuvo.

Que puede estar entre 1000 y 9999 en los primeros tres

y en el cuarto, la primera parte puede estar entre 100000 y 9999999 & la segunda parte entre 100000 y 99999 pero lo hice en dos partes para que no se desvordara ;)

Cualquier duda avisame, aun que cambiando el tipo de variables se podria hacer de una el cuarto
  #5 (permalink)  
Antiguo 07/10/2009, 20:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Generador de Numeros

Sólo como una nota, Randomize debería utilizarse una única vez (al iniciar el programa, por ejemplo) en lugar de cada vez que se vaya a utilizar Rnd. De lo contrario, la serie se repite después de una cierta cantidad de números generados.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 07/10/2009, 23:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 94
Antigüedad: 15 años
Puntos: 3
Respuesta: Generador de Numeros

Cita:
Iniciado por David Ver Mensaje
Sólo como una nota, Randomize debería utilizarse una única vez (al iniciar el programa, por ejemplo) en lugar de cada vez que se vaya a utilizar Rnd. De lo contrario, la serie se repite después de una cierta cantidad de números generados.
Como seria david mi codigo "Correjido" por que no entiendo bien lo que decis
  #7 (permalink)  
Antiguo 08/10/2009, 04:42
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Cita:
Iniciado por David Ver Mensaje
Sólo como una nota, Randomize debería utilizarse una única vez (al iniciar el programa, por ejemplo) en lugar de cada vez que se vaya a utilizar Rnd. De lo contrario, la serie se repite después de una cierta cantidad de números generados.
Cita:
Iniciado por agus0 Ver Mensaje
Como seria david mi codigo "Correjido" por que no entiendo bien lo que decis
David seria posible como dice agus0 que corrigieras el codigo de el para ver como es? si es que se puede porfavor, y como se tendria que colocar en el Visual Basic, saludos y muchas gracias a los 2, cuando lo tenga listo lo subo para que me digan que tal me quedo.

ATTe Gidharvey
  #8 (permalink)  
Antiguo 08/10/2009, 05:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Generador de Numeros

A esto me refiero:
Código vb:
Ver original
  1. Option Explicit
  2. Private Function Aleatorio(Minimo As Long, Maximo As Long) As Long
  3. Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo)
  4. End Function
  5. Private Sub Command1_Click()
  6. Text1.Text = Aleatorio(1000, 9999)
  7. Text2.Text = Aleatorio(1000, 9999)
  8. Text3.Text = Aleatorio(1000, 9999)
  9. Text4.Text = Aleatorio(100000, 999999)
  10. Text4.Text = Text4.Text & Aleatorio(10000, 99999)
  11. End Sub
  12. Private Sub Form_Load()
  13. Randomize Timer 'Llamar a Randomize una única vez
  14. End Sub
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 08/10/2009, 05:53
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

David Muchas Gracias, Edito el mensaje anterio, mira lei algunos tutoriales y algunos libros y logre esto en mi codigo pero me da 9 errores, aqui pongo 2 capturas para que me digas en que estoy fallando y como seria el dise~o del generador de numeros, perdona si te molesto pero el que no pregunta es tonto espero que me ayudes porfavor y me digas que es lo que falla y que le falta a este generador. saludos y de antemano muchas gracias.

http://img380.imageshack.us/img380/7/captura1.jpg

http://img49.imageshack.us/img49/2241/captura2.jpg

Última edición por GidHarvey; 08/10/2009 a las 10:42
  #10 (permalink)  
Antiguo 08/10/2009, 10:57
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Tu fallo está en que no has creado los controles necesarios en el formulario.

Tienes que crear un formulario con 4 textbox llamados de text1 a text4 y colocados como en la foto que pusiste al comienzo, y un boton llamado command1 para generar números cada vez que lo pulsas.

El error del timer te lo debe dar por que usas un VB más moderno y lo usará de otra manera.

De momento quita esa línea y prueba. Cuando funcione buscas como se usa Timer en ese VB, o alguien te lo habrá explicado aquí.

Saludos

PD: En la segunda foto veo que has creado los controles, aunque hay uno de más. El problema se deberá a que en tu VB los textbox al crearlos no se llaman text1, text2 sino textbox1, textbox2...
Solo tienes que cambiarles el nombre. El botón tendrá el mismo problema. Debe llamarse Command1 o cambiarlo en la declaración de la Sub Command1 por el nombre de tu botón.

Última edición por pkj; 08/10/2009 a las 11:07
  #11 (permalink)  
Antiguo 08/10/2009, 11:03
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Cita:
Iniciado por pkj Ver Mensaje
Tu fallo está en que no has creado los controles necesarios en el formulario.

Tienes que crear un formulario con 4 textbox llamados de text1 a text4 y colocados como en la foto que pusiste al comienzo, y un boton llamado command1 para generar números cada vez que lo pulsas.

El error del timer te lo debe dar por que usas un VB más moderno y lo usará de otra manera.

De momento quita esa línea y prueba. Cuando funcione buscas como se usa Timer en ese VB, o alguien te lo habrá explicado aquí.

Saludos

PD: En la segunda foto veo que has creado los controles, aunque hay uno de más. El problema se deberá a que en tu VB los textbox al crearlos no se llaman text1, text2 sino textbox1, textbox2...
Solo tienes que cambiarles el nombre.
Probare ahora mismo lo que me dices amigo, estoy pendiente al foro, saludos y muchas gracias.
  #12 (permalink)  
Antiguo 08/10/2009, 11:08
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Mira de nuevo la Post Data...
Aparte, la falta del randomize solo hace menos aleatoria la extracción de números, de modo que funcionar debe funcionar sin él. Después busca información sobre ello para tu version del VB y seguramente habra ejemplos usando Timer o su equivalente en tu VB.

Que se dé bien.
  #13 (permalink)  
Antiguo 08/10/2009, 11:14
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Cita:
Iniciado por pkj Ver Mensaje
Mira la Post Data...
pkj muchas gracias, eso ya lo edite y me elimino errores que tenia muchas gracias de verdad pero todavia me quedan 3 errores y no se a que se deven, aqui te cuelgo 2 imagenes del codigo y ahora puse el timer creo que faltaba verdad?
bueno saludos a todos los que me han ayudado.

http://img97.imageshack.us/img97/489/captura1c.jpg

http://img208.imageshack.us/img208/4751/captura2h.jpg
  #14 (permalink)  
Antiguo 08/10/2009, 11:17
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Es que has metido la función dentro de la sub del botón.

Ponla debajo. Despues del End Sub del boton.
  #15 (permalink)  
Antiguo 08/10/2009, 11:19
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Perdon. Solo tienes que cortar la primera declarción de tu button1 y pegarla en lugar de la linea del Private Sub Command1.
  #16 (permalink)  
Antiguo 08/10/2009, 11:21
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Cita:
Iniciado por pkj Ver Mensaje
Perdon. Solo tienes que cortar la primera declarción de tu button1 y pegarla en lugar de la linea del Private Sub Command1.
hola pkj, no entiendo mucho, como seria el codigo... ahora solo tengo 2 errores.

aqui te dejo el codigo y la imagen de los 2 errores que me quedan :S

http://img258.imageshack.us/img258/7/captura1.jpg

Código:
Public Class Form1

    Option Explicit

    Private Function Aleatorio(ByVal Minimo As Long, ByVal Maximo As Long) As Long

        Aleatorio = CLng((Minimo - Maximo) * Rnd() + Maximo)

    End Function

    Private Sub Button_Click()

    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        TextBox1.Text = Aleatorio(1000, 9999)

        TextBox2.Text = Aleatorio(1000, 9999)

        TextBox3.Text = Aleatorio(1000, 9999)

        TextBox4.Text = Aleatorio(100000, 999999)

        TextBox4.Text = TextBox4.Text & Aleatorio(10000, 99999)

    End Sub

    Private Sub Form_Load()

        Randomize(Timer1) 'Llamar a Randomize una única vez

    End Sub
End Class
  #17 (permalink)  
Antiguo 08/10/2009, 11:23
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Es que mi VB no crea el código igual y tendria que escribirlo todo.

Pegamelo que lo cambie.
  #18 (permalink)  
Antiguo 08/10/2009, 11:27
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

Cita:
Iniciado por pkj Ver Mensaje
Es que mi VB no crea el código igual y tendria que escribirlo todo.

Pegamelo que lo cambie.
hay lo pegue y a~adi una imagen con los 2 errores que tengo
  #19 (permalink)  
Antiguo 08/10/2009, 11:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Generador de Numeros

Siempre es mejor que especifiques desde el inicio la versión con la que estás trabajando.
Tema transladado desde la sección de Visual Basic clásico.

En .NET existe la clase Random para generar números pseudo-aleatorios.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #20 (permalink)  
Antiguo 08/10/2009, 11:29
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

La imagen no la puedo usar para copiar su texto.
Necesito en formato texto el código completo o tendré que escribir las declaraciones a mano.
  #21 (permalink)  
Antiguo 08/10/2009, 11:30
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

opps perdon, ya lo veo
  #22 (permalink)  
Antiguo 08/10/2009, 11:37
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

Código :
Ver original
  1. Option Explicit
  2.  
  3. Public Class Form1
  4.  
  5.  
  6.     Private Function Aleatorio(ByVal Minimo As Long, ByVal Maximo As Long) As Long
  7.  
  8.         Aleatorio = CLng((Minimo - Maximo) * Rnd() + Maximo)
  9.  
  10.     End Function
  11.  
  12.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  13.  
  14.         TextBox1.Text = Aleatorio(1000, 9999)
  15.  
  16.         TextBox2.Text = Aleatorio(1000, 9999)
  17.  
  18.         TextBox3.Text = Aleatorio(1000, 9999)
  19.  
  20.         TextBox4.Text = Aleatorio(100000, 999999)
  21.  
  22.         TextBox4.Text = TextBox4.Text & Aleatorio(10000, 99999)
  23.  
  24.     End Sub
  25.  
  26.     Private Sub Form_Load()
  27.  
  28.         'Randomize(Timer1) 'Llamar a Randomize una única vez
  29.  
  30.     End Sub
  31. End Class

Así deberia funcionar. Si da error ahí, deshabilita tambíen la línea del Option Explicit que solo es para obligarte a declarar las variables.
Estudia la página que dice David si tienes problemas con el RND o quieres mejores resultados (y estás usando .NET, algo de lo que no estoy muy seguro)

Última edición por pkj; 08/10/2009 a las 11:44
  #23 (permalink)  
Antiguo 08/10/2009, 12:00
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

pkj, tu codigo funciono genial, ahora si tengo 0 errores y genera, lo unico que habia que arreglar al codigo que tu tienes es

Código:
#
#
        TextBox4.Text = Aleatorio(100000, 999999)
#
 
#
        TextBox5.Text = Aleatorio(10000, 99999)
eso seria todo para que funcione. Muchas gracias pkj te pasaste y muchas gracias David por la ayuda, me estudiare el link que mandaste para orientarme mas, ya que es el segundo dia con VB.

PD: como lo guardo para abrirlo como programa
  #24 (permalink)  
Antiguo 08/10/2009, 12:08
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

He cargado un PC virtual que tengo con VB 2005 y así me ha funcionado:

Código :
Ver original
  1. Public Class Form1
  2.   Private Function Aleatorio(ByVal Minimo As Long, ByVal Maximo As Long) As Single
  3.     Aleatorio = Int((Minimo - Maximo) * Rnd()) + Maximo
  4.   End Function
  5.   Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.     TextBox1.Text = CStr(Aleatorio(1000, 9999))
  7.     TextBox2.Text = CStr(Aleatorio(1000, 9999))
  8.     TextBox3.Text = CStr(Aleatorio(1000, 9999))
  9.     TextBox4.Text = CStr(Aleatorio(100000, 999999))
  10.     TextBox4.Text = TextBox4.Text & CStr(Aleatorio(100000, 999999))
  11.   End Sub
  12.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  13.     Randomize() 'Llamar a Randomize una única vez
  14.   End Sub

La única diferencia que debe haber con tu código es la declaración del evento click del boton, de modo que para tu VB el código sería:

Código :
Ver original
  1. Public Class Form1
  2.   Private Function Aleatorio(ByVal Minimo As Long, ByVal Maximo As Long) As Single
  3.     Aleatorio = Int((Minimo - Maximo) * Rnd()) + Maximo
  4.   End Function
  5.   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.     TextBox1.Text = CStr(Aleatorio(1000, 9999))
  7.     TextBox2.Text = CStr(Aleatorio(1000, 9999))
  8.     TextBox3.Text = CStr(Aleatorio(1000, 9999))
  9.     TextBox4.Text = CStr(Aleatorio(100000, 999999))
  10.     TextBox4.Text = TextBox4.Text & CStr(Aleatorio(100000, 999999))
  11.   End Sub
  12.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  13.     Randomize() 'Llamar a Randomize una única vez
  14.   End Sub

Ha sido un placer.

PD: Esto no es .NET
  #25 (permalink)  
Antiguo 08/10/2009, 12:31
Avatar de GidHarvey  
Fecha de Ingreso: mayo-2009
Mensajes: 190
Antigüedad: 15 años
Puntos: 1
Respuesta: Generador de Numeros

pkj muchas gracias por tu ayuda amigo, eres un master, ya lo tengo listo funciona y randomiza genial, lo unico que no se como guardarlo como .exe :P xD haber si alguien me dice, uso el Visual Basic 2008 saludos y muchas gracias a los que me ayudaron
  #26 (permalink)  
Antiguo 08/10/2009, 12:39
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Generador de Numeros

En mi VB para compilarlo es en la primera opción del menu Generar.
En el 2008 puede que no.
De todas formas creo que para ejecutarlo cuando depuras se crea el .exe en una carpeta del proyecto. Solo tienes que copiarlo.

Aparte tengo que decir que he estado mirando y parece ser que si que es .NET esto.
El caso es que yo lo probé con vb .NET 2003 y lo recuerdo bastante más complicado que VB 2005, pero según la wikipedia parece ser que si que son .NET. Pido disculpas.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:25.