zhorik5 писал(а):
Единственное сам компонент FormatStr не совсем корректно воспринимает комментарии, строка в которой написан комментарий остается пустой в видимой форме. И дальнейшая обработка этих строк будет не совсем правильно происходить - например перебор строк, будут попадаться пустые строки!В своём примере я показал один из возможных способов как можно комментировать что-либо в FormatStr.
Вот ещё один.
Add(MainForm,4714677,210,154)
{
link(onCreate,12451805:doString,[])
}
Add(FormatStr,12451805,266,168)
{
@Hint=#33:Здесь маска текста с коментариями|
Mask="%1=%2 ;\r\nAE3031323435CD=AE3033323435CF // коментарий №1 \r\n343739323031=363537383930 // коментарий №2 \r\n// коментарий №3 \r\n // коментарий №4\r\n// коментарий №5\r\n// коментарий №6 \r\n// коментарий №7\r\n739323031=363537383930 // замена серийного номера\r\n"
link(onFString,16237437:doReplace,[])
link(Str1,3879094:Text,[])
link(Str2,14551835:Text,[(279,152)(286,152)])
}
Add(VisualStrings,3879094,266,98)
{
Lines=#5:12345|
Width=39
}
Add(VisualStrings,14551835,280,126)
{
Lines=#5:54321|
Width=39
}
Add(Memo,8629399,427,147)
{
Left=440
Top=165
Align=5
ScrollBars=3
}
Add(RE_Replace,16237437,322,168)
{
@Hint=#18:Удаляет коментарий|
Expression="(?m-g)//(.+?)($)"
link(onReplace,5764973:doReplace,[])
AddHint(-104,73,122,13,@Hint)
}
Add(RE_Replace,5764973,371,168)
{
@Hint=#21:Удаляет пустые строки|
Expression="\r\n\W*\r\n"
ReplaceStr="\r\n"
link(onReplace,8629399:doText,[])
AddHint(36,73,135,13,@Hint)
}