Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#106: 2016-04-05 10:59:30 ЛС | профиль | цитата
Galkov писал(а):
А в аттаче я вижу пока 0 закачек

Я пока еще тоже не смотрел.
карма: 22

0
Ответов: 2059
Рейтинг: 132
#107: 2016-04-05 11:22:43 ЛС | профиль | цитата
Galkov писал(а):
flint2, может мы дождемся реальных дел, а не "много буков"

flint2 писал(а):
Всё ОК!
Конечно можно и так "ОК".
Ext =*Головачев*,*Golovachev*, *головачев*,*golovachev*,*.TXT, *.txt,''(пустая) - при подключенной и отключенной точке.
Я не понимаю чего надо?!!!!!!!!
Проверять последнее исправление надо на выдачу на выход оригинальных имен, если они отличаются от приведенных к нижнему регистру
Вот здесь:

А кто спорит-то?
Вот любим мы огульно всё судить!

А в аттаче я вижу пока 0 закачек, но сообщение, что все круто.

Не верь глазам своим!
Я уже переделал и filesearchEx - Ведь оно-же!
http://forum.hiasm.net/forum_serv.php?q=56&id=4271
карма: 6

0
Ответов: 824
Рейтинг: 138
#108: 2016-04-05 13:08:40 ЛС | профиль | цитата
У меня такое чувство, что вы ребята, копаете чуть не в ту сторону.
Зачем все это сунуть в filesearch? Ведь у нас есть компонент Маsk - его нужно дорабатывать, все "чары" и "ловеры", разбор маски и т.п.
А filesearch только вызывать необходимую функцию из Маsk.
Ex.: CompareMaskList(aText,aMask:String; aCaseSensitive:Boolean):Boolean;
Даже, можно предусмотреть несколько функций через overload...
Ну это только мое мнение...
карма: 1

0
Ответов: 9906
Рейтинг: 351
#109: 2016-04-05 15:29:17 ЛС | профиль | цитата
sashaoli, да никто никуда особо не копает.
Что такое "все это"
Просто "множественная маска". И ВСЕ, больше ничего.
И только потому, что это было всего 4 строчки кода в методе multiCmp, а удовольствия -- выше крыши.
И ВСЕ

Если дорабатывать Маsk до альтернатив, а потом еще до чего-то, то конца края видать не будет.
И получится нечто похожее на регулярные выражения.
Ты в коды RegExpr смотрел ???
Их объем, мягко говоря, несравним с кодами hiStrMask.

Был второй вопрос - "нелогичность" того чего получилось из FileSearch за многие годы "методом малых добавок"
Эта нелогичность была признана. И, как я пока думаю - исправлена.
Ну да, коллега nesco потыкал меня носом в некорректности, в которых мне пришлось разобраться.
А теперь-то, я намерен опять забыть за все это на многие годы (если вышеупомянутый коллега опять не найдет чего-то)

sashaoli, обрати внимание: И ВСЕ. Точка.
А вовсе не "копаете"


------------ Дoбавленo в 15.29:
flint2 писал(а):
Я уже переделал и filesearchEx - Ведь оно-же!
http://forum.hiasm.net/forum_serv.php?q=56&id=4271

Нет, не оно.
У тебя стоит {$ifdef F_P}. А должно {$ifdef F_P}
В твоем варианте, под FPC на выход поступают имена, приведенные к нижнему регистру. А должны -- оригинальные.
А ты, при этом говоришь, что все OK. После того, как тебе все разжевали, и в рот положили.

Вот назовешь тебя правильным русским словом после такого, опять же скажешь -- что огульно.
карма: 9

0
Ответов: 2059
Рейтинг: 132
#110: 2016-04-05 16:27:13 ЛС | профиль | цитата
Galkov,
У тебя стоит {$ifdef F_P}. А должно {$ifdef F_P}

Тихо шифером шурша, крыша едет неспеша.
Поэтому пришлось вернуть {$ifdef F_P}UniqueString(Ex);{$endif} перед применением CharLower
См. тот же аттач

Правильно? - правильно.


procedure THIFileSearch._work_doSearch;
var Dr,Ex:String;
begin
Dr := ReadString(_Data,_data_Dir,_prop_Dir);
Ex := ReadString(_Data,_data_Ext,_prop_Ext); {$ifdef F_P}UniqueString(Ex);{$endif}
FWorkExt.SetText(CharLower(@Ex[1]), false);
if Dr = '' then exit;
if Dr[Length(Dr)] <> '\' then Dr := Dr + '\';
if FWorkExt.Count = 0 then FWorkExt.Add('*');
FCount := 0;
FStop := false;
Search(Dr); //там FindData принимает боевые значения
FindData := @Dummy; //восстанавливаем указатель на пустышку
_hi_CreateEvent(_Data,@_event_onEndSearch,FCount);
end;

