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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.09.2010, 13:23
kamael kamael вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 4
Репутация: 10
Печаль импорт txt и работа с ним

Доброго времени суток! Есть одна (для меня) крупная проблема... нужна программа, которая считает определенные столбы в сумме, также был фильтр определенных чисел... т.е. есть такая таблица -

И 05.07.2010 15:05:53 0:01:54 92718 950175
И 13.07.2010 10:10:05 0:01:08 92224 250175
В 13.07.2010 10:11:32 0:00:50 92224 950175
И 15.07.2010 18:13:46 0:00:34 92998 450175
И 20.07.2010 8:42:24 0:00:30 92718 950175
В 20.07.2010 8:43:10 0:00:04 92718 550175
И 20.07.2010 8:43:28 0:00:46 92718 950175

надо чтобы она отсеивала значения "И" , 2 столбец и значения последнего столбца - отдельно со значениями в радиусе от 95000-95999 25000-25999 и так далее , отсеянное, которое осталось - из столбца 3 т.е. время - складывалось....
вот такая непростая задача.. (( если будут мысли - ответьте срочно надо! с меня пиво!
Ответить с цитированием
  #2  
Старый 03.09.2010, 14:44
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Цитата:
Сообщение от kamael
надо чтобы она отсеивала значения "И" , 2 столбец и значения последнего столбца - отдельно со значениями в радиусе от 95000-95999 25000-25999 и так далее , отсеянное, которое осталось - из столбца 3 т.е. время - складывалось....
вот такая непростая задача.. (( если будут мысли - ответьте срочно надо! с меня пиво!
обясните попотробней. Этап один отсееваем все значения с "И" это ясно, а потом что отсеивать? расталкуйте пожалуйста.
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #3  
Старый 03.09.2010, 15:01
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

на форме размещаете 3 компонента: кнопку мемо и опен диалог.
насколько я понял то нужно в итоге вывести 2 переменные времени для двух промежутков значений последнего столбца. Если я чтото неправельно понял, скажите подправим
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
f,s:tstringlist;
i:integer;
dip1,dip2:ttime;
begin
if not opendialog1.Execute then exit;
F:=tstringlist.Create;
s:=tstringlist.Create;
f.LoadFromFile(opendialog1.FileName);
s.Delimiter:=' ';
for 
i:=0 to f.Count-do
 
begin
 s
.Clear;
 
s.DelimitedText:=f[i];
 if 
s.Count<>6 then continue;
 if 
s[0]='И' then continue;
 if (
strtoint(s[5])>950000 )and(strtoint(s[5])<950999)then dip1:=dip1+strtotime(s[2]);
 if (
strtoint(s[5])>250000 )and(strtoint(s[5])<250999)then dip2:=dip2+strtotime(s[2]);
 
end;
s.Free;
f.Free;
memo1.Lines.Add('dip1= '+timetostr(dip1)+' dip2= '+timetostr(dip2));
end
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #4  
Старый 03.09.2010, 18:14
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Эта задача решается совсем легко и приятно, если к текстовому файлу подключаться как к таблице БД. Вот почитайте: http://www.delphisources.ru/pages/fa...ii_driver.html
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 04.09.2010, 18:01
kamael kamael вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 4
Репутация: 10
Радость

Цитата:
Сообщение от Bars1992
обясните попотробней. Этап один отсееваем все значения с "И" это ясно, а потом что отсеивать? расталкуйте пожалуйста.
отсеиваться должны несколько значений, 1,5 но в разных значениях.. т.е. будет как автоматизированный счетчик, который при нескольких фильтров будет суммировать 4 столбец Оо например фильтр:
Код:
И	05.07.2010	15:05:53	0:01:54	92718	950175
И	20.07.2010	8:42:24	0:00:30	92718	950175
будет работать по "И-92718" и считать 4 столбец как время разговора:
0:01:54 + 0:00:30 = 0:02:26 - бужет выводимой суммой на экране с примерным тестом - входящий трафик АТС№1

парни! огромное спасибо что откликнулись... очень рад даже.. в понедельник буду пробовать воплотить ваш код в жизнь!
Ответить с цитированием
  #6  
Старый 04.09.2010, 23:46
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Тогда мой код надо подредактировать
PHP код:
procedure TForm1.Button1Click(SenderTObject); 
var 
f,s:tstringlist
i:integer
dip1,dip2:ttime
begin 
if not opendialog1.Execute then exit; 
F:=tstringlist.Create
s:=tstringlist.Create
f.LoadFromFile(opendialog1.FileName); 
s.Delimiter:=' '
for 
i:=0 to f.Count-do 
 
begin 
 s
.Clear
 
s.DelimitedText:=f[i]; 
 if 
s.Count<>6 then continue; 
 if 
s[0]='И' then continue; 
 if (
strtoint(s[5])>950000 )and(strtoint(s[5])<950999)then dip1:=dip1+strtotime(s[3]); 
 if (
strtoint(s[5])>250000 )and(strtoint(s[5])<250999)then dip2:=dip2+strtotime(s[3]); 
 
end
s.Free
f.Free
memo1.Lines.Add('dip1= '+timetostr(dip1)+' dip2= '+timetostr(dip2)); 
end

dip1 dip2 - 2 диапазона 6-ого столбца соответсвено
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #7  
Старый 05.09.2010, 09:03
kamael kamael вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 4
Репутация: 10
Радость

а ведь работает!!! =) ох емаё! куда пиво выслать ??? РЕСПЕКТ!!!
Ответить с цитированием
  #8  
Старый 05.09.2010, 12:55
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Цитата:
Сообщение от kamael
а ведь работает!!! =) ох емаё! куда пиво выслать ??? РЕСПЕКТ!!!
Пиво не надо лутче сок))) А вобще- ето довольно легкая задача так что ты никому ничто не должен)
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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