:: Visual Foxpro, Foxpro for DOS
сравнение дат
Extortioner

Сообщений: 854
Откуда: Новосибирск
Дата регистрации: 06.10.2005
Всем привет
Настигают меня тени прошлого в лице давно написанной программы на фоксе
Ужё отошёл в сторону администрирования оракла, но нет-нет да всплывает необходимость что-то подправить, дописать. Вот и в этот раз, что-то не смог самостоятельно решить.

Смотрите - на форме есть поле редактирования даты рождения
txtBirthday
в значении value у него прописано =gdEmptyDate - это глобальная переменная, содержащая значение
gdEmptyDate = {^1900.01.01}

Когда пользователь изменяет это значение на какую-либо дату, то никаких проблем не возникает, не возникают они и если дата остаётся такой же.
Но вот если пользователь полностью стирает дату и нажимает на кнопку сохранения, то содержимое этого поля, если его смотреть через дебаггер становится равным { . . }
Как бы мне прописать условие, при котором если значение поля - дата, то записывать в переменную эту дату, а если значение поля не дата или некорректная дата, то записывать значение gdEmptyDate?
Ratings: 0 negative/0 positive
Re: сравнение дат
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> на форме есть поле редактирования даты рождения ... в значении value у него прописано =gdEmptyDate
А как потом из value набранное юзером значение попадает опять в переменную gdEmptyDate ?
Ratings: 0 negative/0 positive
Re: сравнение дат
Extortioner

Сообщений: 854
Откуда: Новосибирск
Дата регистрации: 06.10.2005
не-не в глобальную переменную ничего не пишется
есть локальная переменная, значение которой по идее должно быть таким:
ldBirthday = iif(thisform.txtBirthday.value - правильная дата, thisform.txtBirthday.value, gdEmptyDate)
Но как это прописать правильно - не понимаю
Ratings: 0 negative/0 positive
Re: сравнение дат
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Может так?
ldBirthday = iif(thisform.txtBirthday.value >gdEmptyDate, thisform.txtBirthday.value, gdEmptyDate)


------------------
Ratings: 0 negative/0 positive
Re: сравнение дат
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
В Valid или LostFocus перебивать IF EMPTY(Value) на твою "минимальную дату" (боже, глобальная переменная, назачем? Константа компиляции - ещё могу понять, но переменная ).
Хотя в общем случае лучше было бы использовать NULL, а не всякие "странные" числа типа 1900 года или там 2700-го Он (null) без проблем записывается и в оракл, и в другие СУБД в отличие от пустых дат. И выглядит там гораздо логичнее "специальных" значений. Конечно же если подразумевать под таким псевдо-значением "отсутствие информации", а не нечто очень уж хитрое


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: сравнение дат
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Igor Korolyov
В Valid или LostFocus перебивать IF EMPTY(Value) на твою "минимальную дату" (боже, глобальная переменная, назачем? Константа компиляции - ещё могу понять, но переменная ).
Хотя в общем случае лучше было бы использовать NULL, а не всякие "странные" числа типа 1900 года или там 2700-го Он (null) без проблем записывается и в оракл, и в другие СУБД в отличие от пустых дат. И выглядит там гораздо логичнее "специальных" значений. Конечно же если подразумевать под таким псевдо-значением "отсутствие информации", а не нечто очень уж хитрое

Речь идет о датах рождения.
Это для вас странное число - константа, нижняя граница диапазона корректного ввода дат рождения.
Замена этого числа на NULL это из другой оперы.
Ratings: 0 negative/0 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Пол: мужской, женский, не определен можно исп. логическое, соотв. .T., .F., .Null.
Аналогично с датой и это не другая опера
Ratings: 0 negative/0 positive
Re: сравнение дат
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
NULL - это не константа, не числовая граница допустимого диапазона вводимых дат.
После обработки ввода можете использовать NULL, если вам так удобнее.

ЗЫ.
Использование в данной задаче для пропущенных значений NULL, начальное {^1900.01.01}, пустое { . . }, или что-то другое - дело вкуса.
Нюансы, в основном, будут в использовании разных функций при работе с датами.



Исправлено 2 раз(а). Последнее : lulgu, 22.09.17 15:17
Ratings: 2 negative/1 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Стоит ли обсуждать то, что и козе понятно?
Ratings: 0 negative/0 positive
Re: сравнение дат
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Ydin
Стоит ли обсуждать то, что и козе понятно?

Конечно, нет смысла.
Просто вы сделали замечание - я дал понятные разъяснения.



Исправлено 3 раз(а). Последнее : lulgu, 22.09.17 15:19
Ratings: 0 negative/0 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Ydin
Пол: мужской, женский, не определен можно исп. логическое, соотв. .T., .F., .Null.
Аналогично с датой и это не другая опера

Тут есть вопрос? И зачем мне не заказанная услуга в виде "Просто вы спросили - я дал понятные разъяснения."
Чтобы я подумал, что меня за дебила воспринимают?
Но это уже другая опера - зацепиться можно, но так не делают.
Здесь Форум. Кто-то вошел в эту ветку (тему), т.к. она - new.
И не надо писать тривиально не интересного не только для всех, но и для того, кого Вы подозреваете в вопросе.
Не делать, это закусив удила phraseology.academic.ruЗакусить_удила



Исправлено 3 раз(а). Последнее : Ydin, 22.09.17 15:01
Ratings: 0 negative/0 positive
Re: сравнение дат
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Ydin
Подправил пост, оба поста.



Исправлено 3 раз(а). Последнее : lulgu, 22.09.17 15:19
Ratings: 0 negative/0 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Лучше бы от них (этих постов) оставить только смайлик. Их уже прочитали, это уже для Ваших друзей и родственников, это для них смайлик
и позитив от Вас для них.
Не, я больше не буду встревать, если не в коня корм!
Ratings: 0 negative/0 positive
Re: сравнение дат
Extortioner

Сообщений: 854
Откуда: Новосибирск
Дата регистрации: 06.10.2005
Спасибо, Игорь! на LostFocus повесил - всё отработало!
Ratings: 0 negative/0 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
2 Extortioner
Для этого Форума, где просто программисты, им оно интересно, что так себя называешь?
Не трогает, типа косит пацан с Новосибирска... А вопрос поставил реальный, еще и LostFocus повесил
Ratings: 0 negative/0 positive
Re: сравнение дат
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Ydin
2 Extortioner
Для этого Форума, где просто программисты, им оно интересно, что так себя называешь?
Не трогает, типа косит пацан с Новосибирска... А вопрос поставил реальный, еще и LostFocus повесил
В личке узнал историю ника (Extortioner) и меня улыбнуло.
Этим подписываю опровержение своего месседжа!
Extortioner в личке
Я думаю, что не один я ничего не понял в вашем высказывании
Тем более!



Исправлено 1 раз(а). Последнее : Ydin, 03.10.17 21:18
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика