C# ile Paralel Port Kullanımı
Bu program ile bilgisayarın paralel portunu kontrol edeceğiz.
Visual studio 2005 ile bir Winform Projesi oluşturduktan sonra aşağıdaki gibi bir form tasarlayalım.
Buton sıralaması da şöyledir:
Burada göremediğiniz yeşil yanık ledler de bulunmaktadır, aşağıdaki kod ile gizlenmiştir.
private **** Form1_Load(object sender, EventArgs e) { pictureBox9.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; }Siz de aynı bu karelerin üzerine daha açık yeşil kareler çizin ve form load kısmına yukardaki kodu ekleyin.
Şimdi port çıkışını okumak için gerekli dll dosyayı projemize dahil edelim. Port ile haberleşme yapabilmemiz için bu dll gerekecektir.
Bir class açıp aşağıdaki kodları yazalım.
Bu kodu yazdıktan sonra port erişimi işlemine hazırız demektir.
Formumuza geri dönüp “çıkışları test et” butonuna çift tıklayarak click olayına aşağıdaki kodu yazalım.
private **** button1_Click(object sender, EventArgs e) { PortAccess.Output(888, 255); pictureBox1.Visible = true; pictureBox2.Visible = true; pictureBox10.Visible = true; pictureBox11.Visible = true; pictureBox12.Visible = true; pictureBox13.Visible = true; pictureBox14.Visible = true; pictureBox15.Visible = true; pictureBox16.Visible = true; label1.Text = "Çıkışların hepsi aktif"; }“Çıkış Yok” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazlaım.
private **** button2_Click(object sender, EventArgs e) { PortAccess.Output(888, 0); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "Hiçbir çıkış aktif değil"; }“1. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button3_Click(object sender, EventArgs e) { PortAccess.Output(888, 1); pictureBox1.Visible = true; pictureBox2.Visible = true; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text="1. Numaralı çıkış aktif"; }“2. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button4_Click(object sender, EventArgs e) { PortAccess.Output(888, 2); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = true; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "2. Numaralı çıkış aktif"; }“3. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button5_Click(object sender, EventArgs e) { PortAccess.Output(888, 4); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = true; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "3. Numaralı çıkış aktif"; }“4. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button6_Click(object sender, EventArgs e) { PortAccess.Output(888, 8); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = true; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "4. Numaralı çıkış aktif"; }“5. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button7_Click(object sender, EventArgs e) { PortAccess.Output(888, 16); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = true; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "5. Numaralı çıkış aktif"; }“6. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button8_Click(object sender, EventArgs e) { PortAccess.Output(888, 32); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = true; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "6. Numaralı çıkış aktif"; }“7. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button9_Click(object sender, EventArgs e) { PortAccess.Output(888, 64); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = true; pictureBox16.Visible = false; label1.Text = "7. Numaralı çıkış aktif"; }“8. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button10_Click(object sender, EventArgs e) { PortAccess.Output(888, 128); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = true; label1.Text = "8. Numaralı çıkış aktif"; }
Bu program ile bilgisayarın paralel portunu kontrol edeceğiz.
Visual studio 2005 ile bir Winform Projesi oluşturduktan sonra aşağıdaki gibi bir form tasarlayalım.
Burada göremediğiniz yeşil yanık ledler de bulunmaktadır, aşağıdaki kod ile gizlenmiştir.
private **** Form1_Load(object sender, EventArgs e) { pictureBox9.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; }Siz de aynı bu karelerin üzerine daha açık yeşil kareler çizin ve form load kısmına yukardaki kodu ekleyin.
Bir class açıp aşağıdaki kodları yazalım.
Formumuza geri dönüp “çıkışları test et” butonuna çift tıklayarak click olayına aşağıdaki kodu yazalım.
private **** button1_Click(object sender, EventArgs e) { PortAccess.Output(888, 255); pictureBox1.Visible = true; pictureBox2.Visible = true; pictureBox10.Visible = true; pictureBox11.Visible = true; pictureBox12.Visible = true; pictureBox13.Visible = true; pictureBox14.Visible = true; pictureBox15.Visible = true; pictureBox16.Visible = true; label1.Text = "Çıkışların hepsi aktif"; }“Çıkış Yok” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazlaım.
private **** button2_Click(object sender, EventArgs e) { PortAccess.Output(888, 0); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "Hiçbir çıkış aktif değil"; }“1. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button3_Click(object sender, EventArgs e) { PortAccess.Output(888, 1); pictureBox1.Visible = true; pictureBox2.Visible = true; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text="1. Numaralı çıkış aktif"; }“2. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button4_Click(object sender, EventArgs e) { PortAccess.Output(888, 2); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = true; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "2. Numaralı çıkış aktif"; }“3. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button5_Click(object sender, EventArgs e) { PortAccess.Output(888, 4); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = true; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "3. Numaralı çıkış aktif"; }“4. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button6_Click(object sender, EventArgs e) { PortAccess.Output(888, 8); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = true; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "4. Numaralı çıkış aktif"; }“5. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button7_Click(object sender, EventArgs e) { PortAccess.Output(888, 16); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = true; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "5. Numaralı çıkış aktif"; }“6. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button8_Click(object sender, EventArgs e) { PortAccess.Output(888, 32); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = true; pictureBox15.Visible = false; pictureBox16.Visible = false; label1.Text = "6. Numaralı çıkış aktif"; }“7. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button9_Click(object sender, EventArgs e) { PortAccess.Output(888, 64); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = true; pictureBox16.Visible = false; label1.Text = "7. Numaralı çıkış aktif"; }“8. Çıkış” butonunun click olayına da yine aynı yöntemle aşağıdaki kodu yazalım.
private **** button10_Click(object sender, EventArgs e) { PortAccess.Output(888, 128); pictureBox1.Visible = true; pictureBox2.Visible = false; pictureBox10.Visible = false; pictureBox11.Visible = false; pictureBox12.Visible = false; pictureBox13.Visible = false; pictureBox14.Visible = false; pictureBox15.Visible = false; pictureBox16.Visible = true; label1.Text = "8. Numaralı çıkış aktif"; }