Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Проблема при работе с датой


Автор: medicdim 6.6.2007, 10:11
Задача состоит в следующем:
Пользователь вводит 5 цифр - это порядковый номер дня, начиная отсчёт от 01.01.1901.
Нужно вывести результируюшую дату.
Напр.: Пользователь вводит 31533. Результат должен быть: 02.05.1986

Если в коде прямо прибавлять к-во дней всё работает:

Label1->Caption=DateToStr(1/01/1900+31533);

А если я пытаюсь скормить ему переменную, то валится ошибка.

Код

AnsiString tmp;
tmp=Edit1->Text;
Label1->Caption=DateToStr(1/01/1900+tmp);


Помогите, плз с решением данной задачи.

Автор: SenkraD 6.6.2007, 10:13
medicdim,  попробуй так
Код

Label1->Caption=DateToStr(TDateTime(Edit1->Text));

Автор: medicdim 6.6.2007, 10:16
Говорит: "31533 is not valid date and time".

Автор: SenkraD 6.6.2007, 10:20
да забыл мелоч одну, вот так пашет!
Код

Label1->Caption = DateToStr(TDateTime(StrToInt(Edit1->Text)))ж

Автор: medicdim 6.6.2007, 10:33
Огромное спасибо! Пашет! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)