Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизО работе с датой Найти похожие ветки
← →
vasIzmax © (2007-01-27 02:33) [0]Вот сейчас 2 часа 33 минуты. А вот такой код выдает мне 23 часа. Почему?
Сам код:var
ST : TSystemTime;
....
GetSystemTime(st);
Label1.Caption := IntToStr(st.wHour);
← →
Германн © (2007-01-27 02:39) [1]
> О работе с датой
>
> vasIzmax © (27.01.07 02:33)
>
> Вот сейчас 2 часа 33 минуты. А вот такой код выдает мне
> 23 часа. Почему?
А кто тебе что-то обещал?
← →
vasIzmax © (2007-01-27 02:45) [2]Все разобрался. Вместо GetSystemTime(st) => GetLocalTime(st);
P.S.
> Германн © (27.01.07 02:39) [1]
Честное слово, не понял поста:)
← →
Германн © (2007-01-27 02:51) [3]
> Честное слово, не понял поста:)
>
Ну и не надо. Ты же решил свою проблему.
← →
Anatoly Podgoretsky © (2007-01-27 12:53) [4]> vasIzmax (27.01.2007 02:33:00) [0]
Прибавить 23ч - 2ч33м
Только зачем?
А если 2ч34м, то сколько.
← →
vasIzmax © (2007-01-27 14:33) [5]
> Anatoly Podgoretsky © (27.01.07 12:53) [4]
Да так же 23 и будет. Здесь минуты как я понял роли не играют. Просто я вместо системного времени выводил время и дату по Гринвичу (как эти три часа разницы и нашлись):)
← →
Джо © (2007-01-27 15:51) [6]Дабы не мучаться, использовал бы Now() и DecodeDate, например. :)
← →
vasIzmax © (2007-01-27 17:03) [7]
> Джо © (27.01.07 15:51) [6]
Я подумал че это не подойдет.
Задача была такой(простая): определить разницу между датами, эту разницу перевести в минуты, а потом (результат div 20). В зависимости от деления выполняется та или иная процедура:)
← →
Gero © (2007-01-27 17:07) [8]> [7] vasIzmax © (27.01.07 17:03)
> определить разницу между датами
И как ты решил эту задачу?
← →
vasIzmax © (2007-01-27 17:13) [9]
> Gero © (27.01.07 17:07) [8]
Только не смеяться:procedure tform1.LoadFileDate;
var
f:textfile;
buf:string;
i,j,k,h:integer;
st : TSYSTEMTIME;
begin
AssignFile(f, "d:\GM_v7\dateL.txt");
reset(f);
while not EOF(f) do
begin
readln(f,buf);
form1.ListBox1.Items.Add(buf);
end;
GetLocalTime(st);
for i:=0 to form1.ListBox1.Count-1 do
begin
j:=strtoint(form1.ListBox1.Items.Strings[i]);
case i of
0: begin
form1.ListBox1.Items.Delete(i);
form1.ListBox1.Items.Insert(i,inttostr((st.wDay-j)*24*60));
end;
1: begin
form1.ListBox1.Items.Delete(i);
form1.ListBox1.Items.Insert(i,inttostr(st.wmonth-j));
end;
2: begin
form1.ListBox1.Items.Delete(i);
form1.ListBox1.Items.Insert(i,inttostr(st.wYear-j));
end;
3: begin
form1.ListBox1.Items.Delete(i);
form1.ListBox1.Items.Insert(i,inttostr(abs(st.wHour-j)*24));
end;
4: begin
form1.ListBox1.Items.Delete(i);
form1.ListBox1.Items.Insert(i,inttostr(abs(st.wMinute-j)));
end;end;end;
k:=0;
for h:=0 to form1.ListBox1.Count-1 do
begin
j:=strtoint(form1.ListBox1.Items.Strings[h]);
k:=k+j;
end;
form1.ListBox1.Items.Add(inttostr(k));//вывод суммы
end;
ЗЫ. Хоть вариант и плох, но работает
ЗЫЫ. В dateL.txt такая последовательность День_Месяц_Год Час_Минута.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.059 c