Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

çalar saat programında erteleme nasıl yapabilirim

iyi çalışmalar
timer3.Enabled = true;
this.Text = "Alarm Açık";
bu kod ile alarmı açtım ve 3.zamanlayıcıya gönderdim.

if (textBox1.Text == DateTime.Now.ToShortDateString() && textBox2.Text == DateTime.Now.ToLongTimeString())
{

timer4.Enabled = true;

SoundPlayer player = new SoundPlayer();
string path = ".\\horoz.wav";
player.SoundLocation = path;
player.PlayLooping();

if (MessageBox.Show(textBox3.Text, "ALARM ! ! ", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("GÜNAYDIN :) 'Alarm Kapatılıyor..'");

timer3.Enabled = false;
timer4.Enabled = false;
this.Text = "Alarm Kapalı";


player.SoundLocation = path;
player.Stop();
}
else
{
MessageBox.Show("UYAN ARTIK! 'Alarm Çalmaya Devam Ediyor'");
timer5.Enabled = true;
}
buradada eger zaman geldiyse alarmı çal komutunu verdim mesaj kutularını uygun şekilde yaptım ancak benim amacım mesaj kutusna hayır komutu verildiğinde kutu kapanacak ve beni 5. zamanlayıcıya aktaracak orada da 5 dakika ertelemiş olacagım yani 5 dakika sonra tekrar bu ekran görüntüsünün gelmesini istiyorum uyandınmı ? uyandın ise evet değilse uyan artık alarm çalmaya devam edecek ve bi 5 dk daha ertelemesini istiyorum yardım bekliyorum
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • Supervisor adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    107 cevap - 0 soru
    Slm bunun icin bir suru timer kullanmana gerek yok.
    1 tane timer yeterli.
    public degiken ve timer tanimlarsin.
    public Datetime alarmsaati ;
    public Timer timer1;

    uygulama load oldugunda ya da alarmi kur buttonuna bastiginda ;

    alarmsaati = Convert.ToDatetime(textbox1.text+textbox2.Text) olarak alarm saatini ayarlarsin .


    timerin tick olayinda // ki burada sureci kacirabilirsin.milisaniyeler ile o nedenle asagidaki gibi yapmalisin.

    if (alarmsaati.Date==DateTime.Now.Date&& alarmsaat.TimeofDay.Hour=DateTime.Now.TimeofDay.Hour&&alarmsaat.TimeofDay.Minute=DateTime.Now.TimeofDay.Minute)
    {
    timer1.enabled=false;
    if (MessageBox.Show(textBox3.Text, "ALARM ! ! ", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    evet demis normal islemleri yaptirirsin.

    }
    else

    {
    burasi da istedigin yer.
    // asagidaki 5 dakika erteler
    alarmsaati.TimeofDay.Minute=alarmsaati.AddMinutes(5);
    timer1.Enabled=true; ile alarmi yeniden ayarlarsin.


    }
    • seeyou adlı üyenin fotoğrafı seeyou
      hocam öncelikle teşekkür ederim ilginiz için anladıgım kadarıyla timer 4 tane kullandım 5. timer iptal ettim ve normal alarm saati geldiğinde devreye girmesi gereken timerin altına sizin söylediğiniz 5 dk erteleme kodunu yazdım ama alarm saati name hatası alıyorum nasıl düzeltebilirim
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      aldigin hatayi tam yazarsan yardimci olurum. muhtemelen , alarmsaati degiskenini scope icinde tanimladin . global olmali
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      Error 1 The name 'textbox1' does not exist in the current context c:\documents and settings\ozkan\belgelerim\visual studio 2010\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs 90 19 CalarSaat
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      biraz dikkatli olup,kopyala yapistir , ezbere yapmamaya gayret ederseniz kendiniz icin faydali olur. Aldigin mesaj da textbox1 i bulamamis. Formunda nasil adlandirmissan ki muhtemelen degistirmemissin textBox1 seklinde yazarsan halletmis olursun
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      onlarıda denedim hocam oda hata veriyor kopyala yapıştır usulü yapmıyorum bu arada
      Error 1 'System.Windows.Forms.TextBox' does not contain a definition for 'TimeofDay' and no extension method 'TimeofDay' accepting a first argument of type 'System.Windows.Forms.TextBox' could be found (are you missing a using directive or an assembly reference?) c:\documents and settings\ozkan\belgelerim\visual studio 2010\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs 90 28 CalarSaat
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      form1.cs yi komple yazssana
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Text;
      using System.Windows.Forms;
      using System.Media;

      namespace WindowsFormsApplication4
      {
      public partial class ÇalarSaat : Form
      {
      public ÇalarSaat()
      {
      InitializeComponent();
      }

      private void button1_Click(object sender, EventArgs e)
      {
      timer3.Enabled = true;
      this.Text = "Alarm Açık";
      }

      private void button2_Click(object sender, EventArgs e)
      {
      timer2.Enabled = false;
      timer1.Enabled = false;
      this.Text = "Alarm Kapalı";

      SoundPlayer player = new SoundPlayer();
      string path = ".\\horoz.wav";
      player.SoundLocation = path;
      player.Stop();

      this.Close();
      }

      private void timer1_Tick(object sender, EventArgs e)
      {
      label3.Text = DateTime.Now.ToLongTimeString();
      }

      private void timer2_Tick(object sender, EventArgs e)
      {
      label4.Text = DateTime.Now.ToLongDateString();
      }

      private void Form1_Load(object sender, EventArgs e)
      {
      textBox1.Text = DateTime.Now.ToShortDateString();
      textBox2.Text = DateTime.Now.ToLongTimeString();

      timer4.Enabled = false;
      timer3.Enabled = false;

      timer4.Interval = 100;

      timer3.Interval = 1000;
      Text = "Alarm Kapalı";
      }

      private void timer3_Tick(object sender, EventArgs e)
      {
      if (textBox1.Text == DateTime.Now.ToShortDateString() && textBox2.Text == DateTime.Now.ToLongTimeString())
      {

      timer4.Enabled = true;

      SoundPlayer player = new SoundPlayer();
      string path = ".\\horoz.wav";
      player.SoundLocation = path;
      player.PlayLooping();

      if (MessageBox.Show(textBox3.Text, "ALARM ! ! ", MessageBoxButtons.YesNo) == DialogResult.Yes)
      {
      MessageBox.Show("GÜNAYDIN :) 'Alarm Kapatılıyor..'");

      timer3.Enabled = false;
      timer4.Enabled = false;
      this.Text = "Alarm Kapalı";


      player.SoundLocation = path;
      player.Stop();
      }
      else
      {
      textBox1.TimeofDay.Minute=textBox2.AddMinutes(5);
      timer3.Enabled=true;

      }
      }
      }

      private void timer4_Tick(object sender, EventArgs e)
      {
      Color c;
      c = textBox3.BackColor;
      textBox3.BackColor = textBox3.ForeColor;
      textBox3.ForeColor = c;
      }

      private void label1_Click(object sender, EventArgs e)
      {

      }

      private void label3_Click(object sender, EventArgs e)
      {

      }

      private void label4_Click(object sender, EventArgs e)
      {

      }

      private void textBox3_TextChanged(object sender, EventArgs e)
      {

      }

      private void timer5_Tick(object sender, EventArgs e)
      {




      }
      }
      }
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      bu sekilde olmasi gerekir. iki kodu inceleyip nerede hata yaptigini farketmis olmani umarim .
      public partial class ÇalarSaat : Form
      {

      public ÇalarSaat()
      {
      InitializeComponent();
      }
      DateTime alarmsaati;

      private void button1_Click(object sender, EventArgs e)
      {
      alarmsaati = Convert.ToDateTime(textBox1.Text+" " + textBox2.Text);

      timer3.Enabled = true;
      this.Text = "Alarm Açık";
      }

      private void button2_Click(object sender, EventArgs e)
      {
      timer2.Enabled = false;
      timer1.Enabled = false;
      this.Text = "Alarm Kapalı";

      SoundPlayer player = new SoundPlayer();
      string path = ".\\horoz.wav";
      player.SoundLocation = path;
      player.Stop();

      this.Close();
      }

      private void timer1_Tick(object sender, EventArgs e)
      {
      label3.Text = DateTime.Now.ToLongTimeString();
      }

      private void timer2_Tick(object sender, EventArgs e)
      {
      label4.Text = DateTime.Now.ToLongDateString();
      }

      private void Form1_Load(object sender, EventArgs e)
      {
      textBox1.Text = DateTime.Now.ToShortDateString();
      textBox2.Text = DateTime.Now.ToShortTimeString();

      timer4.Enabled = false;
      timer3.Enabled = false;

      timer4.Interval = 100;

      timer3.Interval = 1000;
      Text = "Alarm Kapalı";
      }

      private void timer3_Tick(object sender, EventArgs e)
      {
      if (alarmsaati.Date==DateTime.Now.Date&& alarmsaati.TimeOfDay.Hours==DateTime.Now.TimeOfDay.Hours&&alarmsaati.TimeOfDay.Minutes==DateTime.Now.TimeOfDay.Minutes)
      {
      timer4.Enabled = true;



      if (MessageBox.Show(textBox3.Text, "ALARM ! ! ", MessageBoxButtons.YesNo) == DialogResult.Yes)
      {
      MessageBox.Show("GÜNAYDIN :) 'Alarm Kapatılıyor..'");

      timer3.Enabled = false;
      timer4.Enabled = false;
      this.Text = "Alarm Kapalı";


      }
      else
      {
      alarmsaati = alarmsaati.AddMinutes(1);
      timer3.Enabled = true;

      }
      }
      }

      private void timer4_Tick(object sender, EventArgs e)
      {
      Color c;
      c = textBox3.BackColor;
      textBox3.BackColor = textBox3.ForeColor;
      textBox3.ForeColor = c;
      }

      private void label1_Click(object sender, EventArgs e)
      {

      }

      private void label3_Click(object sender, EventArgs e)
      {

      }

      private void label4_Click(object sender, EventArgs e)
      {

      }

      private void textBox3_TextChanged(object sender, EventArgs e)
      {

      }

      private void timer5_Tick(object sender, EventArgs e)
      {




      }
      }
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      hocam amacıma yine ulaşamadım erteleme yaptıktan sonra tekrar uyanıp uyanmadıgını sormuyo yani mesaj kutusu açılmıyo süre eklemeden sonra sürekli çalıyo alarm ?
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      Soundplayer i da alarmsaatinin altinda globale tanimla. erteleme alanina girdiginde
      soundplayer.stop() de
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      yok hocam maksat müziği durdurmak değil tekrar bi mesaj penceresi gelicek soracak işte uyandınmı evet basında zaten kapanacak o kod tamam sorun mesaj penceresinin açılmaması.yani 5 saniye ertelemiyo sınırsız erteliyor hiç pencere gelmiyo
      11 yıl önce yazılmış
    • Supervisor adlı üyenin fotoğrafı Supervisor
      alarmsaati=alarmsaati.Addminutes(1) satirini
      alarmsaati.Addminutes(1) olarak degistir bir de
      11 yıl önce yazılmış
    • seeyou adlı üyenin fotoğrafı seeyou
      malesef hocam oda olmadı :((
      11 yıl önce yazılmış