procedure THIFileSearchEx._work_doSearch;
var Dr,Ex:String;
begin
Dr := ReadString(_Data,_data_Dir,_prop_Dir);
Ex := ReadString(_Data,_data_Ext,_prop_Ext); {$ifdef F_P}UniqueString(Ex);{$endif}
FWorkExt.SetText(CharLower(@Ex[1]), false);
if Dr = '' then exit;
if Dr[Length(Dr)] <> '\' then Dr := Dr + '\';
if FWorkExt.Count = 0 then FWorkExt.Add('*');
FCount := 0;
FStop := false;
Search(Dr); //там FindData принимает боевые значения
FindData := @Dummy; //восстанавливаем указатель на пустышку
_hi_CreateEvent(_Data,@_event_onEndSearch,FCount);
end;

procedure THIFileSearch.OutFiles;
var fn:string; i:integer;
begin
fn := Name; {$ifdef F_P}UniqueString(fn);{$endif} CharLower(@fn[1]);
for i := 0 to FWorkExt.Count-1 do
if (FWorkExt.Items[i]<>'')and StrCmp(fn, FWorkExt.Items[i]) then begin
inc(FCount);
if _prop_FullName then _hi_OnEvent(_event_onSearch, Dir + Name)
else _hi_OnEvent(_event_onSearch, Name);
exit;
end;
if _prop_FullOtherName then _hi_OnEvent(_event_onOtherFiles, Dir + Name)
else _hi_OnEvent(_event_onOtherFiles, Name);
end;
[color=green]
procedure THIFileSearchEx.OutFiles;
var fn:string; i:integer;
begin
fn := Name; {$ifdef F_P}UniqueString(fn);{$endif} CharLower(@fn[1]);
for i := 0 to FWorkExt.Count-1 do
if (FWorkExt.Items[i]<>'')and StrCmp(fn, FWorkExt.Items[i]) then begin
inc(FCount);
if _prop_FullName then _hi_OnEvent(_event_onSearch, Dir + Name)
else _hi_OnEvent(_event_onSearch, Name);
exit;
end;
if _prop_FullOtherName then _hi_OnEvent(_event_onOtherFiles, Dir + Name)
else _hi_OnEvent(_event_onOtherFiles, Name);
end;
После того, как тебе все разжевали, и в рот положили.

И корчит, и корчит из себя чего то.
Чтобы хоть раз я с тобой связался, - боже упаси!
карма: 6

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#111: 2016-04-05 16:37:32 ЛС | профиль | цитата
flint2 писал(а):
Чтобы хоть раз с тобой связался, - боже упаси!

Спокойствие, только спокойствие (Карлсон)
карма: 22

0
Ответов: 2059
Рейтинг: 132
#112: 2016-04-05 16:40:56 ЛС | профиль | цитата
nesco,
Galkov, а ты хам.
Твою люлю лелеют, а ты хамишь.
Негоже.
Баранкин - будь человеком!
И не сержусь я вовсе на тебя.
Дело-то житейское.

карма: 6

0
Ответов: 9906
Рейтинг: 351
#113: 2016-04-06 06:24:47 ЛС | профиль | цитата
Интересно даже, что было бы, если бы я рассказал, что думаю про этот код: http://forum.hiasm.net/forum_serv.php?q=56&id=4257
Если бы сделал элементарное профессиональное действие

flint2, плюнь на все, не твое это.
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#114: 2016-04-12 10:24:31 ЛС | профиль | цитата
Galkov писал(а):
опциональность регистровой независимости сравнений -- я не обсуждаю
А зря.



карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1filesearch_reg.gif [5.5KB] [596]
Ответов: 9906
Рейтинг: 351
#115: 2016-04-12 14:58:06 ЛС | профиль | цитата
Что "зря"
Зря, не забиваю мозги себе ерундой:
Galkov писал(а):
Несложные и непринципиальные вопросы.
Так что ли ???

Не ведусь на сомнительную аргументацию: приведенные тобой картинки (прости господи) -- это результаты ТУПОГО приведения оригинальных имен к верхнему регистру. И все по той же причине -- тот, кто это делал, считал регистровую зависимость ненужной.
И не надо делать умное лицо - нет там больше не фига.

И ведь, что интересно, я ни с кем на этот предмет не спорю:
Galkov писал(а):
мне более, или менее -- все равно.
Или именно это и "зря" ???

карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#116: 2016-04-12 15:32:14 ЛС | профиль | цитата
Так че, добавляем последние исправления (new2), или дальше кто тестировать будет
карма: 22

0
Ответов: 9906
Рейтинг: 351
#117: 2016-04-12 15:55:06 ЛС | профиль | цитата
Есть народ, которым более важно doInclude и CaseSensitive

Galkov писал(а):
nesco, решай сам про все эти "хотелки". В смысле: мне более, или менее -- все равно.


карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#118: 2016-04-12 16:27:35 ЛС | профиль | цитата
Пофиксил пока как есть
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#119: 2016-04-12 22:04:05 ЛС | профиль | цитата
Ищем по маске ?
Значит должна быть возможность задать любую нужную пользователю маску.
И приводить или не приводить маску к LowerCase должен решать пользователь. ИМХО.
А не
Galkov писал(а):
Не ври, не нужно тебе этого

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
119
Сообщение
...
Прикрепленные файлы
(файлы не залиты)