ArmandoCircuitos
Inicio
Electronica
Programacion
Resultado
Codigo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace Semaforo_LPT_01 { public partial class Form1 : Form { class ControlPort { [DllImport("inpout32.dll", EntryPoint = "Out32")] public static extern void Output(int adress, int value); } public Form1() { InitializeComponent(); } SolidBrush brocha1, brocha2, brocha3; byte cnt = 1; private void panel1_Paint(object sender, PaintEventArgs e) { if (cnt >= 1 && cnt <= 5) brocha3 = new SolidBrush(Color.Green); else brocha3 = new SolidBrush(Color.Gray); if (cnt >= 6 && cnt <= 7) brocha2 = new SolidBrush(Color.Yellow); else brocha2 = new SolidBrush(Color.Gray); if (cnt >= 8) brocha1 = new SolidBrush(Color.Red); else brocha1 = new SolidBrush(Color.Gray); Graphics luces = e.Graphics; luces.FillEllipse(brocha1, 20, 20, 60, 60); luces.FillEllipse(brocha2, 20, 100, 60, 60); luces.FillEllipse(brocha3, 20, 180, 60, 60); } private void timer1_Tick(object sender, EventArgs e) { panel1.Invalidate(); panel2.Invalidate(); if (cnt >= 1 && cnt <= 4) ControlPort.Output(0x378, 36); if (cnt >= 5 && cnt <= 6) ControlPort.Output(0x378, 34); if (cnt >= 7 && cnt <= 11) ControlPort.Output(0x378, 129); if (cnt >= 12) ControlPort.Output(0x378, 65); if (cnt == 14) ControlPort.Output(0x378, 36); cnt++; if (cnt > 14) cnt = 1; } private void panel2_Paint(object sender, PaintEventArgs e) { if (cnt >= 1 && cnt <= 7) brocha1 = new SolidBrush(Color.Red); else brocha1 = new SolidBrush(Color.Gray); if (cnt >= 8 && cnt <= 12) brocha3 = new SolidBrush(Color.Green); else brocha3 = new SolidBrush(Color.Gray); if (cnt >= 13) brocha2 = new SolidBrush(Color.Yellow); else brocha2 = new SolidBrush(Color.Gray); Graphics luces = e.Graphics; luces.FillEllipse(brocha1, 20, 20, 60, 60); luces.FillEllipse(brocha2, 20, 100, 60, 60); luces.FillEllipse(brocha3, 20, 180, 60, 60); } } }
Descarga del archivo
Descargar archivo