Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: extreme69 en 13 Noviembre 2011, 23:56 PM

Título: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: extreme69 en 13 Noviembre 2011, 23:56 PM
Dim strWords() As String
Dim iFile As Long
Dim strFilename As String
Dim strData As String

strFilename = app.path "\words.txt"

iFile = FreeFile

Open strFilename For Input As #iFile

   strData = Input$(LOF(iFile), #iFile)

Close #iFile



strWords() = Split(strData, vbNewLine)

Dim variable As String

Text1.Text = strWords(Int(Rnd * UBound(strWords)))
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: Elemental Code en 14 Noviembre 2011, 00:00 AM
asi se genera un numero pseudoaleatorio

Código (vb) [Seleccionar]
Private Function RandomNumBetween(ByVal LowerLimit As Long, ByVal UpperLimit As Long) As Long
Randomize Timer
 ' This function returns a pseudo-random number between
 ' the specified limits (inclusive).
 RandomNumBetween = Rnd * (UpperLimit - LowerLimit) + LowerLimit
End Function


esta mal tu algoritmo para generar el numero aleatorio o te falta el "randomize (seed)" timer es un valor del sistema que si no me equivoco es la cantidad de segundos hasta la medianoche, por lo cual nunca va a ser el mismo
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: BlackZeroX en 14 Noviembre 2011, 00:19 AM
.
Código (Vb) [Seleccionar]


Private Sub Form_Load()
Dim i As Integer
    For i = 0 To 99
        Debug.Print numRandom(1, 3)
    Next
End Sub

Private Sub lSwap(ByRef l1 As Long, ByRef l2 As Long)
'   //  Intercambia el contenido de las variables.
    l2 = l2 Xor l1
    l1 = l1 Xor l2
    l2 = l2 Xor l1
End Sub

Private Function fixNumbers(ByRef lMin As Long, ByRef lMax As Long) As Boolean
'   //  Corrige los valores dados.
    If lMax < lMin Then
        Call lSwap(lMin, lMax)
        fixNumbers = True
    End If
End Function

Private Function numRandom(ByVal lMin As Long, ByVal lMax As Long) As Long
'   //  Genera un Numero aleatorio de acuerdo a un rango dado.
    Call fixNumbers(lMin, lMax)
    Call Randomize
    numRandom = (lMin - lMax) * Rnd + lMax
End Function



Si quieres una clase mas completa: cRndNumbersNR (http://infrangelux.hostei.com/index.php?option=com_content&view=article&id=31:crndnumbersnr&catid=2:catprocmanager&Itemid=3)

Dulces Lunas!¡.
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: raul338 en 14 Noviembre 2011, 00:23 AM
Cita de: extreme69 en 13 Noviembre 2011, 23:56 PM
Ya lo hice, borre algún moderador :P

:huh: :huh:

Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: CAR3S? en 14 Noviembre 2011, 04:38 AM
Edito y esta vez con más respeto......

o vives en una put*a nube o no te gusta compartir.

crees que haberlo solucionado es motivo para eliminar un th? si asi fuera, google no existiria. no existiria la info en internet...

creo que comes *****

por otro lado, si no quieres compartir el codigo (ENCIMA VENIS A PEDIR AYUDA), mejor vete a otro lado................. aun no me queda claro como puedes decir eso ._.
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: extreme69 en 14 Noviembre 2011, 07:01 AM
Cita de: nukje en 14 Noviembre 2011, 04:38 AM
Edito y esta vez con más respeto......

o vives en una put*a nube o no te gusta compartir.

crees que haberlo solucionado es motivo para eliminar un th? si asi fuera, google no existiria. no existiria la info en internet...

creo que comes *****

por otro lado, si no quieres compartir el codigo (ENCIMA VENIS A PEDIR AYUDA), mejor vete a otro lado................. aun no me queda claro como puedes decir eso ._.

No hay necesidad de ser agresivo, si te va mal en la vida no castigues a gente inocente, por otro lado, ¡que locura! después de leer tu maleducado comentario cualquiera pensaría que el que come ***** eres tu :)

El thread lo abrí para consultar algo que a los pocos minutos me dí cuenta de donde estaba el error, lo solucioné y por lo tanto me pareció innecesario seguir con el thread. De todas formas, el código SI lo postié, simplemente luego lo edité, no es cuestión de egoísmo alguno.

Private Sub change_Click()
Dim strWords() As String
Dim iFile As Long
Dim strFilename As String
Dim strData As String

strFilename = app.path "\words.txt"

iFile = FreeFile

Open strFilename For Input As #iFile

   strData = Input$(LOF(iFile), #iFile)

Close #iFile



strWords() = Split(strData, vbNewLine)

Dim variable As String

Text1.Text = strWords(Int(Rnd * UBound(strWords)))
End Sub


Ahora estoy viendo las otras opciones que me plantean, aunque esto no es para algo muy simple que realmente no necesita un resultado único, sino más bien darle un orden sin necesidad de elegirlo, gracias BlackZeroX, está excelente.
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: CAR3S? en 14 Noviembre 2011, 16:42 PM
se me fue la mano, y si, tengo problemas que no te importan y ultimamente me afectan demasiado.

lo siento, peero ahora ya lo sabes  ;D saludos
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: x64core en 16 Noviembre 2011, 19:49 PM
CitarYa lo hice, borre algún moderador
WFT?  :huh:
No es por nada pero estas loco, aqui no es de pedir ayuda y cuando lo resolves queres borrar el tema
que lammer  eres
Título: Re: Tomar una palabra random de una lista de palabras en un .txt
Publicado por: Pablo Videla en 17 Noviembre 2011, 00:02 AM
Creo que el tipo ya explico su situacion  :xD,  no es necesario los insultos, eso lo pueden dejar en el foro libre donde pueden sacarse la madre y la hermana cuando quieran.  :P