elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:42  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  [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 2,039 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 »

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
Option Explicit 'Esta linea no es obligatoria, _
pero la recomiendo
Private Sub cmdGenera_Click()
Dim rand As Integer 'Declaramos la variable
10  rand = Int((txtA - txtDe) * Rnd + txtDe) 'El 10 se usara para _
el Goto, mientras que el Int((txtA - txtDe) * Rnd + txtDe) genera _
el numero aleatorio
   If
rand < txtDe.Text Then 'Si el numero generado es mayor _
a lo que debe ser, se hace de nuevo
       GoTo 10
   Else
       lblRand.Caption = rand 'Se muestra el numero aleatorio
   End If
End Sub
 



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 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 &
CoAdmin
***
Conectado Conectado

Mensajes: 3.441



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 »

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
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

DarkMatrix

Desconectado Desconectado

Mensajes: 125


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 »

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
Aqui:
 
Msgbox "Hola"
 
Goto Aqui
 
« Última modificación: 27 Mayo 2011, 19:07 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 »

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
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
Aqui:
 
Msgbox "Hola"
 
Goto Aqui
 
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 &
CoAdmin
***
Conectado Conectado

Mensajes: 3.441



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 »

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

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


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 »

.
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 por BlackZeroX▓▓▒▒░░ » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
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 »
Programación Visual Basic
diego994 31 64,543 Último mensaje 17 Diciembre 2010, 06:28
por sphiros
Mi generador de IPs aleatorios
Programación General
juanchoc 6 774 Último mensaje 6 Noviembre 2004, 15:06
por juanchoc
Microsoft confirma que XP contiene un bug en el generador de números aleatorios
Bugs y Exploits
Dreo 0 1,247 Último mensaje 10 Diciembre 2007, 04:20
por Dreo
generar números aleatorios en dev c
Programación C/C++
Quake-man 10 1,710 Último mensaje 26 Agosto 2011, 22:54
por Quake-man
generador de numeros aleatorios de 5 cifras
Programación General
Enrique357 2 524 Último mensaje 23 Diciembre 2011, 22:18
por Valkyr
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines