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

dimat

Lotus team
31.07.2008
516
0
#1
В справке что то ничего похожего не нашел.
Подскажите как это сделать или где искать.
Заранее спасибо.
 

alik86

Lotus team
20.11.2008
465
1
#2
А сравнить Notesdatetime со значениями StartDateTime и EndDateTime нельзя разве?
 

dimat

Lotus team
31.07.2008
516
0
#3
А сравнить Notesdatetime со значениями StartDateTime и EndDateTime нельзя разве?
Пробовал пишет ошибку при сохранении Type mismatch.
Может конечно я как то не правильно записал сравнение?
Код:
Dim dst as NotesDateTime
Dim ndr as NotesDateRange
If (dst.DateOnly>=ndr.StartDateTime) Or (dst.DateOnly<=ndr.EndDateTime) Then

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

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 598
275
#4
это прикол такой - сравнивать неинициализированные переменные :(?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 598
275
#6
тогда всё сравнивается
 

Kizarek86

Lotus team
20.07.2007
864
4
#7
.DateOnly возвращает строку.
Код:
Dim dst as NotesDateTime
Dim ndr as NotesDateRange
If (cdat(dst.DateOnly)>=ndr.StartDateTime) Or (cdat(dst.DateOnly)<=ndr.EndDateTime) Then

End If
 

alik86

Lotus team
20.11.2008
465
1
#8
И при каком сохранении ошибку выдает? На что конкретно ругается?
Нормально должно сравнивать -- потыркайтесь и усё будзе добра!
И про хелп Вы лукавите. Поколупайте его внимательней, приведенные там примеры изучите. В частности TimeDifference method можно прикрутить. И еще кой чего можно.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 598
275
#9
проще: dt.TimeDifference(dtEnd)>0
еще есть SetAnyTime и SetAnyDate для особых нужд
 

dimat

Lotus team
31.07.2008
516
0
#10
Код:
(Cdat(dst.DateOnly)>=Cdat(ndr.StartDateTime.DateOnly)) And (Cdat(dst.DateOnly)<=Cdat(ndr.EndDateTime.DateOnly))
так получилось, всем спасибо
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 598
275
#11
если честно - этой строкой делаете всякую...
dst.SetAnyTime
dst.LSLocalTime
и также для границ рэнжа
либо использовать диференц (луче всего, хотя менее наглядно)
потому как преобразовывать в строку и обратно - сомнительное (по эффективности) действие
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#12
Индусом решил заделаться? :( Делай как lmike написал.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#13
правильне сравнивать БЕЗ преобразований а это Time.LSLocalTime