Вверх ↑
Этот топик читают: Гость
Ответов: 188
Рейтинг: 2
#1: 2023-11-30 09:03:08 ЛС | профиль | цитата
Народ бывалый. Подскажите, пожалуйста. Как комментировать строки в компоненте? FormatStr ну и в подобных ему, где можно вводить текст через редактор.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 2200
Рейтинг: 673
#2: 2023-11-30 09:25:07 ЛС | профиль | цитата
zhorik5, не понял о чем вопрос. О каких комментариях речь?
карма: 11

0
Ответов: 188
Рейтинг: 2
#3: 2023-11-30 10:58:52 ЛС | профиль | цитата
В редакторе когда задаёшь условия формирования строк, бывает список условий достаточно большой.
Ну например
%1=%2;
AE3031323435CD=AE3033323435CF
343739323031=363537383930
%3*%5
.
.
.
Ну и другие условия.
Как откомментировать что в данном случае
343739323031=363537383930 замена серийного номера
карма: 0

0
Ответов: 2200
Рейтинг: 673
#4: 2023-11-30 13:23:02 ЛС | профиль | цитата
Понятней не стало, может кто другой понял о чем речь и сможет помочь.

FormatStr формируют строку по заданной маске (свойство Mask) и заполняет её подстроками и каждая подстроками в маске обозначается своим номером (%1,%2,%3 и т.д.). О каких комментариях речь так и не плнял.
карма: 11

0
Ответов: 699
Рейтинг: 145
#5: 2023-11-30 14:41:58 ЛС | профиль | цитата
zhorik5 писал(а):
В редакторе когда задаёшь условия формирования строк, бывает список условий достаточно большой.


Add(MainForm,2953706,147,140)
{
link(onCreate,12451805:doString,[])
}
Add(FormatStr,12451805,217,154)
{
@Hint=#33:Здесь маска текста с коментариями|
Mask="%1=%2;\r\nAE3031323435CD=AE3033323435CF <* коментарий №1 *>\r\n343739323031=363537383930 <* коментарий №1 *>\r\n\r\n<* Ну и другие условия. *>\r\n<* Как откомментировать что в данном случае *>\r\n343739323031=363537383930 <* замена серийного номера *>"
link(onFString,12698542:doSearch,[])
link(Str1,3879094:Text,[])
link(Str2,14551835:Text,[(230,138)(237,138)])
AddHint(-72,76,130,26,@Hint)
}
Add(BlockFind,12698542,273,154)
{
Delete=0
StartBlock="<*"
EndBlock="*>"
link(onEndSearch,8629399:doAdd,[])
}
Add(VisualStrings,3879094,217,84)
{
Lines=#5:12345|
Width=39
}
Add(VisualStrings,14551835,231,112)
{
Lines=#5:54321|
Width=39
}
Add(Memo,8629399,357,161)
{
Left=440
Top=165
Align=5
ScrollBars=3
}

карма: 15

0
Ответов: 2200
Рейтинг: 673
#6: 2023-11-30 15:13:34 ЛС | профиль | цитата
Судя по схеме, Gunta тоже не понял о каких комментариях речи и на всякий случай описал все возможные. Интересно хоть угадал с каким
карма: 11

0
Ответов: 284
Рейтинг: 23
#7: 2023-11-30 15:27:03 ЛС | профиль | цитата
Делаю так же как Gunta но использую (*КОММЕНТАРИЙ*) и выставляю в редакторе Delphi, тогда комментарии видны.

Delpsin.png

Редактировалось 1 раз(а), последний 2023-11-30 15:27:32
карма: 2
1
Голосовали:zhorik5
Ответов: 699
Рейтинг: 145
#8: 2023-11-30 15:32:44 ЛС | профиль | цитата
envoy_sky писал(а):
Делаю так же как Gunta но использую (*КОММЕНТАРИЙ*) и выставляю в редакторе Delphi, тогда комментарии видны.


Add(MainForm,4714677,350,182)
{
link(onCreate,12451805:doString,[])
}
Add(FormatStr,12451805,420,196)
{
@Hint=#33:Здесь маска текста с коментариями|
Mask="%1=%2;\r\nAE3031323435CD=AE3033323435CF (* коментарий №1 *)\r\n343739323031=363537383930 (* коментарий №2 *)\r\n\r\n(* Многострочный коментарий \r\n Как откомментировать что в данном случае *)\r\n343739323031=363537383930 (* замена серийного номера *)"
link(onFString,12698542:doSearch,[])
link(Str1,3879094:Text,[])
link(Str2,14551835:Text,[(433,180)(440,180)])
AddHint(-72,76,130,26,@Hint)
}
Add(BlockFind,12698542,476,196)
{
Delete=0
StartBlock="(*"
EndBlock="*)"
link(onEndSearch,8629399:doAdd,[])
}
Add(VisualStrings,3879094,420,126)
{
Lines=#5:12345|
Width=39
}
Add(VisualStrings,14551835,434,154)
{
Lines=#5:54321|
Width=39
}
Add(Memo,8629399,546,203)
{
Left=440
Top=165
Align=5
ScrollBars=3
}

карма: 15

1
Голосовали:envoy_sky
Ответов: 188
Рейтинг: 2
#9: 2023-12-15 00:35:03 ЛС | профиль | цитата
Gunta, envoy_sky, то что надо! Спасибо!

Единственное сам компонент FormatStr не совсем корректно воспринимает комментарии, строка в которой написан комментарий остается пустой в видимой форме. И дальнейшая обработка этих строк будет не совсем правильно происходить - например перебор строк, будут попадаться пустые строки!
в принципе изменить подход написания комментариев например в одну строку
FD456898=DF896854 (* очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень, длинный комментарий в одну строку с описанием действий №1  *)
FD456898=DF896853 (* очень длинный комментарий в одну строку с описанием действий №2 *)
FD456898=DF896852 (* очень длинный комментарий в одну строку с описанием действий №2 *)
решает эту проблему.

Add(MainForm,4714677,546,210)
{
link(onCreate,12451805:doString,[])
}
Add(FormatStr,12451805,616,224)
{
@Hint=#33:Здесь маска текста с коментариями|
Mask="%1=%2;\r\nAE3031323435CD=AE3033323435CF (* коментарий №1 *)\r\n343739323031=363537383930 (* коментарий №2 *)\r\nFD456898=DF896854 (* очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень,очень, длинный комментарий в одну строку с описанием действий №1 *)\r\nFD456898=DF896853 (* очень длинный комментарий в одну строку с описанием действий №2 *)\r\nFD456898=DF896852 (* очень длинный комментарий в одну строку с описанием действий №2 *) \r\n343739323031=363537383930 (* Многострочный коментарий Как откомментировать что в данном случае *)(* замена серийного номера *)"
link(onFString,12698542:doSearch,[])
link(Str1,3879094:Text,[])
link(Str2,14551835:Text,[(629,208)(636,208)])
AddHint(-72,76,130,26,@Hint)
}
Add(BlockFind,12698542,672,224)
{
Delete=0
StartBlock="(*"
EndBlock="*)"
link(onEndSearch,8629399:doAdd,[])
}
Add(VisualStrings,3879094,616,154)
{
Lines=#5:12345|
Width=39
}
Add(VisualStrings,14551835,630,182)
{
Lines=#5:54321|
Width=39
}
Add(Memo,8629399,742,231)
{
Left=440
Top=165
Align=5
ScrollBars=3
}


Редактировалось 3 раз(а), последний 2023-12-15 01:09:41
карма: 0

0
Ответов: 699
Рейтинг: 145
#10: 2023-12-15 19:58:57 ЛС | профиль | цитата
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)
}



Редактировалось 1 раз(а), последний 2023-12-16 07:56:30
карма: 15

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