Tad писал(а):
Assasin, писать комментарии к каждой строчке кода - дурной тон.Зачем к каждой, только к определениям функций! Но уже поздно, я разобрал и у себя прокомментировал
#pas
if i <> 0 then
begin
//...
end
else
begin
startbl := endbl;
endbl := '';
end;
if endbl = '' then
begin
endbl := startbl;
//...
Мда, весьма оригинально копировать туда-сюда строки Когда можно было бы без дополнительной проверки и без переносов:
#pas
i := PosABM('{**x}', endbl);
if i <> 0 then
begin
startbl := Copy(endbl, 1, i - 1);
Delete(endbl, 1, i + 4);
include := false;
end
else
begin
i := PosABM('{**i}', endbl);
if i <> 0 then
begin
startbl := Copy(endbl, 1, i - 1);
Delete(endbl, 1, i + 4);
end
else
begin
startbl := endbl;
endbl := '';
end;
include := true;
end;
А вообще, nesco, давай не будем засорять форум и поговорим в руме (если успеешь зайти до того, как я выйду).
------------ Дoбавленo в 20.33:
А собственно говоря, а зачем оно так?
#pas
startbl := trim(startbl);
endbl := trim(endbl);
А вот и решение для работающих пробелов, правда оно хитрое получилось Заменить функцию Trim в файле hiMultiBlockFind.pas на эту:
#pas
function Trim(Str: string): string;
var
L: integer;
begin
Result := Str;
L := Length(Result);
if Result[L] <> '\' then
while (L > 0) and (Result[L] <= ' ') do Dec(L)
else Dec(L);
SetLength(Result, L);
L := 1;
if Result[L] <> '\' then
while (L <= Length(Result)) and (Str[L] <= ' ') do Inc(L)
else Inc(L);
Delete(Result, 1, L - 1);
end;
Add(MainForm,2953706,357,189)
{
link(onCreate,8248298:doMultiBlockFind,[])
}
Add(MultiBlockFind,8248298,406,203)
{
TagList="{**s}\ \{**x}\ \{**e}"
link(Text,15780894:Text,[])
link(onResult1,11062714:doMessage,[])
}
Add(Edit,15780894,406,154)
{
Left=405
Top=150
Text="data dt dat"
}
Add(Message,11062714,455,203)
{
}