|
Programación: Generar números aleatorios random con Visual Studio .Net VB .NET
Tutorial donde mostramos cómo generar números aleatorios (random) desde una aplicación desarrollada con Microsoft Visual Basic .Net de Microsoft Visual Studio .Net. Mostramos cómo generar números aleatorios siempre distintos en VB.NET.
Cómo generar números aleatorios (random) en Visual Basic .NETVisual Basic .Net permite el empleo de la antigua instrucción Randomize y de la función Rnd con el objeto de mantener la compatibilidad con versiones anteriores, pero los diseñadores profesionales de .NET deberán utilizar la clase System.Random. Con esta clase se podrá configurar la semilla para la generación del número aleatorio utilizando el método constructor de esta clase:
El argumento de la función anterior, de añadirlo, debe ser un entero de 32 bits:
Si especificamos un número en el argumento se generará un solo número aleatorio con:
En cambio, si no especificamos argumento, se generá una secuencia de números aleatorios (uno cada vez que se llame a "numeroAleatorio.Next") distintos hasta completar la secuencia de números para la semilla actual:
Con la clase anterior, un ejemplo de uso para mostrar los números aleatorios generados en un cuadro de texto en VB .Net podría ser: Private Sub btRandom_Click(sender As Object, e As EventArgs) Handles btRandom.Click Dim numAleatorio As New Random() txtNumero.Text = System.Convert.ToString(numAleatorio.Next) End Sub Si queremos que el valor devuelto (número aleatorio) se encuentre en el rango deseado podremos usar el siguiente ejemplo que obtendrá valores aleatorios entre 100 y 1000:
Si queremos obtener un número aleatorio en coma flotante (double) usaremos la función NextDouble:
Si queremos rellenar una matriz de Bytes con números aleatorios podremos usar el método NextBytes. Un ejemplo para obtener una matriz de 1000 valores aleatorios:
Cómo generar números aleatorios (random) en Visual Basic .NET siempre distintos cada vez que se ejecute la aplicaciónEn el caso anterior, siempre que se pase de un determinado número de semilla se obtendrá la misma secuencia de números aleatorios. Para obtener una secuencia de números aleatorios distintos cada vez que se ejecute la aplicación, se deberá hacer que la semilla dependa de la hora actual del equipo. En Visual Basic 6 se utilizaba la siguiente instrucción:
Para el caso de Visual Basic .NET se utilizará:
Un ejemplo de generación de números aleatorios siempre distintos en VB .NET: Private Sub btAleatorioDistinto_Click(sender As Object, e As EventArgs) _ Handles btAleatorioDistinto.Click Dim numAleatorio As New Random(CInt(Date.Now.Ticks And Integer.MaxValue)) txtAleatorioDistinto.Text = System.Convert.ToString(numAleatorio.Next) End Sub AjpdSoft Números Aleatorios VB.NETA continuación mostramos el código fuente completo de la aplicación de ejemplo para generar números aleatorios AjpdSoft Números Aleatorios VB.NET: Public Class formNumAleatorios Private Sub btAleatorioDistinto_Click(sender As Object, e As EventArgs) _ Handles btAleatorioDistinto.Click Dim numAleatorio As New Random(CInt(Date.Now.Ticks And Integer.MaxValue)) txtAleatorioDistinto.Text = System.Convert.ToString(numAleatorio.Next) End Sub Private Sub btAleatorioArgumento_Click(sender As Object, e As EventArgs) _ Handles btAleatorioArgumento.Click Try Dim numAleatorio As New Random(System.Convert.ToInt32(txtArgumento.Text)) txtNumeroAleatorioArgumento.Text = System.Convert.ToString(numAleatorio.Next) Catch ex As Exception MsgBox("Debe indicar un número válido en el argumento.", _ MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly) txtArgumento.Focus() End Try End Sub Private Sub btAleatorioSinArgumento_Click(sender As Object, e As EventArgs) _ Handles btAleatorioSinArgumento.Click Dim numAleatorio As New Random() txtAleatorioSinArgumento.Text = System.Convert.ToString(numAleatorio.Next) End Sub Private Sub LinkLabel1_LinkClicked(sender As Object, e As _ LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start("http://www.ajpdsoft.com") End Sub End Class Su descarga gratuita:
Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft. Anuncios
Enviado el Viernes, 21 febrero a las 00:35:12 por ajpdsoft
|
|