Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26153
Рейтинг: 2127
#76: 2009-11-02 03:06:21 ЛС | профиль | цитата
Tad писал(а):
хотел услышать твое мнение

Вопрос пока остается открытым -- нужно ли это в пакете, и является ли это жизненно необходимым, без чего невозможно работать в данный момент
карма: 22

0
Ответов: 15
Рейтинг: 0
#77: 2009-11-02 21:29:06 ЛС | профиль | цитата
Tad,
Можете если не затруднит в свою схему вставить 2-ю переменную?
Сравнив где что поменялось в схеме я пойму как вставлять 2-ю переменную.

nesco,
Сейчас опробую вашу схему.
Хмм... ваш пример запустился но отработав ничего не показал.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#78: 2009-11-02 22:24:48 ЛС | профиль | цитата
user777 писал(а):
вставить 2-ю переменную
Условие AND, OR ?
nesco,
Протестировал загрузку своих 800 тысяч строк через:
1. IC на doAdd : в StrList 1407, в ListBox - 2635703
2. точку doLoad : в StrList 313, в ListBox - 2568859
все в Millisecond
где тормоз - пока не искал.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#79: 2009-11-02 22:41:42 ЛС | профиль | цитата
user777 писал(а):
запустился но отработав ничего не показал

А он и не показывает, он получает на выходе вторй файл с выборкой -- log2.txt
карма: 22

0
Ответов: 15
Рейтинг: 0
#80: 2009-11-02 23:13:52 ЛС | профиль | цитата
Tad писал(а):
Условие AND, OR ?

Т.е. или так или так? Просто выбока нужна или по 1 слову, т.е. как в вашем примере, или по 2-м словам т.е. включая и первое слово и второе. В то же время если второе поле оставить пустым - будет искать по 1 слову? Спасибо за довольно простую схему (вот только в коде надо разобратся)

nesco,
Спасибо, не заметил, интересный подход. Причем действительно время на отрисовку таблицы уменьшило время поиска, но вывод в таблицу все равно нужен, так удобнее работать. Думаю что привязать таблицу сам смогу. Спасибо за вариант.
карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#81: 2009-11-02 23:35:43 ЛС | профиль | цитата
user777 писал(а):
но вывод в таблицу все равно нужен

Ну так и сделай вывод уже готового лога, нафиг его не надо сразу парсить в таблицу
карма: 22

0
Ответов: 15
Рейтинг: 0
#82: 2009-11-03 20:06:46 ЛС | профиль | цитата
nesco,
Не совсем разобрался как можно вставить еще 1 переменную для поиска в Вашу схему.
карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#83: 2009-11-03 20:18:36 ЛС | профиль | цитата
user777 писал(а):
Не совсем разобрался как можно вставить еще 1 переменную для поиска в Вашу схему

Еще одним элементом поиска блока, по причине того, что одним элементом блока можно найти только две переменный
карма: 22

0
Ответов: 4641
Рейтинг: 334
#84: 2009-11-03 20:32:15 ЛС | профиль | цитата
user777 писал(а):
вставить еще 1 переменную для поиска в Вашу схему
Вот что я называю, когда знания отстают от возможностей. Как марафон. Задача и ее схемное решение бежит впереди, а знания опаздывают. Главное догнать!

nesco, вот скажи. Тут г-н Driver утверждает, что findstr.exe ищет в десятки раз быстрее чем компоненты хиасма. Что скажешь? или проверишь?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#85: 2009-11-03 20:55:25 ЛС | профиль | цитата
Ravilr писал(а):
nesco, вот скажи. Тут г-н Driver утверждает, что findstr.exe ищет в десятки раз быстрее чем компоненты хиасма.
А Lister TC открывает мгновенно,
Блокнот за 50 секунд,
а HiAsm.ListBox (тот же файл) за 43 минуты !

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#86: 2009-11-03 22:44:11 ЛС | профиль | цитата
Tad, разные подходы к открытию, ну, и, где-то что-то не оптимизированно
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#87: 2009-11-03 23:16:34 ЛС | профиль | цитата
nesco писал(а):
где-то что-то

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#88: 2009-11-05 12:33:58 ЛС | профиль | цитата
Добавлен новый компонент по мотивам схемы Tad-a [svn]SearchInFile.pas[/svn]
Обладает тем же быстродействием в писках вложения текста

Tad, проверь у себя, как он работает
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#89: 2009-11-05 13:01:47 ЛС | профиль | цитата
nesco, осталось заняться точкой doLoad визуальных компонент
(Я тебя не гружу )
------------ Дoбавленo в 13.05:
nesco писал(а):
проверь у себя, как он работает
Грузишь меня ?
Нормально - нашел 2938 строк из 800 000 за 1172 мс
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#90: 2009-11-05 13:20:31 ЛС | профиль | цитата
Tad писал(а):
осталось заняться точкой doLoad визуальных компонент

Лучше -- doAdd, сильно похоже на то, что она тормозит и очень сильно
------------ Дoбавленo в 13.39:
Гы. Вот это бред. См. внимательно


procedure THIWinList._work_doLoad;
var
fn:string;
Lst:PStrList;
begin
fn := ReadString(_Data,_data_FileName,_prop_FileName);
if FileExists(fn) then
begin
Control.Clear;
Lst := NewStrList;
Lst.LoadFromFile(fn);
if Lst.Count > 0 then
SetStrings(Lst.text);
Lst.Free;
_hi_CreateEvent(_Data,@_event_onChange);
end;
end;

Очищаем контрол и создаем один StrList. Но а зачем вот это использовать-то


procedure THIWinList.SetStrings;
var
List:PStrList;
i:integer;
begin
List := NewStrList;
List.Text := Value;
Control.Clear;
for i := 0 to List.Count-1 do
Control.Add(List.Items[i]);
List.free;
end;
Еще раз очищать контрол и создавать еще один StrList Вот вам и тормоза

Почему не сделать бы вот так



procedure THIWinList._work_doLoad;
var
fn:string;
Lst:PStrList;
i:integer;
begin
fn := ReadString(_Data,_data_FileName,_prop_FileName);
if FileExists(fn) then
begin
Control.Clear;
Lst := NewStrList;
Lst.LoadFromFile(fn);
if Lst.Count > 0 then
for i := 0 to Lst.Count-1 do
Control.Add(Lst.Items[i]);
Lst.Free;
_hi_CreateEvent(_Data,@_event_onChange);
end;
end;



карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)