|
|
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Подскажите, пожалуйста, как сделать так, чтобы при вводе некорректного значения даты в функции dw.SetFilter выдавалось не сообщение "Expression is not valid", а выпадал мой MessageBox. Можно ли поймать через TRY...CATCH? Если да, то какое исключение ловить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 21:13 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
через TRY...CATCH нельзя А зачем вгонять некорректное значение даты в dw.SetFilter ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 21:24 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
Ну вгонять незачем. Просто как-то надо проверить корректность даты, поэтому думал, что через TRY и CATCH получится. Если как-то можно проверить по-другому буду рад узнать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 21:29 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
grimjawНу вгонять незачем. Просто как-то надо проверить корректность даты, поэтому думал, что через TRY и CATCH получится. Если как-то можно проверить по-другому буду рад узнать. Date(string)<>'1900-01-01' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 21:33 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
to ЗоринАндрей Не совсем понял: преобразование к date строки с некорректной датой дает 1900-01-01? Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 21:37 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
хм...проверил - действительно некорректная дата преобразуется к 1900-01-01. Но интересно, получается так, что вполне нормальную дату 1900-01-01, введенную без ошибок, такая проверка обработает как некорректную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2008, 22:02 |
|
||
|
Проверка даты на корректность
|
|||
|---|---|---|---|
|
#18+
Для общего развития - есть такое: Код: plaintext 1. А касательно конкретно вашего случая: правильно - сначала получить дату в виде типа Date. И проверку валидности строкового представления даты, введенной юзером, надо делать уже на этом этапе. А в фильтр DW передавать дату преобразованную в литерал даты в формате yyyy-mm-dd: Код: plaintext Парсинг из строки в Date в общем случае встроенными в PB средствами невозможен. Ф-я Date(String) воспринимает в качестве даты только форматы "yyyy-mm-dd" и текущий региональный формат в Windows. Если же требуется другой формат (например американскую дату в русской винде), то надо писать свой парсер даты. Проверка валидности строки с датой в т.ч. и для даты 1900-01-01 при использовании встроенной ф-и Date: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2008, 02:35 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35725569&tid=1336438]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 142ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...