Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизРабота с датой-временем. Найти похожие ветки
← →
oleg1963lora (2010-02-15 12:17) [0]Здравствуйте уважаемые Мастера!
Имею две переменных
DateStart : TDateTime;
DateCurr : TDateTime и два компонента
InDate : TDateTimePicker;
InTime : TDateTimePicker;
Присваиваю
DateStart:=InDate.Date;
DateStart:=InTime.Time;
{Проверка показывает правильные значения и даты и времени в DateStart}
Если же присвоить DateCurr:=DateStart то время сохраняется, а дата - нет. В чем моя ошибка?
← →
{RASkov} © (2010-02-15 12:24) [1]потому что вторым присваиванием затираешь значение присвоенное первым....
← →
{RASkov} © (2010-02-15 12:32) [2]> [0] oleg1963lora (15.02.10 12:17)
> {Проверка показывает правильные значения и даты и времени в DateStart}
Если же присвоить DateCurr:=DateStart то время сохраняется, а дата - нет.
что-то не очень-то верится...
← →
Ega23 © (2010-02-15 12:34) [3]
> что-то не очень-то верится...
Он DefaultDate просто не поменял.
← →
oleg1963lora (2010-02-15 14:09) [4]Может я неправильно выразился.
InDate.Date = "01.02.2010"
InTime.Time = "13:00".
DateStart содержит правильные значения, а в DateCurr получаю
"27.01.2010" и "13:00" соответствено. Как такое может быть? Разве весь компонент не копируется? Что-то я не догоняю((
← →
Ega23 © (2010-02-15 14:30) [5]Обрати внимание, что у тебя стоит в TDateTimePicker.Date
← →
12 © (2010-02-15 14:49) [6]
> Разве весь компонент не копируется?
нет
d1.DateTime:=strtodatetime("01.02.2010 14:12");
d2.DateTime:=strtodatetime("11.03.2009 11:22");
showmessage(datetimetostr(d1.DateTime)+" -----"+datetimetostr(d2.DateTime));
d1:=d2;
// выбираем любые даты в компонентах на форме,
но все равно все равно одному.
Думаю, кстати, что где-то Вы уже потеряли указатель таким же образом
showmessage(datetimetostr(d1.DateTime)+" -----"+datetimetostr(d2.DateTime));
← →
oleg1963lora (2010-02-15 15:19) [7]Т.Е. конструкция такого вида в принципе не верна
DateStart:=InDate.Date;
DateStart:=InTime.Time; ? И сохранится последнее(то есть время), что я и наблюдаю.Дата временами вылезает установленная по умолчанию -1899 год
А я-то по наивности думал, что можно ввести что-то вроде
ДатаСтарт:=Дата+время. Оказывается не все так просто
← →
12 © (2010-02-15 15:28) [8]
> DateStart:=InDate.Date;
> DateStart:=InTime.Time;
да, ибо написали же
> потому что вторым присваиванием затираешь значение присвоенное
> первым...
но я о другом :)
Ладно, проехали
так вот надо
DateStart:=InDate.Date + InTime.Time;
← →
Ega23 © (2010-02-15 15:32) [9]
> ДатаСтарт:=Дата+время. Оказывается не все так просто
Просто нужно чётко понимать, что такое тип данных TDateTime.
Целая часть - количество дней, прошедших с 30.12.1899
Дробная чать - часы-минуты-секунды-миллисекунды
Поэтому рецепт таков:
Кидаем на форму 2 TDateTimePicker. Одному тип (или что там?) pkDate, второму - pkTime (вроде так, точно не помню).
Финальная дата будет выглядетьvar
dt : TDateTime
begin
dt := DateTimePicker1.Date + (DateTimePicker2.DateTime - Trunc(DateTimePicker2.DateTime));
ShowMessage(FormatDateTime("dd.mm.yyyy hh:nn:ss", dt);
end;
← →
Ega23 © (2010-02-15 15:34) [10]
> DateStart:=InDate.Date + InTime.Time;
Ну или так.
← →
oleg1963lora (2010-02-15 15:43) [11]Вобщем выкрутился. Смотрите, что вышло.
type DateTimeArray = record
Date : string;
Time : string;
end;
var
Level : array [1..8] of Levels;
DateStart : DateTimeArray;
DateCurr : DateTimeArray;
implementation
procedure TForm1.RunGenerateClick(Sender: TObject);
{Запуск процесса генерации, создания таблиц, установки первоначального времени}
begin
DateStart.Date:=DateToStr(InDate.Date);
DateStart.Time:=TimeToStr(InTime.Time);
DateCurr:=DateStart;
CurrentDate.Text:=DateCurr.Date;
CurrentTime.Text:=DateCurr.Time;
end;
И все. Достиг результата другой дорогой :-)
За подсказки всем СПАСИБО!
← →
Ega23 © (2010-02-15 15:49) [12]
> И все. Достиг результата другой дорогой :-)
> За подсказки всем СПАСИБО!
Цель: Путешествие из Петербурга в Москву.
Ты его достиг другой дорогой, попутно завернув в Нью-Йорк, Сидней и Куала-Лумпур.
Но достиг, это да. :)
← →
12 © (2010-02-15 15:52) [13]
> Куала-Лумпур
ну там же Лумпукул очень дешевый
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.06 c