Bienvenidos

martes, 27 de marzo de 2012

Codigo para cominucación puerto LPT


'ENCENDER 3 LEDS CON VISUAL BASIC.NET CON CABLE LPT1
'==============================================================================================



Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Short, ByVal Data As Byte)
               
                Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Short) As Byte
               
               
                Dim mover As Short
               
                'varibale del contador de encender luces de derecha
               
                Dim Contador As Short
               
               
               
               
               
                Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
                               Dim mafia As Object
                               'prender led verde
                               PortOut(&H378, 64)
                              
                              
                               'encender el label verde y apagar los colores amarillo y rojo
                               Label1.Visible = True
                               Label2.Visible = False
                               Label3.Visible = False
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                               'ocultar el gif
                               Gif89a1.Visible = False
                              
                              
                              
                               On Error GoTo DioError
                               'Si la variable mafia es falso significa que no ha cargado el agente
                               'lo cargamos y colocamos en verdadero la variable mafia
                               If Not mafia Then
                                               Agente1.Characters.Load("Merlin", "Merlin.acs")
                                               'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mafia. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
                                               mafia = True
                               End If
                               'Extablecemos la ubicación del agente
                               Agente1.Characters("Merlin").Left = 570
                               Agente1.Characters("Merlin").Top = 550
                               'Llamamos al agente
                               Agente1.Characters("Merlin").Show()
                               'Colocamos el texto que deseamos que aparesca
                               Agente1.Characters("Merlin").Speak("Gracias por empezar a utilizarme")
                               Exit Sub
DioError:
                              
                              
                End Sub
               
               
               
                Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
                               Dim mafia As Object
                              
                               'Prender led amarillo
                               PortOut(&H378, 32)
                              
                              
                               'encender el label amarillo y apagar los colores verde y rojo
                               Label2.Visible = True
                               Label1.Visible = False
                               Label3.Visible = False
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                              
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                              
                                'ocultar el gif
                               Gif89a1.Visible = False
                              
                              
                              
                               On Error GoTo DioError
                               'Si la variable mafia es falso significa que no ha cargado el agente
                               'lo cargamos y colocamos en verdadero la variable mafia
                               If Not mafia Then
                                               Agente1.Characters.Load("Merlin", "Merlin.acs")
                                               'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mafia. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
                                               mafia = True
                               End If
                               'Extablecemos la ubicación del agente
                               Agente1.Characters("Merlin").Left = 570
                               Agente1.Characters("Merlin").Top = 550
                               'Llamamos al agente
                               Agente1.Characters("Merlin").Show()
                               'Colocamos el texto que deseamos que aparesca
                               Agente1.Characters("Merlin").Speak("Ya era hora de que me uses")
                               Exit Sub
DioError:
                              
                End Sub
               
               
                Private Sub Command3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command3.Click
                               Dim mafia As Object
                               'premder led rojo
                               PortOut(&H378, 128)
                              
                              
                              
                               'encender el label rojo y apagar los labels amarillo y verde
                               Label3.Visible = True
                               Label2.Visible = False
                               Label1.Visible = False
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                              
                               'ocultar el gif
                               Gif89a1.Visible = False
                              
                              
                               On Error GoTo DioError
                               'Si la variable mafia es falso significa que no ha cargado el agente
                               'lo cargamos y colocamos en verdadero la variable mafia
                               If Not mafia Then
                                               Agente1.Characters.Load("Merlin", "Merlin.acs")
                                               'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mafia. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
                                               mafia = True
                               End If
                               'Extablecemos la ubicación del agente
                               Agente1.Characters("Merlin").Left = 570
                               Agente1.Characters("Merlin").Top = 550
                               'Llamamos al agente
                               Agente1.Characters("Merlin").Show()
                               'Colocamos el texto que deseamos que aparesca
                               Agente1.Characters("Merlin").Speak("Gracias por usar este programa")
                               Exit Sub
