HomeCommentsCommentsJaime Montoya Online


Simulación de un Semáforo en Visual Basic 2005

Hacer clic aquí para descargar el programa y el documento.

 

Este programa está desarrollado en Microsoft Visual Basic 2005 y simula un semáforo de cuatro caras. A continuación se presentan unas impresiones de pantalla del programa en ejecución.

 

 

 

 

 

OBJETOS DEL PROGRAMA

 

En tiempo de diseño, insertar los siguientes objetos con las propiedades que se muestran a continuación:

 

OBJETO

PROPIEDAD

VALOR

Form1 System.Windows.Forms.Form

(Name)

Form1

 

AutoScaleMode

Font

 

BackgroundImage

System.Drawing.Bitmap

 

FormBorderStyle

FixedSingle

 

MaximizeBox

False

 

Size

790, 590

 

StartPosition

CenterScreen

 

Text

Semáforo de 4 caras

Label 1 System.Windows.Forms.Label

(Name)

Label1

 

AutoSize

True

 

BackColor

Transparent

 

Font

Microsoft Sans Serif, 9.75pt

 

ForeColor

White

 

Location

582, 511

 

Modifiers

Friend

 

Size

202, 48

 

TabIndex

0

 

Text

Jaime Montoya

webmaster@jaimemontoya.com

www.jaimemontoya.com

Timer1 System.Windows.Forms.Timer

(Name)

Timer1

 

Enabled

True

 

Interval

1000

 

Modifiers

Friend

Timer2 System.Windows.Forms.Timer

(Name)

Timer2

 

Enabled

True

 

Interval

1000

 

Modifiers

Friend

ImageList1 System.Windows.Forms.ImageList

(Name)

ImageList1

 

Modifiers

Friend

 

TransparentColor

Transparent

 

CÓDIGO DEL PROGRAMA

 

 

CÓDIGO DEL MÓDULO Module1.vb

 

Module Module1

Public tiempo1 As Integer

Public tiempo2 As Integer

End Module

 

CÓDIGO DE LA CLASE semaforoClass.vb

 

Public Class semaforoClass

Inherits Panel

Public cara1 As semaforoClass

Public cara2 As semaforoClass

Public cara3 As semaforoClass

Public cara4 As semaforoClass

End Class

 

CÓDIGO DEL FORMULARIO Form1.vb

 

Public Class Form1

Public Sub encender_esteoeste()

If tiempo1 = 3 Then 'Para el verde.

semaforo.cara4.BackgroundImage = Me.ImageList1.Images(4)

semaforo.cara4.Left = semaforo.cara4.Left + 17

semaforo.cara2.BackgroundImage = Me.ImageList1.Images(4)

semaforo.cara2.Left = semaforo.cara2.Left - 17

End If

If tiempo1 = 8 Then 'Para el amarillo.

semaforo.cara4.BackgroundImage = Me.ImageList1.Images(5)

semaforo.cara4.Left = semaforo.cara4.Left + 17

semaforo.cara2.BackgroundImage = Me.ImageList1.Images(5)

semaforo.cara2.Left = semaforo.cara2.Left - 17

End If

If tiempo1 = 10 Then 'Pare el rojo.

semaforo.cara4.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara4.Left = semaforo.cara4.Left + 17

semaforo.cara2.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara2.Left = semaforo.cara2.Left - 17

End If

If tiempo1 = 20 Then

semaforo.cara4.BackgroundImage = Me.ImageList1.Images(2)

semaforo.cara4.Left = semaforo.cara4.Left - 51

semaforo.cara2.BackgroundImage = Me.ImageList1.Images(0)

semaforo.cara2.Left = semaforo.cara2.Left + 51

tiempo1 = -1

End If

tiempo1 += 1

End Sub

Public Sub encender_nortesur()

If tiempo2 = 10 Then 'Para el verde abajo.

semaforo.cara1.BackgroundImage = Me.ImageList1.Images(3)

semaforo.cara1.Top = semaforo.cara1.Top - 17 - 17 - 17

semaforo.cara3.BackgroundImage = Me.ImageList1.Images(1)

semaforo.cara3.Top = semaforo.cara3.Top + 17 + 17 + 17

End If

If tiempo2 = 13 Then 'Para el verde.

semaforo.cara1.BackgroundImage = Me.ImageList1.Images(4)

semaforo.cara1.Top = semaforo.cara1.Top + 17

semaforo.cara3.BackgroundImage = Me.ImageList1.Images(4)

semaforo.cara3.Top = semaforo.cara3.Top - 17

End If

If tiempo2 = 18 Then 'Pare el amarillo.

semaforo.cara1.BackgroundImage = Me.ImageList1.Images(5)

semaforo.cara1.Top = semaforo.cara1.Top + 17

semaforo.cara3.BackgroundImage = Me.ImageList1.Images(5)

semaforo.cara3.Top = semaforo.cara3.Top - 17

End If

If tiempo2 = 20 Then

semaforo.cara1.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara1.Top = semaforo.cara1.Top + 17

semaforo.cara3.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara3.Top = semaforo.cara3.Top - 17

tiempo2 = -1

End If

tiempo2 += 1

End Sub

Public semaforo As New semaforoClass

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

encender_esteoeste()

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

tiempo1 = 0

Dim objDraw1 As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath

objDraw1.AddEllipse(0, 0, 16, 16)

semaforo.cara1 = New semaforoClass

semaforo.cara1.Region = New Region(objDraw1)

semaforo.cara1.Size = New Size(16, 16)

semaforo.cara1.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara1.Location = New Point(410, 123)

Me.Controls.Add(semaforo.cara1)

Dim objDraw2 As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath

objDraw2.AddEllipse(0, 0, 16, 16)

semaforo.cara2 = New semaforoClass

semaforo.cara2.Region = New Region(objDraw2)

semaforo.cara2.Size = New Size(16, 16)

semaforo.cara2.BackgroundImage = Me.ImageList1.Images(0)

semaforo.cara2.Location = New Point(606, 271)

Me.Controls.Add(semaforo.cara2)

Dim objDraw3 As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath

objDraw3.AddEllipse(0, 0, 16, 16)

semaforo.cara3 = New semaforoClass

semaforo.cara3.Region = New Region(objDraw1)

semaforo.cara3.Size = New Size(16, 16)

semaforo.cara3.BackgroundImage = Me.ImageList1.Images(6)

semaforo.cara3.Location = New Point(408, 419)

Me.Controls.Add(semaforo.cara3)

Dim objDraw4 As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath

objDraw4.AddEllipse(0, 0, 16, 16)

semaforo.cara4 = New semaforoClass

semaforo.cara4.Region = New Region(objDraw4)

semaforo.cara4.Size = New Size(16, 16)

semaforo.cara4.BackgroundImage = Me.ImageList1.Images(2)

semaforo.cara4.Location = New Point(210, 270)

Me.Controls.Add(semaforo.cara4)

End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

encender_nortesur()

End Sub

End Class

 

 

Jaime Montoya

webmaster@jaimemontoya.com

www.jaimemontoya.com

Santa Ana, 5 de julio de 2008

El Salvador

 

 




Jaime Montoya Online




Last modified: November 06 2009 06:30:16 (GMT)


Copyright © 2007-2010 Jaime Montoya's Home Page. All rights reserved. For questions, comments and suggestions, you can chat live, send your messages or write to webmaster@jaimemontoya.com. Thanks for your visit!



Hosted by Yahoo!

Flag


Free Web Games


Flag


The Interview With God


Flag


BBC 1


Flag


Numeric Methods


Flag


Google Analytics


Flag


Free Web Games


Flag


Object-Oriented Programming