Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
ВнизПреобразование переменных Найти похожие ветки
← →
webpauk © (2008-06-19 12:42) [0]как из 2 переменных типа TDate, TTime получить переменную типа TDateTime?
← →
{RASkov} © (2008-06-19 12:44) [1]> [0] webpauk © (19.06.08 12:42)
+ (сложить их) :)
← →
Правильный-Вася (2008-06-19 12:46) [2]если внимательно почитать справку, то можно убедиться, что это один и тот же тип данных
← →
webpauk © (2008-06-19 12:47) [3]
> {RASkov} © (19.06.08 12:44) [1]
предположим:var
fD: Tdate;
fT: Ttime;
fDT: TdateTime;
begin
fD:=Now;
fT:=Now;
корректно?
а теперь сложи...
← →
{RASkov} © (2008-06-19 12:48) [4]> если внимательно почитать справку
достаточно кликнуть с зажатым контролом по данным типам в редакторе....
> [3] webpauk © (19.06.08 12:47)
var D: TDate; T: TTime; DT: TDateTime;
begin
D:=Date;
T:=Time;
DT:=D+T;
ShowMessage(DateTimeToStr(DT));
end;
← →
webpauk © (2008-06-19 12:50) [5]
> {RASkov} © (19.06.08 12:48) [4]
папрашу....
код всё-таки такой:fD:=Now;
fT:=Now;
← →
{RASkov} © (2008-06-19 12:50) [6]> [3] webpauk © (19.06.08 12:47)
> корректно?
> а теперь сложи...
Нет, у тебя в данном случае не корректно. Так как ты не время с датой складываешь, а две даты.
Вникни в свой вопрос и в то что ты написал....
← →
webpauk © (2008-06-19 12:51) [7]
fDT:=TDate(fD)+TTime(fT);
вот так вот!
← →
{RASkov} © (2008-06-19 12:51) [8]> [5] webpauk © (19.06.08 12:50)
> папрашу....
> код всё-таки такой:
Тогда две(все) переменные в твоем случае TDateTime....
← →
webpauk © (2008-06-19 12:52) [9]
> Нет, у тебя в данном случае не корректно. Так как ты не
> время с датой складываешь, а две даты.
почему не корректно...
раз фурычит, значит не ошибка
← →
webpauk © (2008-06-19 12:53) [10]
> fDT:=TDate(fD)+TTime(fT);
блин, не прохавало...
← →
webpauk © (2008-06-19 12:55) [11]fDT:=DateOf(fD)+TimeOf(fT);
а так вроде ничё!
← →
{RASkov} © (2008-06-19 12:56) [12]> [7] webpauk © (19.06.08 12:51)
> fDT:=TDate(fD)+TTime(fT);
> вот так вот!
Можно и так:var D, T, DT: TDateTime;
begin
D:=Now;
T:=Now;
DT:=Trunc(D)+Frac(T);
ShowMessage(DateTimeToStr(DT));
end;
> [9] webpauk © (19.06.08 12:52)
> почему не корректно...
> раз фурычит, значит не ошибка
Это ты так думаешь...) А другой(или ты потом) точно сломает моск в твоем коде и тогда уже будут реальные ошибки.... заметь из-за тебя, а не он(ты потом) виноват...
:о)
← →
{RASkov} © (2008-06-19 12:57) [13]> [10] webpauk © (19.06.08 12:53)
> блин, не прохавало...
Пора тебя схавать...)
← →
{RASkov} © (2008-06-19 12:59) [14]> > [7] webpauk © (19.06.08 12:51)
> > fDT:=TDate(fD)+TTime(fT);
> > вот так вот!
>
> Можно и так:
> var D, T, DT: TDateTime;
..... и т.д.
Т.е. не можно, а даже нужно! :)
← →
Anatoly Podgoretsky © (2008-06-19 14:14) [15]Что хочешь сделать, получить.
Сложение корректно, а вот результат не обязательно корректен.
Что должно получиться при сложение 19.06.2008 hh.mm.ss с 19.06.2008 hh.mm.ss
И зачем ты складываешь две Now, Надешсься то получится завтра?
← →
Palladin © (2008-06-19 14:37) [16]
> webpauk © (19.06.08 12:55) [11]
Now возвращает и дату и время
Date возвращает только дату, со пустым временем
Time возвращает только время, с пустой датой
какого ты складываешь Now с Now, что ты пытаешься получить?
← →
Loginov Dmitry © (2008-06-19 18:57) [17]> fD:=Now;
> fT:=Now;
> fDT:=DateOf(fD)+TimeOf(fT);
надеешься на авось?
А что будет, если
fD:=Now; - в момент 19-06-2008 23:59:59.999
fT:=Now; - в момент 20-06-2008 00:00:00.000
Корректнее:fD:=Now;
fT:=fD;
fDT:=DateOf(fD)+TimeOf(fT);
← →
Игорь Шевченко © (2008-06-19 19:56) [18]нафига складывать даты ?
← →
korneley © (2008-06-19 22:20) [19]
> Игорь Шевченко © (19.06.08 19:56) [18]
> нафига складывать даты ?
Чтобы потом поспорить, как методом вычитания/деления получить кол-во месяцев и лет :)))
← →
korneley © (2008-06-19 22:33) [20]Непонятно, чего рубиться, если ответ, согласно поставленному вопросу, был выдан в посте [1]? Животомеры тестируем? :)))
← →
Anatoly Podgoretsky © (2008-06-19 23:13) [21]> korneley (19.06.2008 22:33:20) [20]
Я же написал зачем, сегодня + сегодня = завтра
← →
korneley © (2008-06-20 00:31) [22]
> Anatoly Podgoretsky © (19.06.08 23:13) [21]
> > korneley (19.06.2008 22:33:20) [20]Я же написал зачем,
> сегодня + сегодня = завтра
С точки зрения и математики, и типа (не путать с русским неопределённым артиклем - "типа") TDateTime: какое завтра? Там глубокое будущее обрисовалось :))
← →
Anatoly Podgoretsky © (2008-06-20 10:05) [23]> korneley (20.06.2008 0:31:22) [22]
День сегодня плюс день сегодня равно день завтра, день за день.
← →
korneley © (2008-06-20 10:58) [24]
> Anatoly Podgoretsky © (20.06.08 10:05) [23]
Ну, тогда можно и так: "Сколько (к) сегодня не добавляй, сегодня и останется" :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.044 c