C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
запись своего времени в TDateTime, как сделать ?
slan
Отправлено: 20.01.2006, 13:52


Ученик-кочегар

Группа: Участник
Сообщений: 3



Привет, у меня возникла проблема

если делаю так

CODE

TDateTime dt;

dt = Time();
dt += 1.0 / 24;  


то получает время и прибавляет час

если делаю так(хочу прибавить 5 секунд)

CODE

dt = Time();
dt += 0.005 / 100;

прибовляет то по 4, то по 5 сек.

Вопрос:
Как мне записать в переменную TDateTime; свои часы минуты и время ?


спасибо.
Valdemar
Отправлено: 20.01.2006, 14:03


Мастер участка

Группа: Участник
Сообщений: 433



Посмотрите функции DecodeTime, EncodeTime, StrToTime.
Guest
Отправлено: 20.01.2006, 17:41


Не зарегистрирован







QUOTE

dt = Time();
dt += 0.005 / 100;

В в сутках не 100000 секунд а 24*60*60 biggrin.gif
Для работы с временем можно легко использовать дробную часть TDateTime приведенного к double (int — работа с днями).
Gal
Отправлено: 21.01.2006, 13:06


Станционный диспетчер

Группа: Участник
Сообщений: 124



Вопрос:
Как мне записать в переменную TDateTime; свои часы минуты и время ?
CODE

AnsiString timeStr = "12:12:25";
TTime* timePtr = StrToTime(timeStr);
[QUOTE]

Отредактировано Gal — 21/01/2006, 13:14
Aptem
Отправлено: 21.01.2006, 18:00


Мастер участка

Группа: Участник
Сообщений: 349



Все же в помощи написано:

CODE
__fastcall TDateTime()
__fastcall TDateTime(const TDateTime& src)
__fastcall TDateTime(const TDateTimeBase& src)
__fastcall TDateTime(const double src)
__fastcall TDateTime(const int src)
enum TDateTimeFlag {Date, Time, DateTime};
__fastcall TDateTime(const AnsiString& src, TDateTimeFlag flag = DateTime);
__fastcall TDateTime(unsigned short year, unsigned short month, unsigned short day);

__fastcall TDateTime(unsigned short hour, unsigned short min, unsigned short sec, unsigned short msec);

Вернуться в Вопросы программирования в C++Builder