Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.11.2008, 11:11
Matador Matador вне форума
Прохожий
 
Регистрация: 27.11.2008
Сообщения: 5
Репутация: 10
По умолчанию преобразование текстового файла

Добрый день всем форумчанам! Сначало расскажу, как я попал на данный форум. Короче, устроился недавно на работу типа IT-специалистом, т.е. поддержка офисных программ + выборка из баз на Delphi SQL. Delphi я раньше не знал, но до этого работал на FoxPro, так что Delphi SQL я довольно быстро изучил по купленной специально книге. А тут вчера пришла служебка о написании проги и ее переложили на меня. Короче, я был в ауте от всего этого. В общем, всем этим я хотел сказать, что уровень у меня самый начинающий и я очень надеюсь на вашу поддержку.
А теперь условие задачи: Имеется текстовый файл с показаниями счетчика энергии (Dos-кодировка). Данные снимаются каждые полчаса. Файл имеет вид:
"Неоп_счетчик" "07/29/08" "17:30" 30 0 140 0 77
"Неоп_счетчик" "07/29/08" "18:00" 30 0 140 0 78 и т.д.
Т.е.: название_счетчика,дата снятия,время окончания интервала, интервал(мин) и 4 числа с показаниями снятой энергии разного вида.
Нужно: по полученным данным сделать интервал часовым, сложив получасовые промежутки (напр."17-30"+"18-00"=18-00 и т.д.), соответственно при этом складывается и энергия в этих интервалах,т.е. получится:
"Неоп_счетчик" "07/29/08" "18:00" 60 0 280 0 155
и все это дело нужно перевести в шаблон документа Excel.
Ну и вопрос, хотя бы для начала, как перевести (сложить) соответсвующие получасовые промежутки
ЗЫ: Заранее всех благодарю за помощь и извиняюсь за большущий вопрос.
Ответить с цитированием
  #2  
Старый 27.11.2008, 11:45
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Если сложить 17-30"+"18-00", то получится 11:30 следующего дня (17+18 = 35; 35 - 24 = 11). Складывать надо лишь показания, а не время. Время же брать последнее из получасового интервала - самим же написано: ."17-30+18-00=18-00" (это уравнение - нелепость), т.е. время складывать не требуется.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #3  
Старый 27.11.2008, 11:49
OsGod OsGod вне форума
Прохожий
 
Регистрация: 27.11.2008
Сообщения: 1
Репутация: 10
По умолчанию

Можно взять 4 переменных Integer, соответственно начислить им значения счетчика из первой строки. После этого сложить со значениями из второй строки и закинуть в строку Excel. Все действия выполнить в цикле. К сожалению, могу посоветовать только в общем виде, т.к. знания Делфи зачаточные))
Ответить с цитированием
  #4  
Старый 27.11.2008, 12:18
Matador Matador вне форума
Прохожий
 
Регистрация: 27.11.2008
Сообщения: 5
Репутация: 10
По умолчанию

Я не имел ввиду, что интервалы времени нужно непосредственно складывать. Просто хотел показать по каким правилам должны объединяться строчки.
Ведь этих получасовых интервалов будет много, начиная с 00-30, т.е. 00-30,01-00,01-30,02-00,02-30,03-30..., заканчивая 00-00 того же дня. Объединяются по 2 строчки получасовых промежутков, например: идет объединение строк, где 00-30 и 01-00, где 01-30 и 02-00, где 02-30 и 03-00 и т.д. В итоговой строчке промежутков будет стоять 01-00, 02-00, 03-00 соответственно, ну и будут просуммированны ячейки показаний энергии в этих строках.
Дело усложняется тем, что в файле находятся данные за несколько дней, естественно на каждый день заведены получасовые промежутки.
Ответить с цитированием
  #5  
Старый 27.11.2008, 12:30
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Мое предложение отправил вам в личку.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #6  
Старый 27.11.2008, 12:32
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Расход энергии идет за промежуток времени?
Если да, то нужно делать вообще все не так
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 27.11.2008, 13:02
Matador Matador вне форума
Прохожий
 
Регистрация: 27.11.2008
Сообщения: 5
Репутация: 10
По умолчанию

В каждый получасовой промежуток времени записывается показание энергии израсходованной за последние полчаса. Т.е. если в строчке "временной промежуток" стоит значение "01-30", то в ячейках "расхода энергии" будут стоять значения энергии потраченой с 01-00 по 01-30.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter