Código Del Programa

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

'=====================================================================================

=========
'Universidad de San Carlos de Guatemala USAC
'Escuela de Formación de Profesores de Enseñanza Media EFPEM
'P.E.M. en Informática y Computación
'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("Escuela de Formación de Profesores de Enseñanza Media
EFPEM")
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

If VB6.PixelsToTwipsX(Label9.Left) > 24500 Then ' si label9 llega a 24500 entonces


Label9.Left = VB6.TwipsToPixelsX(1200) ' label9 regresa en la posición 1200

mover = 0 'regresar el contador a 0

End If 'fin si
End If 'fin si
End Sub

Private Sub Timer4_Timer()

'
End Sub
End Class

You might also like