Всем добрый день. Пишу программу для логов 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 он сортирует по алфавиту в нормальном порядке либо в обратном порядке.
--------------------------------------------------------------------------
А в ответ Тишина)))