Foro de elhacker.net

Programación => 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
Código:
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
  1. Private Function RandomNumBetween(ByVal LowerLimit As Long, ByVal UpperLimit As Long) As Long
  2. Randomize Timer
  3.  ' This function returns a pseudo-random number between
  4.  ' the specified limits (inclusive).
  5.  RandomNumBetween = Rnd * (UpperLimit - LowerLimit) + LowerLimit
  6. 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
  1.  
  2. Private Sub Form_Load()
  3. Dim i As Integer
  4.    For i = 0 To 99
  5.        Debug.Print numRandom(1, 3)
  6.    Next
  7. End Sub
  8.  
  9. Private Sub lSwap(ByRef l1 As Long, ByRef l2 As Long)
  10. '   //  Intercambia el contenido de las variables.
  11.    l2 = l2 Xor l1
  12.    l1 = l1 Xor l2
  13.    l2 = l2 Xor l1
  14. End Sub
  15.  
  16. Private Function fixNumbers(ByRef lMin As Long, ByRef lMax As Long) As Boolean
  17. '   //  Corrige los valores dados.
  18.    If lMax < lMin Then
  19.        Call lSwap(lMin, lMax)
  20.        fixNumbers = True
  21.    End If
  22. End Function
  23.  
  24. Private Function numRandom(ByVal lMin As Long, ByVal lMax As Long) As Long
  25. '   //  Genera un Numero aleatorio de acuerdo a un rango dado.
  26.    Call fixNumbers(lMin, lMax)
  27.    Call Randomize
  28.    numRandom = (lMin - lMax) * Rnd + lMax
  29. End Function
  30.  
  31.  

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

Código:
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
Citar
Ya 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