Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/12/2009, 10:56
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Un Reto: Mensaje de texto rotativo

El quitar el ListBox es simple y el código es un regalo.
Si necesitas mejorarlo comentalo. Puede que se me ocurra algo o alguien te lo complete.

Código :
Ver original
  1. Function AutoTexto(ByVal TextoBase As String) As String
  2.   Dim PosicionInicio As Long
  3.   Dim PosicionFin As Long
  4.   Dim Lista() As String
  5.   Dim Contador As Long
  6. Repite:
  7.   PosicionInicio = InStr(PosicionInicio + 1, TextoBase, "{")
  8.   If PosicionInicio <> 0 Then
  9.     PosicionFin = InStr(PosicionInicio + 1, TextoBase, "}")
  10.     If PosicionFin > PosicionInicio Then
  11.       Contador = Contador + 1
  12.       ReDim Preserve Lista(Contador)
  13.       Lista(Contador) = Mid$(TextoBase, PosicionInicio + 1, PosicionFin - PosicionInicio - 1)
  14.       TextoBase = Left$(TextoBase, PosicionInicio - 1) & "TextoVariable" & Contador & Mid$(TextoBase, PosicionFin + 1)
  15.       PosicionInicio = 0
  16.       GoTo Repite
  17.     End If
  18.   End If
  19.   Dim Opciones() As String
  20.   Dim Eleccion As String
  21.   Dim F As Long
  22.   Randomize Timer
  23.   For F = 1 To UBound(Lista)
  24.     Opciones = Split(Lista(F), "|")
  25.     Eleccion = Opciones(Rnd * UBound(Opciones))
  26.     TextoBase = Replace(TextoBase, "TextoVariable" & F, Eleccion)
  27.   Next F
  28.   AutoTexto = TextoBase
  29. End Function

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!