Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 25.01.2010, 12:11   #1
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
Восклицание Не работает перечисление (enum).

Всё пытаюсь дописать программу уровня ChameleonClock ну или даже перепрыгнуть его, только писал до этого на Delphi и не дописал, так как перешёл на C# (самообучение раз в 10 ускорилось благодаря куче инфы на русском и справке). Вот пишу класс для будильников, только начал и написал в нём перечисление (enum), да только ниука его не могу использовать в классе, оно не выделяется даже цветом, как бы подсветка синтаксиса. Вообще как просто слово незнакомое компилятору пишу и всё.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public enum ModeAlarm : byte
    {
        ONE_ALARM, EVERY_HOUR, EVERY_DAY, EVERY_WEEK, EVERY_MONTH, EVERY_YEAR, OTHER
    }

    public class AlarmClock
    {
        #region Поля AlarmClock
        /*/////////////////////////*/
        private DateTime dateTimeAlarm;
        //строки
        private String Message; //текст сообщения
        private String musicWay; //Путь к музыке
        private String[] waysProgRun; //массив путей к запускаемым приложениям
        //булёвые
        private bool needPlayMusic;   //нужно ли играть музыку
        private bool needWindowsExit; //выключать ли компьютер
        private bool needRepeatMusic; //повторять ли воспроизведение
        //перечисления
        ModeAlarm Mode; //  <<<<<<<<<<<<<<<<<<<<<<<<< ВОТ ОНО
        public static int quantityAlarms; //кол-во будильников
        /*/////////////////////////*/
        #endregion


        public AlarmClock() //конструктор
        {
            quantityAlarms++; //увеличить на 1
            dateTimeAlarm = DateTime.Now;
            Message = "";
            musicWay = "";
            needPlayMusic = true;
            needWindowsExit = false;
            needRepeatMusic = false;
        }

        ~AlarmClock() //деструктор
        {
            quantityAlarms--; //уменьшить
        }

        #region[Свойства AlarmClock]
        /*/////////////////////////*/
        public DateTime TimeAlarm
        {
            get { return dateTime; }
            set { dateTime = value; }
        }

        public String Message
        {
            get { return Msg; }
            set { Msg = value; }
        }

        public String MusicWay
        {
            get { return musicWay; }
            set { musicWay = value; }
        }
        /*/////////////////////////*/
        #endregion

        /// <summary>
        /// Сравнить дату
        /// </summary>
        /// <param name="AlarmTime">Сравниваемая дата</param>
        /// <returns>Если совпадает возвращает true иначе false</returns>
        public bool CompareDate(DateTime AlarmDate)
        {
            DateTime NowTime = DateTime.Now;
            if (AlarmDate.Date == NowTime.Date)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// Сравнивает время c точностью Час, Минута, Секунда
        /// </summary>
        /// <param name="AlarmTime">Сравниваемое время</param>
        /// <returns>Если совпадает возвращает true иначе false</returns>
        public bool CompareTimeHMS(DateTime AlarmTime)
        {
            DateTime NowTime = DateTime.Now;
            //если минуты не равны, остальное не будет проверяться из-за "&&", 
            if (AlarmTime.Minute == NowTime.Minute && AlarmTime.Hour == NowTime.Hour && AlarmTime.Second == NowTime.Second)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// Сравнивает время c точностью Час, Минута
        /// </summary>
        /// <param name="AlarmTime">Сравниваемое время</param>
        /// <returns>Если совпадает возвращает true иначе false</returns>
        public bool CompareTimeHM(DateTime AlarmTime)
            {
                DateTime NowTime = DateTime.Now;
                //если минуты не равны, а то есть условие равно true, то остальное не будет проверяться из-за "&&", 
                if (AlarmTime.Minute == NowTime.Minute && AlarmTime.Hour == NowTime.Hour)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    }
}
Casper-SC вне форума Ответить с цитированием
Старый 25.01.2010, 13:55   #2
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 537
По умолчанию

Код:
ModeAlarm Mode; //  <<<<<<<<<<<<<<<<<<<<<<<<< ВОТ ОНО
что оно-то?)
какое и слов не нравится компилятору - ModeAlarm или Mode ?
все должно быть нормально вообще.. бери да выдавай значения, например Mode = ModeAlarm.ONE_ALARM;
m0nax вне форума Ответить с цитированием
Старый 25.01.2010, 17:49   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

ModeAlarm не нравиться, а точнее и не поймёшь нравиться оно или нет. Оно и не мешает компиляции и не подсвечиватся, вообще загадка. Просто можно скопировать весь код к себе в любой проект и попробовать использовать его. Я вообще ума не приложу почему не получается. Mode = ModeAlarm.ONE_ALARM; не работает. Ставлю точку после любого из этих слов, ничего не происходит.
Casper-SC вне форума Ответить с цитированием
Старый 01.02.2010, 18:16   #4
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Оказывается всё работает, просто это глючила среда разработки, кстати довольно часто глючит. Особенно окно свойств, то ниже то выше при открытии среды Visual C# 2008 Express. Переустановил Windows и всё теперь в порядке.
Casper-SC вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перечисление юзеров doniyor Работа с сетью в Delphi 5 24.01.2010 23:24
enum Syltan Общие вопросы C/C++ 6 26.11.2009 19:24
Вопрос о перечислениях: enum DR&FG Общие вопросы C/C++ 2 24.10.2009 17:12
Работа с enum istoe Microsoft Office Excel 2 28.08.2009 11:53
Перечисление компонентов Zeraim Свободное общение 5 30.11.2008 20:20


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS