Tomar una palabra random de una lista de palabras en un .txt

Iniciado por extreme69, 13 Noviembre 2011, 23:56 PM

0 Miembros y 1 Visitante están viendo este tema.

extreme69

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

Elemental Code

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

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

BlackZeroX

#2
.
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

Dulces Lunas!¡.
The Dark Shadow is my passion.

raul338


CAR3S?

#4
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 ._.

extreme69

#5
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.

CAR3S?

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

x64core

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

Pablo Videla

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