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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.05.2013, 14:02
cezer cezer вне форума
Прохожий
 
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
По умолчанию

Всем добрый день. Пишу программу для логов Usergate 2.8 Нужна ваша помощь. Имеется Код любезно предоставленный пользователем Страдалецъ:
Что уже готово и имеется:

1. На форму добавляем AdoQuery.
2. В ConnectionString пишем:

Provider=Microsoft.Jet.OLEDB.4.0ata Source=J:\;Extended Properties="Text;HDR=No";Persist Security Info=False

Только вместо J:\ указываем путь к нашему файлу.
2.1. В SQL пишем запрос:

select F1,F2,F3,F4,Sum(F7) as F7, Sum(F8) as F8 from Test1#txt
group by F1,F2,F3,F4

в место Test1#txt пишем имя своего файла.

На форму добавляем DBGrid,DataSource. Связываем все это.
Готово.
-------------------------------------------------------------------------
Проблема в следующем: ADOquery не читает файлы кроме txt и mdb. Так же возможны проблемы с именем файла если в имени имеется тире - тоже не читает.
Сделал в обход:
-------------------------------------------------------------------------
Код:
глобально 
var
d,p,b: string;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
d:=FormatDateTime('dd-mm-yyyy-',now);
b:=d+'.txt'
memo1.Lines.LoadFromFile('\\192.168.1.87\Log\'+b);
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
memo1.Lines.LoadFromFile('\\192.168.1.87\Log\'+b);
end;
 
procedure TForm1.Memo1Change(Sender: TObject);
begin
memo1.Lines.SaveToFile('Base\'+b);
adoquery1.Active:=true;
end;
------------------------------------------------------------------------
Вопросов несколько начну с того что: Как сделать чтоб можно было логи брать за определённый период допустим: 10.05.2013 по 14.05.2013 чтоб он все это выводил просуммированные столбцы №7 и 8 за период.

Название лог файлов: 00-00-00-UserGate.lgs

Внутренность файлов:

User1, 192.168.0.1, 192.168.0.1, 05.11.13, 18:39:15, 3642, 10, 37, 0, 0
User8, 192.168.0.8, 192.168.0.8, 05.11.13, 18:39:15, 0987, 38, 75, 0, 0
User2, 192.168.0.2, 192.168.0.2, 05.11.13, 18:39:15, 5432, 8, 754, 0, 0
User5, 192.168.0.5, 192.168.0.5, 05.11.13, 18:39:15, 1432, 24, 3754, 0, 0
User7, 192.168.0.7, 192.168.0.7, 05.11.13, 18:39:15, 2436, 1, 77, 0, 0
User1, 192.168.0.1, 192.168.0.1, 05.11.13, 18:39:15, 3642, 10, 37, 0, 0
User8, 192.168.0.8, 192.168.0.8, 05.11.13, 18:39:15, 0987, 38, 75, 0, 0
User2, 192.168.0.2, 192.168.0.2, 05.11.13, 18:39:15, 5432, 8, 754, 0, 0

7 и 8 колонка это данные в байтах.

Второй вопрос: Как сделать конвертацию
например несколько radiobutton
1 Байты
2 килобайты
3 мегабайты
4 гигабайты
нажимая на каждый в dbgrid меняются цифры в 7 и 8 колонке.

Третий вопрос: Сортировка данных. нажимаешь например на столбец 7 он сортирует по убыванию или по возрастанию. если нажимаешь на столбец 1 он сортирует по алфавиту в нормальном порядке либо в обратном порядке.
--------------------------------------------------------------------------

А в ответ Тишина)))

Последний раз редактировалось M.A.D.M.A.N., 04.06.2013 в 21:14.
Ответить с цитированием
  #2  
Старый 15.05.2013, 11:43
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от cezer
А в ответ...
А где же ваши наработки чтоб их править, в смысле, покажите пжлст, что уже собрано, как хоть выглядит, с нуля начинать такое тяжеловато.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
cezer (06.06.2013)
  #3  
Старый 15.05.2013, 16:41
cezer cezer вне форума
Прохожий
 
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
...
Сегодня вечером выложу весь проект. Что получилось и того что нет.

