Visual Basic - señor

Life is soft - evento anual de software empresarial
 
Vista:

señor

Publicado por Edward Carnby (1 intervención) el 30/05/2008 13:28:50
Hola.

Escribo esta nota porque ya no sé como hacer esto. Resulta que he programado un temporizador que manda mensajes a un textbox, simulando una respuesta humana. Yo regulo el intérvalo de envío de mensajes (se supone que el ordenador te contesta según le digas. Es un juego de cartas). Bien, cuando mando el primer mensaje al textbox me lo ignora, aun diciéndole que me de un retardo de 3 segundos, y me muestra el mensaje siguiente. Lo que quiero es mandar un mandar un mensaje al textbox, que pase un tiempo (en segundos) especificado por mí. A ver si alguien me puede echar una mano, por favor. Os dejo el código fuente del procedimiento, así como tres o cuatro líneas donde lo llamo.

Desde aquí (MostrarMensajesPepe) llamo a la función.

Call MostrarMensajesPepe(msjSalePepe, 0) -> Este mensaje no me sale en el textbox

intValorEnvitePepe = 31
Select Case intValorEnvitePepe

Case 29 To 31

'* PEPE ENVIDA *

Call MostrarMensajesPepe(msjPepeEnvida, 4) -> Este mensaje si que me sale en el textbox.

Y esta es la implementación de la función.

Private Sub MostrarMensajesPepe(strMensaje As String, vntSegundos As Variant)
Dim x As Integer, dtmHoraInicial As Variant, dtmHoraFinal As Variant
Static udfMensajes(10) As MENSAJE
For x = 1 To 10
If udfMensajes(x).Texto = "" Then
udfMensajes(x).Texto = strMensaje
udfMensajes(x).Retardo = vntSegundos
udfMensajes(x).HoraInicial = Format(Time, "hh:mm:ss")
udfMensajes(x).HoraFinal = Format((DateAdd("s", udfMensajes(x).Retardo, udfMensajes(x).HoraInicial)), "hh:mm:ss")
x = 10
End If
Next x
For x = 1 To 10
If udfMensajes(x).Mostrado = False Then
txtMensajes.Text = udfMensajes(x).Texto
udfMensajes(x).Mostrado = True
Do While udfMensajes(x).HoraInicial < udfMensajes(x).HoraFinal
udfMensajes(x).HoraInicial = Format(Time, "hh:mm:ss")
Loop
x = 10
End If
Next x
If udfMensajes(10).Mostrado = True Then
For x = 1 To 10
udfMensajes(x).Texto = ""
udfMensajes(x).Retardo = 0
udfMensajes(x).HoraInicial = 0
udfMensajes(x).HoraFinal = 0
udfMensajes(x).Mostrado = False
Next x
End If
End Sub

Como podeis ver, he hecho hasta una cola de mensajes (la he probado y funciona) pero no consigo arreglar lo del maldito TEXTBOX. He probado a cambiar la frecuencia del prime mensaje y nada. Si alguien puede ayudarme, lo agradecería.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:señor

Publicado por kr4k0t0m1a (6 intervenciones) el 31/05/2008 21:56:23
tienes un porblema de pepes, revisa el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar