Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2013, 20:36   #1
Кротяка
Пользователь
 
Аватар для Кротяка
 
Регистрация: 04.02.2011
Сообщений: 27
Восклицание Ошибка при присваивании

Провожу вычисления между двумя DateTimePicker,работает правильно, только вылетает ошибка: " is not a valid date. Путём комментирования выявил, что ошибка вот в этой строке:
Код:
DateTimePicker2->Date = StrToDate(Date_of_birth->Text);
Что не так в этой записи? Может есть альтернативные варианты?
Кротяка вне форума Ответить с цитированием
Старый 30.05.2013, 20:55   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Date_of_birth->Text похоже пуст (пустая строка) - проверьте это.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 30.05.2013, 21:37   #3
Кротяка
Пользователь
 
Аватар для Кротяка
 
Регистрация: 04.02.2011
Сообщений: 27
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Date_of_birth->Text похоже пуст (пустая строка) - проверьте это.
нет,там есть данные, и он их считывает,и результат выводится правильный, но вылетает эта ошибка
ему даже проверка не помогает
Код:
	if(Date_of_birth->Text==NULL){
	   DateTimePicker2->Date = Now();
    }
	else
	   DateTimePicker2->Date = StrToDate(Date_of_birth->Text);

Последний раз редактировалось Кротяка; 30.05.2013 в 21:42.
Кротяка вне форума Ответить с цитированием
Старый 31.05.2013, 08:20   #4
Vzlom
Форумчанин
 
Регистрация: 11.02.2013
Сообщений: 155
По умолчанию

Он говорит, что дата не существующая.
попробуйте сделать так:
if(Date_of_birth->Text==NULL)
{
DateTimePicker2->Date = Now(); // в данном случае у вас идет условие
}
else

( DateTimePicker1->DateTime > DateTimePicker2->DateTime ) // Иначе вот такой исход
{
ShowMessage( " введите корректную дату" );
}

Ошибка не должна всплывать.
( DateTimePicker1->DateTime > DateTimePicker2->DateTime ) // мы сами написали ошибку и обошли ее выводом сообщения
ShowMessage( " введите корректную дату" );

Попробуйте
Vzlom вне форума Ответить с цитированием
Старый 31.05.2013, 08:32   #5
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

он ругается не на НУЛЛ, а на пустую строку
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 31.05.2013, 09:37   #6
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Кротяка Посмотреть сообщение
if(Date_of_birth->Text==NULL)...
- это не проверка. Проверить можно так:
Код:
Date_of_birth->Text.Length() == 0;
Date_of_birth->Text.IsEmpty();
Date_of_birth->Text == "";
nick42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Происходит ли перераспределение памяти при присваивании динамических массивов одинаковых размеров? chertovich Общие вопросы Delphi 2 06.10.2012 13:02
При присваивании копируется объект или ссылка на него? KiL0z Общие вопросы Delphi 2 11.06.2011 19:57
ПРи присваивании теряются символы Radiy Общие вопросы Delphi 6 18.06.2010 13:43
c++ Что вылетает прога на присваивании string'у нового значения Sexy_Blond Помощь студентам 6 23.04.2010 20:28
Ошибка при присваивании NeiL Общие вопросы Delphi 5 16.04.2008 22:24