Zamanlı işlem yaptırma

(Not : Bu programı çalıştırabilmeniz için bir önceki yazıyı okumanız gerekir. !!!)

C#’da bir önceki alarm uygulamasını bir adım daha ileri götürerek girilen, istenilen zamanda; bilgisayarı kapatma, yeniden başlatma, oturum kapatma, hazırda bekletme veya mesaj veren uygulama haline getirelim. Ayrıca Csharp’da basit kontrollü alarm örneğinde uygulamadığımız ses dosyası çalmasını da ekleyelim.

Aynı veya yeni bir form üzerine önceki yazıda istenilen form parçaları ile birlikte 5 adet radiobuton, bir tane checkbox, sağ alt köşede girilen notu zamanında mesaj olarak, baloncuk halinde verebilmesi için bir adet notifyicon ve son olarak multiline özelliği aktif edilmiş textbox(textbox üzerine tıklayarak multiline özelliği aktif edebilirsiniz).

Kodlamaya geçmeden önce bir önceki örnekte uygulamada alarm sesi yoktu, ama bunda var. C#’da ses dosyası oynatabilmek için kodlama kısmındaki en üste bulunan kütüphanelere
using System.Media;
şeklinde ses namespace’i ekliyoruz.(Bu namespace eklenmez ise uygulamadaki ses dosyası çalışmaz program hata verir) Ses dosyasını program çalıştığı zaman her defasında import etmemesi için resimdeki gibi Solution Explorer‘den Properties dosyası altındaki Resources.resx sağ tıklayıp Open, ardından çıkan sayfada üst taraftaki Add Resource‘a tıklayıp ses dosyasını ekleyin.

Bunları yaptıktan sonra kodlamaya atlayabiliriz. Bir önceki uygulama üzerinden devam ettiğim için talarmkur timer’ına çift tıklayıp kodları alttaki gibi uygulayın

[cc lang=”c#”]private void talarmkur_Tick(object sender, EventArgs e)
{
simdi = DateTime.Now;
if (simdi.ToString() == alarmzamani.ToString())
{

if (bilgisayarikapat.Checked) //bilgisayarı kapat butonu seçili ise
{
System.Diagnostics.Process.Start(“shutdown”, “-s -f -t 0”); // bilgisayarı kapatma komutu
}
else if (oturumkapat.Checked)
{
System.Diagnostics.Process.Start(“shutdown”, “-l -f”); //oturumu kapatma kodları
}
else if (yenidenb.Checked)
{
System.Diagnostics.Process.Start(“shutdown”, “-r -f -t 0”); //bilgisayarı yeniden başlatmak için
}
else if (hazirda.Checked)
{
System.Diagnostics.Process.Start(“shutdown”, “-h -f”); // bilgisayarı hazırda beklet
}

else if (notyaz.Checked)
{
try //alarm sesi çalmasında olası hata için try catch denetimini ekledik
{
SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm_sesi); //alarm için değer oluşturuldu
if (alarmcal.Checked)
{
sp.PlayLooping();
}
}

catch
{
MessageBox.Show(“Ses dosyasında hata oluştu”);
}
string notd= notyeri.Text; // yazılan notu string değişkenine atadık
notifyIcon1.BalloonTipTitle = “Bir Not Var !!!”; //sağ alt köşede çıkan baloncuk başlığı
notifyIcon1.BalloonTipText = alarmzamani.ToString() + ” Tarihindeki Zamanlanmış Notunuz : \n\n” + notd; // ayarlanan tarihi ve yazılan notu baloncukta gösterecek
notifyIcon1.ShowBalloonTip(5000); //5 saniye balon not gözükecek

}

else
{
MessageBox.Show(“Beklenmedik bir hata oluşuverdi. \n Programı kapatıp tekrar deneyin!!!”);

}
talarmkur.Enabled = false;

}
}[/cc]

açıklamaları kod kısmında görebilirsiniz. Program çalıştığında sağ alt köşede baloncuk mesajını verebilmek için eklenen Notifyicon kontrolünün properties’den icon kısmından bir resim ikon ekleyin.

Alarm sesini durdurabilmek için ise, Durdur(btndurdur) butonuna şimdilik şunları yazmanız yeterli;

[cc lang=”c#”]SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm_sesi); //sesi durdurabilmek için tekrardan aynı değeri oluşturduk
private void btndurdur_Click(object sender, EventArgs e)
{
sp.Stop(); //sesi durdur
}
[/cc]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir