Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2010, 12:03   #21
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Нет, ну теперь ты обрати внимание: ...
Блин, точно. Прошу прощения.
"+" тебе.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 11.02.2010 в 12:09.
Kotofff вне форума Ответить с цитированием
Старый 11.02.2010, 12:23   #22
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Вот код расчёта времени, замудрённый жесть, долго на бумажке сидел считал, когда эту программу на Delphi писал, только та ещё хуже этой, так что прогресс в самообучении достигнут
Код:
/// <summary>
        /// Функция по расчёту оставшегося времени от указанного в параметрах
        /// </summary>
        /// <param name="HourAlarm">Часы</param>
        /// <param name="MinAlarm">Минуты</param>
        /// <param name="Variant">Вариант возвращаемого значения. Возможные варианты 1, 2, 3</param>
        /// <returns>Строку для Label в форматах:
        ///  Если Variant = 1 (пример) "12   00"
        ///  Если Variant = 2 (пример) "12 : 00"
        ///  Если Variant = 3 (пример) "12:00"</returns>
        public string GetRemainedTime(byte HourAlarm, byte MinAlarm, byte Variant)
        {
            byte HourRemain, MinRemain;
            byte HourCount, MinCount;
            byte HourENow, MinENow;
            DateTime time = DateTime.Now;

            HourENow = (byte)time.Hour;
            MinENow = (byte)time.Minute;
            if ((HourENow > HourAlarm) & (MinENow != 0))
            {
                HourCount = (byte)(24 - HourENow);
                HourCount = (byte)(HourCount + HourAlarm - 1);
                MinCount = (byte)((60 - MinENow) + MinAlarm);

                if (MinCount > 59)
                {
                    HourCount = (byte)(HourCount + 1);
                    MinCount = (byte)(MinCount - 60);
                    HourRemain = HourCount;
                    MinRemain = MinCount;
                    return TimeToStr(HourRemain, MinRemain, Variant);
                }
                else
                {
                    HourRemain = HourCount;
                    MinRemain = MinCount;
                    return TimeToStr(HourRemain, MinRemain, Variant);
                }

            }

            if ((HourENow > HourAlarm) & (MinENow == 0))
            {
                HourCount = (byte)(24 - HourENow);
                HourCount = (byte)(HourCount + HourAlarm);
                MinCount = MinAlarm;
                HourRemain = HourCount;
                MinRemain = MinCount;
                return TimeToStr(HourRemain, MinRemain, Variant);
            }

            if ((HourENow < HourAlarm) & (MinENow != 0))
            {
                HourCount = (byte)(HourAlarm - HourENow - 1);
                MinCount = (byte)((60 - MinENow) + MinAlarm);
                if (MinCount > 59)
                {
                    HourCount = (byte)(HourCount + 1);
                    MinCount = (byte)(MinCount - 60);
                    HourRemain = HourCount;
                    MinRemain = MinCount;
                    return TimeToStr(HourRemain, MinRemain, Variant);
                }
                else
                {
                    HourRemain = HourCount;
                    MinRemain = MinCount;
                    return TimeToStr(HourRemain, MinRemain, Variant);
                }
            }

            if ((HourENow < HourAlarm) & (MinENow == 0))
            {
                HourCount = (byte)(HourAlarm - HourENow);
                MinCount = MinAlarm;
                HourRemain = HourCount;
                MinRemain = MinCount;
                return TimeToStr(HourRemain, MinRemain, Variant);
            }

            if ((HourENow == HourAlarm) & (MinENow < MinAlarm))
            {
                HourRemain = 0;
                MinRemain = (byte)(MinAlarm - MinENow);
                return TimeToStr(HourRemain, MinRemain, Variant);
            }

            if ((HourENow == HourAlarm) & (MinENow > MinAlarm))
            {
                HourRemain = 23;
                MinRemain = (byte)((60 - MinENow) + MinAlarm);
                return TimeToStr(HourRemain, MinRemain, Variant);
            }

            if ((HourENow == HourAlarm) & (MinENow == MinAlarm))
            {
                HourRemain = 0;
                MinRemain = 0;
                return TimeToStr(HourRemain, MinRemain, Variant);
            }
            return "0";
        }
Пересмотри мой прошлый пост я его много раз редактировал просто.
Casper-SC вне форума Ответить с цитированием
Старый 18.02.2010, 02:39   #23
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Вышла новая версия с некоторыми исправлениями! Зайти туда где можно скачать
Casper-SC вне форума Ответить с цитированием
Старый 17.08.2010, 19:31   #24
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Дарю исходники. Так как смысла их не дарить нету, дарю =)

Писал когда был совсем новичком, так что сверх гениального там думаю ничего нет, а кому-то может пригодиться особенно, если вообще ничего толком человек не умеет, а научиться хочет.
Вложения
Тип файла: rar AlarmClock-Old OpenSource.rar (3.27 Мб, 8 просмотров)
Casper-SC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацените будильник написан новичком (не примитив) Casper-SC Софт 13 07.06.2010 18:37
Как выглядит триллион зеленых американских долларов HellMercenariess Свободное общение 21 06.01.2010 11:48
Думаю будет интересно ознакомиться :) merax Свободное общение 23 03.04.2009 15:20