
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.03.2008, 19:11
|
|||
|---|---|---|---|
|
|||
Проверка коллекции временных интервалов |
|||
|
#18+
Имеется коллекция временных интервалов (каждый интервал имеет время начала и продолжительность). В коллекцию могут добавляться новые интервалы, и изменяться существующие, но требуется не допустить их пересечения. Временной интервал - это самостоятельный класс, поэтому он имеет событие IntervalAboutToChange, которое наступает перед тем как интервал реально измениться, и поймав которое можно проверить допустимость грядущего изменения, и в случае проблем выбросить исключение. Проблема в том, что у меня получаются два довольно похожих метода проверки, и ни как не могу сообразить, как их объединить в один. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Метод CheckChangedTimeInterval() вызывается перед тем, как произойдет изменение интервала, и поэтому имеет два аргумента - измененный интервал и первоначальный интервал. Метод CheckNewTimeInterval() вызывается перед вставкой (т.е. в коллекции новый интервал еще отсутствует). Функция IntervalOK() проверяет не пересекается-ли интервал с другим. Можно как-нибудь их объединить в нечто одно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2008, 22:59
|
|||
|---|---|---|---|
Проверка коллекции временных интервалов |
|||
|
#18+
можно на коллекции сделать етод except, порождаюший ее без заданного интервала. И метод contains. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&tablet=1&tid=1345435]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
194ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 534ms |

| 0 / 0 |
