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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)  (Leído 8,208 veces)
martin_poipon

Desconectado Desconectado

Mensajes: 29


Mis metas: Dominar C++ & PHP


Ver Perfil WWW
[Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« en: 27 Mayo 2011, 17:27 pm »

Hola, soy nuevo en elhacker y quise aportar algo, pues vi varios temas/posts que intentaban crear números aleatorios, pero a casi nadie le salía bien  :-\ así que creé uno con mis pequeños conocimientos en Vb6 y os lo dejo, ojalá les sirva  :)

PD: Acepto cualquier crítica y/o sugerencia sobre el programa  :)

Crean un nuevo formulario (yo le puse frmGna - Generador de Números Aleatorios)

1.- Ponen 2 TextBox (el de número mínimo llamado txtDe y el de máximo txtA)

2.- Ponen un botón (cmdGenera)

3.- Ponen un label (lblRand - ahí aparecerá el numero aleatorio)



Una vez completados los pasos de arriba, seguimos:

En el código del botón cmdGenera poneis lo siguiente:
Código
  1. Option Explicit 'Esta linea no es obligatoria, _
  2. pero la recomiendo
  3. Private Sub cmdGenera_Click()
  4. Dim rand As Integer 'Declaramos la variable
  5. 10  rand = Int((txtA - txtDe) * Rnd + txtDe) 'El 10 se usara para _
  6. el Goto, mientras que el Int((txtA - txtDe) * Rnd + txtDe) genera _
  7. el numero aleatorio
  8.    If
  9. rand < txtDe.Text Then 'Si el numero generado es mayor _
  10. a lo que debe ser, se hace de nuevo
  11.        GoTo 10
  12.    Else
  13.        lblRand.Caption = rand 'Se muestra el numero aleatorio
  14.    End If
  15. End Sub
  16.  



Si quieres descargar el proyecto, clickame (RapidShare, MegaUpload, DepositFiles, Hotfile, zShare, Uploading)
Nombre del archivo: gna_martin_poipon_para_elhacker.zip
MD5: EA3DD9A6EECD3CD65E4223BD44A02EC0



Notas:
  • El Int redondea el número, pues Rnd() genera uno que no es integer, sino float.
  • Explicación de cómo se genera el número aleatorio:
    Int((número máxima - número mínimo) * Rnd + número mínimo)

Espero que les sirva  ;D

Un saludo,

Martin


« Última modificación: 27 Mayo 2011, 17:29 pm por martin_poipon » En línea

BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« Respuesta #1 en: 27 Mayo 2011, 17:39 pm »

Bueno, si estas empezando está bien, pero yo te recomiendo que hagas mejor la función, la idea es que hagas la misma función pero que no dependa de ningun objeto o codigo externo a la función.

Simplemente que le entres una variable a la función y retórne el número aleatorio, así tendrás una función independiente a cualquier programa y será reciclable que es lo mas importante y muy fácilmente adaptable a otros programas.

Por cierto...te has dejado los dos puntos en el 10 del goto, sería:

Código
  1. 10:  rand = Int((txtA - txtDe) * Rnd + txtDe)


PD: No puedo creerme que la gente no se aclare con esta función.  :xD


En línea

Killtrojan Syslog v1.44: ENTRAR
DarkMatrix

Desconectado Desconectado

Mensajes: 150


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« Respuesta #2 en: 27 Mayo 2011, 19:06 pm »

No es necesario los dos puntos despues del 10, simplemente es una numero de linea y cuando se dice "goto 10" entonces se refiere a que valla a esa linea de nuevo...

En cambio si fuera "Goto Aqui" si tndria que espesificar:

Código
  1. Aqui:
  2.  
  3. Msgbox "Hola"
  4.  
  5. Goto Aqui
  6.  
« Última modificación: 27 Mayo 2011, 19:07 pm por DarkMatrix » En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
martin_poipon

Desconectado Desconectado

Mensajes: 29


Mis metas: Dominar C++ & PHP


Ver Perfil WWW
Re: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« Respuesta #3 en: 28 Mayo 2011, 16:18 pm »

Bueno, si estas empezando está bien, pero yo te recomiendo que hagas mejor la función, la idea es que hagas la misma función pero que no dependa de ningun objeto o codigo externo a la función.

Simplemente que le entres una variable a la función y retórne el número aleatorio, así tendrás una función independiente a cualquier programa y será reciclable que es lo mas importante y muy fácilmente adaptable a otros programas.

Por cierto...te has dejado los dos puntos en el 10 del goto, sería:

Código
  1. 10:  rand = Int((txtA - txtDe) * Rnd + txtDe)


PD: No puedo creerme que la gente no se aclare con esta función.  :xD

Lo siento, soy muy nuevo en esto del visual basic, acabo de empezar y por eso está así... pero que tonterías estoy diciendo... ¡ahora mismo lo arreglo! :xD
No es necesario los dos puntos despues del 10, simplemente es una numero de linea y cuando se dice "goto 10" entonces se refiere a que valla a esa linea de nuevo...

En cambio si fuera "Goto Aqui" si tndria que espesificar:

Código
  1. Aqui:
  2.  
  3. Msgbox "Hola"
  4.  
  5. Goto Aqui
  6.  
Gracias, nunca encontré la manera de hacerlo tipo batch, pero ahora si... gracias :)
En línea

BiQuad! - Inteligencia Virtual
[X] Tener una web con el script
[] Tener más de 100 posts
[] Tener más de 100 miembros
Host: byethost (gratis)
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« Respuesta #4 en: 28 Mayo 2011, 17:03 pm »

Citar
No es necesario los dos puntos despues del 10, simplemente es una numero de linea y cuando se dice "goto 10" entonces se refiere a que valla a esa linea de nuevo...

Pues justamente antes de avisar que faltavan los dos puntos, lo comprové ya que yo nunca uso etiquetas que sean números, y con el 10 sin los dos puntos me daba error, no se de donde sacas eso del número de línea..
En línea

Killtrojan Syslog v1.44: ENTRAR
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Aporte]Generador de números aleatorios en Vb6 (con mínimo y máximo)
« Respuesta #5 en: 28 Mayo 2011, 22:33 pm »

.
Evita ecaresidamente usar Goto es una mala practica y de paso para otros quisas no sea entendible en tu caso seria usar

do ... while until

PD: No puedo creerme que la gente no se aclare con esta función.  :xD

El objetivo es hacer que se generen Números aleatorios SIN REPETIR sin perder tiempo y no saturar el procesador con bucles o bucles anidados, cosa que no es rentable con rangos de números amplios ya que la relación Tiempo-Procesador.

Este modulo de clase es mas rápida y mas optimizada que este código (este hilo) con rangos de números mas amplios, claro que tiene mas código pero es por una pequeña heuristica para saber que números generar o no generar sin usar For Next lo cual aumenta el rendimiento en relación Procesador-Tiempo pero no memoria  :¬¬.
[Src] cRndNumbersNR ( Generar números aleatorios sin repetir [Very-Fast] )

Dulces Lunas!¡.
« Última modificación: 28 Mayo 2011, 22:37 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
generador de numeros aleatorios en VB « 1 2 3 4 »
Programación Visual Basic
diego994 31 99,285 Último mensaje 17 Diciembre 2010, 06:28 am
por sphiros
generar números aleatorios en dev c « 1 2 »
Programación C/C++
Quake-man 10 13,664 Último mensaje 26 Agosto 2011, 22:54 pm
por Quake-man
generador de numeros aleatorios de 5 cifras
Programación General
Enrique357 2 7,737 Último mensaje 23 Diciembre 2011, 22:18 pm
por Valkyr
[Batch] Aporte Generador Diccionario
Scripting
Geormarsch 9 7,374 Último mensaje 18 Septiembre 2012, 14:27 pm
por Geormarsch
[Aporte][C++11] Numeros aleatorios
Programación C/C++
0xDani 0 1,929 Último mensaje 23 Febrero 2013, 21:50 pm
por 0xDani
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines