Пример #1
0
        // таймер
        private void MainTimer_Tick(object sender, EventArgs e)
        {
            // если текущее время >= времени события
            DateTime DT_Now = DateTime.Now;

            if (DT_Now >= NextSignaltime)
            {
                // остановить таймер
                MainTimer.Stop();

                // получить структуру события
                ReadWriteFile RWF = new ReadWriteFile(WorkDir + "\\" + EventListFile, vers);
                EventStruct   ES  = RWF.GetEvent(NextEventIndex);


                SignalText    = ES.Caption;
                SignalType    = ES.IsEarly;
                EventDay      = ES.Date;
                NeedSignalize = true;
                // сигализировать
                //Signalize(ES.Caption, ES.IsEarly, ES.Date);
                needBell = true;
                Signalize();

                // изменить статус события
                ES.Informed = true;
                RWF.EditEvent(NextEventIndex, ES);

                // перезапустить таймер
                ReloadTimer();
            }
        }
Пример #2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            DT = dateTimePicker1.Value;
            if (comboBox1.SelectedIndex == 0)
            {
                Event = true;
            }
            else
            {
                Event = false;
            }
            Caption = textBox1.Text;
            if (checkBox1.Checked)
            {
                signal    = true;
                BeforeDay = Convert.ToInt32(numericUpDown1.Value);

                /*
                 * if (ChekTime() == false)
                 * {
                 *  MessageBox.Show("Время задано не верно!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                 *  maskedTextBox1.Focus();
                 *  return;
                 * }
                 */
            }
            else
            {
                signal = false;
            }


            // проверить уникальность события
            // -- нахэр, добавляйте скока влезет

            // сформировать структуру
            ES.Date       = DT;
            ES.CapLength  = (byte)Caption.Length;
            ES.Caption    = Caption;
            ES.NeedInform = signal;
            if (signal == true)
            {
                /*
                 * DateTime d1 = DT.Date;
                 *
                 * // минус дней
                 * DateTime d2 = d1.AddDays(-Convert.ToDouble(BeforeDay));
                 * // плюс часы
                 * double hour = Convert.ToDouble(maskedTextBox1.Text.Substring(0,2));
                 * d1 = d2.AddHours(hour);
                 * // минуты
                 * double minute = Convert.ToDouble(maskedTextBox1.Text.Substring(3, 2));
                 * d2 = d1.AddMinutes(minute);
                 *
                 * ES.BeforeInform = d2;
                 */
                DateTime d1 = DT.Date.AddDays(-Convert.ToDouble(BeforeDay));
                ES.BeforeInform = new DateTime(d1.Year, d1.Month, d1.Day,
                                               dateTimePicker2.Value.Hour, dateTimePicker2.Value.Minute, 0);

                ES.Informed = false;
            }
            else
            {
                ES.BeforeInform = DT;
                ES.Informed     = true;
            }
            ES.IsEarly = !Event;

            // произвести изменения
            ReadWriteFile RWF = new ReadWriteFile(FileName, vers);

            if (IndexOfEvent >= 0)      // изменить
            {
                RWF.EditEvent(IndexOfEvent, ES);
            }
            else                        // добавить
            {
                RWF.AddEvent(ES);
            }

            // переопределить таймер
            RestartTimer();

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Close();
        }