Akis Forum

Welcome to AkisForum.com! Register your free account today and become a member! Once signed in, you'll be able to dive into learning to code, discovering new tools, and keeping up with the latest trends. AkisForum is where benefit, knowledge, and sharing come together. Join us to add your own topics and posts, and connect with other members through your private inbox!

C# ile Alarm Uygulaması Nasıl Yapılır?

  • Konuyu Başlatan Konuyu Başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi

Admin

Herşeyi Burada Bulabilirsin
Yönetici
Administrator
Akisor
C# ile Basit Bir Alarm Uygulaması Nasıl Yapılır?

Merhaba arkadaşlar,

Bugün sizlerle C# kullanarak nasıl basit bir alarm uygulaması yapabileceğimizi paylaşacağım. Çok karmaşık olmayan, temel düzeyde bir uygulama olacak ama başlangıç için harika bir örnek teşkil ediyor. Hem Windows Forms kullanarak görsel bir arayüz hazırlayacağız hem de belirlediğimiz saatte çalacak bir alarm mekanizması kuracağız.

Hazırsanız, adım adım projemizi oluşturalım!

-- -- --​

1. Yeni Bir Proje Oluşturma

İlk olarak Visual Studio'yu açıp yeni bir proje oluşturalım.

  • File > New > Project... yolunu izleyin.
  • Şablonlar kısmından Windows Forms App (.NET Framework) seçeneğini seçin ve Next butonuna tıklayın.
  • Projenize bir isim verin (örneğin:
    Kod:
    AlarmUygulamasi
    ) ve Create butonuna tıklayın.

2. Form Tasarımı

Formumuzu tasarlayalım. Kullanıcıdan alarm saatini alacağımız ve alarmı başlatıp durdurabileceğimiz birkaç kontrol ekleyeceğiz.

Formunuza aşağıdaki kontrolleri sürükleyip bırakın:

  • DateTimePicker: Alarm saatini ayarlamak için kullanılacak. (
    Kod:
    dtpAlarmSaati
    olarak isimlendirelim)
  • Button: Alarmı başlatmak için. (
    Kod:
    btnAlarmBaslat
    olarak isimlendirelim, metni "Alarmı Başlat" olsun)
  • Button: Alarmı durdurmak için. (
    Kod:
    btnAlarmDurdur
    olarak isimlendirelim, metni "Alarmı Durdur" olsun)
  • Label: Mevcut saati göstermek için. (
    Kod:
    lblMevcutSaat
    olarak isimlendirelim)
  • Timer: Arka planda sürekli zamanı kontrol etmek için. (
    Kod:
    timerSaatKontrol
    olarak isimlendirelim)

Formunuzun görseli kabaca şöyle bir şey olabilir:

Kod:
+-------------------------------------------------+
| Alarm Uygulaması                                |
|                                                 |
| Mevcut Saat: [lblMevcutSaat]                    |
|                                                 |
| Alarm Ayarla: [dtpAlarmSaati]                   |
|                                                 |
| [btnAlarmBaslat]   [btnAlarmDurdur]             |
|                                                 |
+-------------------------------------------------+

-- -- --​

3. Kodları Yazmaya Başlayalım!

Şimdi işin kodlama kısmına geçelim.

a. Global Değişkenler ve Form Yüklenirken (Form_Load)

Kod:
Form1.cs
dosyasını açın ve aşağıdaki kodları ekleyin.

C#:
using System;
using System.Media; // Ses oynatmak için
using System.Windows.Forms;

namespace AlarmUygulamasi
{
    public partial class Form1 : Form
    {
        private DateTime alarmZamani;
        private bool alarmCaldiMi = false;
        private SoundPlayer player; // Ses oynatıcı nesnesi

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // DateTimePicker'ın sadece saat kısmını göstermesini sağlayalım
            dtpAlarmSaati.Format = DateTimePickerFormat.Time;
            dtpAlarmSaati.ShowUpDown = true;

            // Timer'ı başlatalım
            timerSaatKontrol.Interval = 1000; // 1 saniyede bir kontrol et
            timerSaatKontrol.Start();

            // Ses dosyasının yolunu belirtin. Kendi bilgisayarınızda bir .wav dosyası kullanabilirsiniz.
            // Örneğin: Application.StartupPath + "\\alarm.wav" gibi bir yola koyabilirsiniz.
            // Ben şimdilik boş bırakıyorum, siz istediğiniz bir wav dosyasının tam yolunu yazmalısınız.
            // Örnek: player = new SoundPlayer("C:\\Windows\\Media\\Ring01.wav");
            // Veya projenizin Debug klasörüne bir "alarm.wav" dosyası atıp aşağıdaki gibi kullanabilirsiniz:
            player = new SoundPlayer(Application.StartupPath + "\\alarm.wav");
            // Not: Alarm.wav dosyanız yoksa veya hata almak istemiyorsanız bu satırı yorum satırı yapın
            // veya geçerli bir .wav dosyası yolu girin.
        }
    }
}

b. Timer Tick Olayı

Kod:
timerSaatKontrol
kontrolünü seçin ve özellikler penceresinden şimşek simgesine tıklayarak Tick olayına çift tıklayın. Bu olay her saniye tetiklenecek.

C#:
        private void timerSaatKontrol_Tick(object sender, EventArgs e)
        {
            // Mevcut saati güncelleyelim
            lblMevcutSaat.Text = DateTime.Now.ToLongTimeString();

            // Alarm çalma kontrolü
            if (alarmCaldiMi == false && DateTime.Now.Hour == alarmZamani.Hour &&
                DateTime.Now.Minute == alarmZamani.Minute &&
                DateTime.Now.Second == alarmZamani.Second)
            {
                // Alarm saati geldi!
                player.PlayLooping(); // Sesi sürekli çal
                MessageBox.Show("ALARM!", "Alarm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                alarmCaldiMi = true; // Alarmın çaldığını işaretle
            }
        }

c. Buton Olayları

Şimdi de "Alarmı Başlat" ve "Alarmı Durdur" butonlarının olaylarını yazalım.

Kod:
btnAlarmBaslat_Click
Olayı:


Kod:
btnAlarmBaslat
butonuna çift tıklayarak Click olayını oluşturun.

C#:
        private void btnAlarmBaslat_Click(object sender, EventArgs e)
        {
            alarmZamani = dtpAlarmSaati.Value;
            alarmCaldiMi = false; // Yeni bir alarm kurulduğu için alarmın çalmadığını işaretle
            MessageBox.Show("Alarm " + alarmZamani.ToShortTimeString() + " olarak ayarlandı.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

Kod:
btnAlarmDurdur_Click
Olayı:


Kod:
btnAlarmDurdur
butonuna çift tıklayarak Click olayını oluşturun.

C#:
        private void btnAlarmDurdur_Click(object sender, EventArgs e)
        {
            player.Stop(); // Sesi durdur
            alarmCaldiMi = true; // Alarmı durdurduğumuz için tekrar çalmasını engelle
            MessageBox.Show("Alarm durduruldu.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

-- -- --​

4. Ses Dosyası Ekleme (Önemli!)

Yukarıdaki kodda
Kod:
SoundPlayer
kullanarak alarm sesini çalıyoruz. Bu kodun çalışabilmesi için projenizin
Kod:
Debug
klasörüne (genellikle
Kod:
AlarmUygulamasi\bin\Debug
konumundadır)
Kod:
alarm.wav
adında bir ses dosyası eklemeniz gerekiyor. Eğer bir
Kod:
.wav
dosyanız yoksa, internetten bulabilir veya basit bir ses kaydedici ile kendiniz oluşturabilirsiniz.

Alternatif olarak,
Kod:
player = new SoundPlayer("C:\\Windows\\Media\\Ring01.wav");
gibi sisteminizde yüklü bir
Kod:
.wav
dosyasının tam yolunu da kullanabilirsiniz.

5. Uygulamayı Çalıştırma

Projenizi kaydedin ve F5 tuşuna basarak veya Debug > Start Debugging yolunu izleyerek uygulamayı çalıştırın.

  • Kod:
    DateTimePicker
    ile bir alarm saati ayarlayın.
  • "Alarmı Başlat" butonuna tıklayın.
  • Belirlediğiniz saat geldiğinde alarmınız çalmaya başlayacak ve bir mesaj kutusu açılacak.
  • "Alarmı Durdur" butonuna tıklayarak sesi kapatabilirsiniz.

-- -- --​

Umarım bu rehber, C# ile alarm uygulaması geliştirmek isteyenler için faydalı olmuştur. Bu kodu temel alarak daha karmaşık özellikler (örneğin, birden fazla alarm, tekrarlayan alarmlar, farklı ses seçenekleri vb.) ekleyebilirsiniz.

Sorularınız olursa çekinmeyin, yardımcı olmaktan mutluluk duyarım!

İyi kodlamalar!
 
Geri
Üst