|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2012, 18:14 | #1 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 23
|
Работа с датой(непонятки)
Всем доброго вечера. Экстренно прошу подтолкнуть на ясную мысль.
И так по порядку имеется типизированный файл типа : Код HTML:
otchet=record id:0..5; name:string[7]; date:Tdate; time:Ttime; pribyl:real; rashod:real; end; var tipo:file of otchet; po:otchet; На форме расположен Stringgrid,и два DateTimePicker. В первом DateTimePicker'e выбераем с какой даты нужно подсчитывать прибыль от продаж , во Втором соответственно по какую, сумму вывести в таблицу. Не получается сделать диапазон сравнения. например, первая продажа была 7 декабря выбираю даты с 7.12.12 по 7.12.12 у меня ничего не подсчитывает. Но стоит выбрать в первом DateTimePicker'e дату 6 подсчитывает продажи за 7 число. Подскажите как сделать так что бы считалось включительно?? Очень срочно. кусок кода как я делал : Код HTML:
fordate:=datetimepicker1.Date;
todate:=datetimepicker2.Date;
rashod:=0;
pribyl:=0;
i:=0;
while (not(eof(tipo))) do
begin
seek(tipo,i);
read(tipo,po);
i:=i+1;
if po.id=0 then
if (fordate<=po.date)and(todate=>po.date)then
begin
rashod:=rash80+po.rashod;
pribyl:=pribyl+po.pribyl;
end;
end;
Cells[2,1]:=floattostrf(rashod,fffixed,5,2);
Cells[3,1]:=floattostrf(pribod,fffixed,5,2);
|
11.12.2012, 18:19 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Есть подозрение, что "fordate" и "todate" содержат в себе помимо даты еще и информацию о времени. Проверьте в отладчике, не так ли это?
Если так, то необходимо оттуда только дату выцепить перед сравнением
Благодарить в репутацию. Проклинать — туда же
|
11.12.2012, 18:49 | #3 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 23
|
Вот что показал обработчик |
11.12.2012, 19:58 | #4 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Дробная часть - это и есть время. Его необходимо отбросить, после этого ваша программа должна сменить поведение на более адекватное
Благодарить в репутацию. Проклинать — туда же
|
11.12.2012, 20:28 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Luuzuk, +1
diekster, достаточно вместо: fordate:=datetimepicker1.Date; todate:=datetimepicker2.Date; написать: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с датой | _Valery_ | Microsoft Office Access | 2 | 03.02.2012 17:08 |
работа с датой | FullmetalAlchemist | Microsoft Office Excel | 4 | 25.05.2010 14:42 |
работа с датой | Sack | Microsoft Office Access | 2 | 23.09.2008 09:56 |
Работа с датой | Dunpeal | Общие вопросы Delphi | 5 | 15.05.2008 12:05 |
Работа с датой | [RR]Reaction | Общие вопросы Delphi | 3 | 07.04.2008 21:52 |