|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
преобразование текстового файла
Добрый день всем форумчанам! Сначало расскажу, как я попал на данный форум. Короче, устроился недавно на работу типа 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
|
|||
|
|||
Если сложить 17-30"+"18-00", то получится 11:30 следующего дня (17+18 = 35; 35 - 24 = 11). Складывать надо лишь показания, а не время. Время же брать последнее из получасового интервала - самим же написано: ."17-30+18-00=18-00" (это уравнение - нелепость), т.е. время складывать не требуется.
Не забывайте делать резервные копии |
#3
|
|||
|
|||
Можно взять 4 переменных Integer, соответственно начислить им значения счетчика из первой строки. После этого сложить со значениями из второй строки и закинуть в строку Excel. Все действия выполнить в цикле. К сожалению, могу посоветовать только в общем виде, т.к. знания Делфи зачаточные))
|
#4
|
|||
|
|||
Я не имел ввиду, что интервалы времени нужно непосредственно складывать. Просто хотел показать по каким правилам должны объединяться строчки.
Ведь этих получасовых интервалов будет много, начиная с 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
|
|||
|
|||
Мое предложение отправил вам в личку.
Не забывайте делать резервные копии |
#6
|
||||
|
||||
Расход энергии идет за промежуток времени?
Если да, то нужно делать вообще все не так Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
|||
|
|||
В каждый получасовой промежуток времени записывается показание энергии израсходованной за последние полчаса. Т.е. если в строчке "временной промежуток" стоит значение "01-30", то в ячейках "расхода энергии" будут стоять значения энергии потраченой с 01-00 по 01-30.
|