Realizar otra vez y dar el resultado del IF

Iniciado por carlosuc99, 27 Enero 2013, 11:28 AM

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

carlosuc99

Oye, y como puedo hacer que ejecute el texto en el RichTextBox1 cada vez que cambie el valor de la variable a true o false?

3mp3z@ndo

No se si te he entendido bien, pero según entiendo lo que quieres lo puedes hacer con los codigos que te han dejado, y para evitar que siga escribiendo pienso que te vendría bien volver a poner la variable a FALSE, de esta forma solo escribiria una vez, a la espera de que el valor de la variable vuelva a cambiar. En el momento que cambia a TRUE vuelves a concatenar y a poner en FALSE la variable.

Un saludo

carlosuc99

Cita de: 3mp3z@ndo en 27 Enero 2013, 22:16 PM
No se si te he entendido bien, pero según entiendo lo que quieres lo puedes hacer con los codigos que te han dejado, y para evitar que siga escribiendo pienso que te vendría bien volver a poner la variable a FALSE, de esta forma solo escribiria una vez, a la espera de que el valor de la variable vuelva a cambiar. En el momento que cambia a TRUE vuelves a concatenar y a poner en FALSE la variable.

Un saludo

No puedo hacer eso porque entonces apagaría las luces del avión en el simulador.

Cómo puedo hacer para que se ejecute una función cada vez que la variable cambia a True o False?

carlosuc99

Vale, ya lo he arreglado:

He puesto donde llamo al Offset de conexión del programa esto:

Código (vbnet) [Seleccionar]
Dim parkBrakes As Offset(Of UShort) = New Offset(Of UShort)(&HBC8) 'Offset con el que llamo al programa
    Dim lastLights As Boolean

'Mas codigo del programa

Private Sub FlighInfo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try

           Dim currentLights As Boolean
            currentLights = lights.Value(LightType.Landing)
            If currentLights <> lastLights Then
                lastLights = currentLights
                Dim Message2 As String = IIf(currentLights, "Landing Lights ON", "Landing Lights OFF")
                RichTextBox1.Text += Environment.NewLine & (Message2)
            End If
        Catch ex As Exception

        End Try
    End Sub
    Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged

    End Sub


Pero ahora tengo una duda. Por que si defino la variable lastLights dentro del Private Sub FlighInfo no funciona? Pasa el error anteriormente mencionado, se repite el mensaje varias veces.

spiritdead

Cita de: carlosuc99 en 28 Enero 2013, 15:22 PM
No puedo hacer eso porque entonces apagaría las luces del avión en el simulador.

Cómo puedo hacer para que se ejecute una función cada vez que la variable cambia a True o False?

facil :) crea 1 variable auxiliar del tipo boolean, q valide si ya fue encendido o no, para que pueda repetirte la accion, de esta manera si esta prendido no se duplica, y si esta apagado realiza el encendido
Facilitador De Tareas - Task Simplifier (FDT)