DioError:
                End Sub
               
                Private Sub Command4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command4.Click
                               ' ENCENDER todas las luces
                               PortOut(&H378, 255)
                              
                               'TODOS LOS LABELS VISIBLES
                               Label1.Visible = True
                               Label2.Visible = True
                               Label3.Visible = True
                              
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                End Sub
               
                Private Sub Command5_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command5.Click
                               'deja al contador en 0
                               Contador = 0
                              
                              
                               'APAGAR todas las luces
                               PortOut(&H378, 0)
                              
                               'TODOS LOS LABELS OCULTOS
                               Label1.Visible = False
                               Label2.Visible = False
                               Label3.Visible = False
                              
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                               'desactivar visibilidad a los labels que corren abaja por el semaforo
                               Label9.Visible = False
                               Label10.Visible = False
                               Label11.Visible = False
                               Label12.Visible = False
                               Label13.Visible = False
                               Label14.Visible = False
                              
                               'ocultar el gif
                               Gif89a1.Visible = True
                              
                              
                End Sub
               
                Private Sub Command6_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command6.Click
                              
                               'el contador inicia con el 0
                               Contador = 0
                               'desacticar el timerl del semaforo
                               Timer2.Enabled = False
                              
                              
                              
                               'activar timer que realiza 1 despues del otro
                              
                               Timer1.Enabled = True 'activar timer
                               'UPGRADE_WARNING: La propiedad Timer Timer1.Interval no puede tener un valor de 0. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="169ECF4A-1968-402D-B243-16603CC08604"'
                               Timer1.Interval = CInt(Combo1.Text) 'valor del interval del timer = al valor del combo1
                              
                              
                End Sub
               
                Private Sub Command7_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command7.Click
                               'SALIR DEL PROGRAMA
                              
                              
                               'APAGAR todas las luces
                               PortOut(&H378, 0)
                              
                               'TODOS LOS LABELS OCULTOS
                               Label1.Visible = False
                               Label2.Visible = False
                               Label3.Visible = False
                              
                              
                               'detener el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                              
                               End ' fin del programa
                              
                End Sub
               
               
               
               
               
                Private Sub Command8_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command8.Click
                               Dim mafia As Object
                               'desactivar el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                              
                               'activar visibilidad a los labels que corren abaja por el semaforo
                               Label9.Visible = True
                               Label10.Visible = True
                               Label11.Visible = True
                               Label12.Visible = True
                               Label13.Visible = True
                               Label14.Visible = True
                              
                              
                              
                               'el contador inicia del 0
                               Contador = 0
                              
                               'ocultar el gif
                               Gif89a1.Visible = False
                              
                              
                               'desactivar el timer que controla uno despues del otro
                               Timer1.Enabled = False
                              
                               ' activar el timer que controla el semaforo
                               Timer2.Enabled = True
                              
                              
                              
                               ' código del mago
                               On Error GoTo DioError
                               'Si la variable mafia es falso significa que no ha cargado el agente
                               'lo cargamos y colocamos en verdadero la variable mafia
                               If Not mafia Then
                                               Agente2.Characters.Load("Merlin", "Merlin.acs")
                                               'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mafia. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
                                               mafia = True
                               End If
                               'Extablecemos la ubicación del agente
                               Agente2.Characters("Merlin").Left = 600
                               Agente2.Characters("Merlin").Top = 200
                               'Llamamos al agente
                               Agente2.Characters("Merlin").Show()
                               'Colocamos el texto que deseamos que aparesca
                               Agente2.Characters("Merlin").Speak("Semáforo a iniciar. Gracias")
                               Exit Sub
DioError:
                End Sub
               
               
               
               
               
               
               
               
                Private Sub plataforma1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
                               Dim mafia As Object
                               On Error Resume Next
                               'Si bien se carga como un ocx, esta es una dll. La misma copiarla en _
                               'en el directorio de systema de windows para que funcione
                              
                               Gif89a1.FileName = My.Application.Info.DirectoryPath & "\EFPEM.gif" 'ubicaión de la imagen gif
                              
                              
                              
                              
                               'CÓDIGO DEL MAGO
                              
                              
                              
                              
                               On Error GoTo DioError
                               'Si la variable mafia es falso significa que no ha cargado el agente
                               'lo cargamos y colocamos en verdadero la variable mafia
                               If Not mafia Then
                                               Agente.Characters.Load("Merlin", "Merlin.acs")
                                               'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mafia. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
                                               mafia = True
                               End If
                               'Extablecemos la ubicación del agente
                               Agente.Characters("Merlin").Left = 300
                               Agente.Characters("Merlin").Top = 550
                               'Llamamos al agente
                               Agente.Characters("Merlin").Show()
                               'Colocamos el texto que deseamos que aparesca
                               Agente.Characters("Merlin").Speak("listo")
                               Exit Sub
DioError:
                              
                              
                End Sub
               
               
               
               
               
               
                Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
                               'TIMER QUE PRENDE DESDE LA DERECHA
                              
                               ' contador que lleva el conteo de 1 a 3 un número cada color.
                               Contador = Contador + 1
                               Text1.Text = CStr(Contador)
                              
                              
                              
                              
                               If Contador = 1 Then ' si contador= 1 entonces
                                              
                                               'prender led verde
                                               PortOut(&H378, 64)
                                              
                                               'encender el label verde y apagar los colores amarillo y rojo
                                               Label1.Visible = True
                                               Label2.Visible = False
                                               Label3.Visible = False
                                              
                                              
                               Else 'de lo contrario
                                              
                                               If Contador = 2 Then
                                                              
                                                               'Prender led amarillo
                                                               PortOut(&H378, 32)
                                                              
                                                               'encender el label amarillo y apagar los colores verde y rojo
                                                               Label2.Visible = True
                                                               Label1.Visible = False
                                                               Label3.Visible = False
                                                              
                                                              
                                                              
                                               Else 'de lo contrario
                                                              
                                                               If Contador = 3 Then
                                                                             
                                                                              'premder led rojo
                                                                              PortOut(&H378, 128)
                                                                             
                                                                              'encender el label rojo y apagar los labels amarillo y verde
                                                                              Label3.Visible = True
                                                                              Label2.Visible = False
                                                                              Label1.Visible = False
                                                                             
                                                                             
                                                                              Contador = 0 'contador= 0 e inicia nuevamente en 1
                                                                             
                                                               End If 'fin si
                                               End If 'fin si
                               End If 'fin si
                End Sub
               
               
               
                Private Sub Timer2_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer2.Tick
                               'TIMER QUE CONTROLA LOS COLORES DEL SEMAFORO
                              
                               Timer1.Enabled = False
                              
                              
                               ' contador que lleva el conteo de 1 a 20 5 en 5 para cada color
                               Contador = Contador + 1 '
                               Text1.Text = CStr(Contador)
                              
                              
                              
                              
                               If Contador >= 1 Then ' si contador= 1 entonces
                                              
                                               'prender led verde
                                               PortOut(&H378, 64)
                                              
                                               'encender el label verde y apagar los colores amarillo y rojo
                                               Label1.Visible = True
                                               Label2.Visible = False
                                               Label3.Visible = False
                                              
                                              
                                               If Contador >= 5 Then 'si contador= 5 entonces
                                                              
                                                               'prender los leds verde y amarillo
                                                               PortOut(&H378, 96)
                                                              
                                                              
                                                              
                                                               'encender el label amarillo y apagar los colores verde y rojo
                                                               Label2.Visible = True
                                                               Label1.Visible = True
                                                               Label3.Visible = False
                                                              
                                                              
                                                               If Contador >= 10 Then
                                                                             
                                                                              'APAGAR todas las luces
                                                                              PortOut(&H378, 0)
                                                                             
                                                                              'encender el label verde y apagar los colores amarillo y rojo
                                                                              Label1.Visible = False
                                                                              Label2.Visible = False
                                                                              Label3.Visible = False
                                                                             
                                                               End If 'fin si
                                                              
                                                              
                                                              
                                                               If Contador >= 10 Then 'si contador>=10 entonces
                                                                             
                                                                              'premder led rojo
                                                                              PortOut(&H378, 128)
                                                                             
                                                                              'encender el label rojo y apagar los labels amarillo y verde
                                                                              Label3.Visible = True
                                                                              Label2.Visible = False
                                                                              Label1.Visible = False
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                              If Contador >= 15 Then ' si contador= 15 entonces
                                                                                             
                                                                                              PortOut(&H378, 160) 'prender rojo y amarillo
                                                                                             
                                                                                             
                                                                                             
                                                                                             
                                                                                              'encender el label amarillo y apagar los colores verde y rojo
                                                                                              Label2.Visible = True
                                                                                              Label1.Visible = False
                                                                                              Label3.Visible = True
                                                                                             
                                                                                             
                                                                                             
                                                                                             
                                                                                              If Contador >= 20 Then ' si contador>= 20 entonces
                                                                                                              Contador = 0 'contador= 0 e inicia nuevamente en 1
                                                                                                             
                                                                                                             
                                                                                                              'APAGAR todas las luces
                                                                                                              PortOut(&H378, 0)
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                              End If ' fin si
                                                                                             
                                                                              End If 'fin si
                                                               End If 'fin si
                                               End If 'fin si
                                              
                               End If 'fin si
                              
                End Sub
               
                Private Sub Timer3_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer3.Tick
                               'TIMER QUE CONTROLA LOS LABELS QUE SE MUEVEN ABAJO
                              
                               If Label1.Visible = True Then ' si label1 es visible entonces
                                              
                                               mover = mover + 30 ' mover incrementa
                                               Label9.Left = VB6.TwipsToPixelsX(1200 + mover) ' label mover a la derecha en aumento de 100 en 10
                                              
                                               Label10.Left = VB6.TwipsToPixelsX(-1550 + mover) ' label mover a la derecha en aumento de 100 en 100
                                              
                                               Label11.Left = VB6.TwipsToPixelsX(-4300 + mover) ' label mover a la derecha en aumento de 100 en 100
                                              
                                               Label12.Left = VB6.TwipsToPixelsX(-6900 + mover) ' label mover a la derecha en aumento de 100 en 100
                                              
                                               Label13.Left = VB6.TwipsToPixelsX(-9300 + mover) ' label mover a la derecha en aumento de 100 en 100
                                              
                                               Label14.Left = VB6.TwipsToPixelsX(-11900 + mover) ' label mover a la derecha en aumento de 100 en 100