Цитата:
Сообщение от Alegun
....
Вот как и обещал выкладываю то что сделанно: http://dfiles.ru/files/dff743nu1

осталось сделать следующее: Суммирование при выборе интервала дат, правильная* сортировка колонок, radiobutton килобайты мегабайты гигабайты ну и тоже не мало важное это: если меняется в DBgrid данные у кого то пользователя то рядом допустим в новую колонку добавлять что пользователь активен если не активен то пусто.... Потихоньку продвигаюсь делаю что умею и могу... Если есть предложения или готовый код буду с радостью добавлять в проект... Всем спасибо кто помог и кто поможет)

Последний раз редактировалось M.A.D.M.A.N., 04.06.2013 в 21:14.
Ответить с цитированием
  #4  
Старый 16.05.2013, 03:01
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

К сожалению, ваш код у меня не работает, вылезают страшные ошибки, даже "крашится" система, аж салют из трёх пальцев не помогает, поэтому помочь с ним, увы, не смогу (ага, а вот пусть тот кто вам это посоветовал и парится ). Могу предложить лишь прошлые наработки, под другие ваши темы, там идёт общее суммирование всех записей по пользователям, но сейчас думаю над выборкой по дате, додумаюсь - покажу.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
cezer (06.06.2013)
  #5  
Старый 16.05.2013, 07:10
cezer cezer вне форума
Прохожий
 
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
...
Доброе утро Alegun. Z забыл упамянуть что папку 123 желательно положить на диск С ну т.е путь будет выглядеть так C:\123\ выборку не по дате надо а по байтам входящим и исходящим

Цитата:
Сообщение от Alegun
но сейчас думаю над выборкой по дате, додумаюсь - покажу.
Я вернулся)))) почти всё готово осталась выборка по дате ну т.е. промежуток дат допустим с 1.05.2013 по 4.06.2013 каждый день идёт сохранение в файл:
1.05.2013-UserGate.lgs
2.05.2013-UserGate.lgs
3.05.2013-UserGate.lgs
и так далее.... уважаемый Alegun есть идеи? на счет выборке??

Последний раз редактировалось M.A.D.M.A.N., 04.06.2013 в 21:14.
Ответить с цитированием
  #6  
Старый 04.06.2013, 21:06
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от cezer
...есть идеи? на счет выборке??
Добвресу, увж cezer, пжлст посмотрите здесь

З.Ы.
У меня такое получилось

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 sl,sv:TStrings;
 i: integer;
 begin
 sl:= TStringList.Create;
  sv:= TStringList.Create;
 sl.Assign(Memo1.Lines);
Memo1.Clear;
for i:=0 to sl.Count-1 do
begin
sv.Text:= StringReplace(sl.Strings[i],',',#10,[rfReplaceAll]);

if DaysBetween(StrToDate('15.05.13'), StrToDate('23.06.13')) >=
   DaysBetween(StrToDate('15.05.13'), StrToDate(sv.Strings[3])) then
   Memo1.Lines.Add(sl.Strings[i]);
end;

sv.Free;
sl.Free;
end;
т.е. отбираются строчки из всего списка, попадающие между двумя датами, у меня работает.

Последний раз редактировалось Alegun, 04.06.2013 в 21:27.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
cezer (04.06.2013)
  #7  
Старый 04.06.2013, 21:15
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Чатики тут не устраиваем, пользуемся кнопкой "правка"!
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 04.06.2013, 21:39
cezer cezer вне форума
Прохожий
 
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
...
Спасибо Alegun проверю отпишусь. но отпишусь скорее всего завтра. Спасибо ещё раз!
Ответить с цитированием
  #9  
Старый 05.06.2013, 09:34
cezer cezer вне форума
Прохожий
 
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
...
Уважаемый Alegun если можно исходник скиньте пожалуйста. Что то не могу разобраться как прикрутить это всё к моему проекту... (
Ответить с цитированием
  #10  
Старый 05.06.2013, 15:52
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от cezer
...Что то не могу разобраться как прикрутить это всё к моему проекту... (
Вот здесь вариант как примерно это сделать, может подойдёт.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
cezer (06.06.2013)
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter