|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
хранение списка выбраных дней недели
драсте подскажите как лучше програме хранить в памяти список выбраных дней недели
|
#2
|
||||
|
||||
Битовая маска в байте.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
о наконец вспомнил
надо попробывать через множества |
#4
|
||||
|
||||
Да не, через битмаску и надёжнее и компактнее
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Угу, только немного геморойнее.
А через множества, оно мож и не совсем оптимально, зато красиво и читабельно: Код:
type TSelectedDayOfWeek = (sdwMonday, sdwTuesday, sdwWenesday, sdwThirsday, sdwFriday, sdwSaturday, sdwSunday); TSetOfSelectedDayOfWeek = Set Of SelectedDayOfWeek; var Days : TSetOfSelectedDayOfWeek; begin Days := [sdwMonday, sdwSaturday, sdwSunday]; Days := Days + [sdwTuesday]; Days := Days - [sdwMonday]; end; |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
SKIPtr (28.03.2017)
|
#6
|
||||
|
||||
Цитата:
jmp $ ; Happy End! The Cake Is A Lie. |
#7
|
|||
|
|||
Цитата:
сохранять через множество номера дня недели потому шо надо будет найти ближайщий выбраный день недели и получить его реальную дату |
#8
|
|||
|
|||
тогда в описание emun'а добавь значения, ну что бы "прибить" их:
Код:
type TSelectedDayOfWeek = (sdwMonday = 1, sdwTuesday = 2, sdwWenesday = 3, sdwThirsday = 4, sdwFriday = 5, sdwSaturday = 6, sdwSunday = 7); 1. Можно через Ord получить значение по типу 2. Совпадает с функцией DayOfWeek (или DayOfTheWeek - проверь по доке) из стандартного модуля DateUtils. Кстати, там таки куча полезных функций есть. Ну получит по текущему дню дату ближайшего из списка - вообше простейшая арифметика. типа Код:
NextDate := Now + (MinSelectedGreaterThen(DaytOfWeek(Now)) - DaytOfWeek(Now)); |
#9
|
|||
|
|||
подскажите а шо за функция MinSelectedGreaterThen
|
#10
|
|||
|
|||
А это тебе надо будет написать. Выбирает мин день в сете, который больше, чем указанный в параметре.
Мне казалось, что я достаточно прозрачно название функции придумал. |
#11
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
|||
|
|||
Да, вроде, уже не совсем. Вроде как emun теперь до 256 значений поддерживает. А в этом случае set уже не на простой битовой маске строится...
|
#13
|
||||
|
||||
Цитата:
jmp $ ; Happy End! The Cake Is A Lie. |
#14
|
|||
|
|||
Цитата:
|