Как проверить входить ли Notesdatetime в Notesdaterange?

Тема в разделе "Lotus - Программирование", создана пользователем dimat, 15 мар 2011.

  1. dimat

    dimat Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    31 июл 2008
    Сообщения:
    516
    Симпатии:
    0
    В справке что то ничего похожего не нашел.
    Подскажите как это сделать или где искать.
    Заранее спасибо.
     
  2. alik86

    alik86 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    А сравнить Notesdatetime со значениями StartDateTime и EndDateTime нельзя разве?
     
  3. dimat

    dimat Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    31 июл 2008
    Сообщения:
    516
    Симпатии:
    0
    Пробовал пишет ошибку при сохранении Type mismatch.
    Может конечно я как то не правильно записал сравнение?
    Код (Text):
    Dim dst as NotesDateTime
    Dim ndr as NotesDateRange
    If (dst.DateOnly>=ndr.StartDateTime) Or (dst.DateOnly<=ndr.EndDateTime) Then

    End If
    Или так
    Код (Text):
    Dim dst as NotesDateTime
    Dim ndr as NotesDateRange
    If (dst>=ndr.StartDateTime) Or (dst<=ndr.EndDateTime) Then

    End If
    результат один
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.357
    Симпатии:
    334
    это прикол такой - сравнивать неинициализированные переменные :(?
     
  5. dimat

    dimat Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    31 июл 2008
    Сообщения:
    516
    Симпатии:
    0
    lmike
    Они инициализированы, просто здесь не указал
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.357
    Симпатии:
    334
    тогда всё сравнивается
     
  7. Kizarek86

    Kizarek86 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    860
    Симпатии:
    6
    .DateOnly возвращает строку.
    Код (LotusScript):
    Dim dst as NotesDateTime
    Dim ndr as NotesDateRange
    If (cdat(dst.DateOnly)>=ndr.StartDateTime) Or (cdat(dst.DateOnly)<=ndr.EndDateTime) Then

    End If
     
  8. alik86

    alik86 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    И при каком сохранении ошибку выдает? На что конкретно ругается?
    Нормально должно сравнивать -- потыркайтесь и усё будзе добра!
    И про хелп Вы лукавите. Поколупайте его внимательней, приведенные там примеры изучите. В частности TimeDifference method можно прикрутить. И еще кой чего можно.
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.357
    Симпатии:
    334
    проще: dt.TimeDifference(dtEnd)>0
    еще есть SetAnyTime и SetAnyDate для особых нужд
     
  10. dimat

    dimat Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    31 июл 2008
    Сообщения:
    516
    Симпатии:
    0
    Код (Text):
    (Cdat(dst.DateOnly)>=Cdat(ndr.StartDateTime.DateOnly)) And (Cdat(dst.DateOnly)<=Cdat(ndr.EndDateTime.DateOnly))
    так получилось, всем спасибо
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.357
    Симпатии:
    334
    если честно - этой строкой делаете всякую...
    dst.SetAnyTime
    dst.LSLocalTime
    и также для границ рэнжа
    либо использовать диференц (луче всего, хотя менее наглядно)
    потому как преобразовывать в строку и обратно - сомнительное (по эффективности) действие
     
  12. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Индусом решил заделаться? :( Делай как lmike написал.
     
  13. ToxaRat

    ToxaRat Чёрный маг
    Команда форума Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.171
    Симпатии:
    21
    правильне сравнивать БЕЗ преобразований а это Time.LSLocalTime
     
Загрузка...
Похожие Темы - Как проверить входить
  1. run4w4y
    Ответов:
    6
    Просмотров:
    269
  2. Shandrik
    Ответов:
    13
    Просмотров:
    806
  3. rownong
    Ответов:
    0
    Просмотров:
    700
  4. diga
    Ответов:
    25
    Просмотров:
    4.311
  5. Истребитель
    Ответов:
    22
    Просмотров:
    16.695

Поделиться этой страницей