Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

О работе с датой   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
10-1129708059
SupKlo
2005-10-19 11:47
2007.02.18
Как передать картинку с клиента на сервер через DCOM


1-1166871574
kroner
2006-12-23 13:59
2007.02.18
Почему FindFirst возвращает не ноль?


3-1164615431
click
2006-11-27 11:17
2007.02.18
Где в TreeView хранить "ключ"?


2-1170403279
FF
2007-02-02 11:01
2007.02.18
Как dll узнать значение глобальной переменной, объявленной...


1-1167209405
IMHO
2006-12-27 11:50
2007.02.18
Математическое прогнозирование спортивного события