Add(MainForm,2953706,364,210)
{
link(onCreate,15059324:doData,[])
}
Add(Replace,663293,490,224)
{
SubStr="2"
link(onReplace,2953706:doCaption,[(537,230)(537,272)(338,272)(338,216)])
link(Str,7987530:Value,[])
}
Add(DoData,15059324,427,224)
{
Data=String(проверка)
link(onEventData,663293:doReplace,[])
}
Add(Memory,7987530,490,175)
{
Default=String(123)
}
Этот топик читают: Гость
Ответов: 207
Рейтинг: 14
|
|||
Странная работа точек doReplace и Str
|
|||
карма: 2 |
|
Ответов: 4630
Рейтинг: 749
|
|||
И чего странного? Заменить символ "2" (SubStr) в строке "123" (Str) на строку "проверка" (Dest).
Строка в Dest попадает из потока, поскольку для нее не указано ни значение в свойстве, ни на верхней точке (как в SubStr и Str). Это поведение (порядок выбора данных из потока) описано в справке. Странно, а почему верхняя точка в компоненте записана как "Sub_str"? Что-то мешало назвать её как и свойство "SubStr"? Редактировалось 1 раз(а), последний 2020-07-03 12:38:16 |
|||
карма: 26 |
|
Ответов: 207
Рейтинг: 14
|
|||
Netspirit писал(а): Это поведение (порядок выбора данных из потока)Спасибо, не знал. |
|||
карма: 2 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Netspirit писал(а): записана как "Sub_str"А это у кого как Replace.jpg |
|||
карма: 19 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Леонид, верхняя точка.
|
|||
карма: 26 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Netspirit, ой, и правда
И прецедентов более не нашёл Может Dilma тайный смысл заложил |
|||
карма: 19 |
|
Ответов: 207
Рейтинг: 14
|
|||
А почему ArrayFind не находит строку?
В свойстве index = 0. Значение из потока должно идти на value.
|
|||
карма: 2 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Joiner, на вторую точку "Индекс..." ничего не подано, поэтому ваша строка для поиска читается в индекс и не доходит до "строка для поиска".
"0" в свойствах в данном случае означает "свойство не указано", что в общем-то не очень правильно.
Редактировалось 1 раз(а), последний 2020-07-04 12:58:28 |
|||
карма: 19 |
|
Ответов: 207
Рейтинг: 14
|
|||
Леонид писал(а): "0" в свойствах в данном случае означает "свойство не указано", что в общем-то не очень правильно.Я про это и говорю, выходит "0" можно указать только на точку. |
|||
карма: 2 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Joiner, можно и так.
|
|||
карма: 25 |
| ||
Голосовали: | Joiner |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Леонид писал(а): что в общем-то не очень правильноЛеонид, «много копий было сломано» по поводу правила чтения данных при обращении к левым точкам. Но ничего более разумного предложено не было. В принципе можно вообще отказаться от верхних точек, но в некоторых случаях они удобны для наглядности происходящего. В данном же случае, достаточно изменить у свойства Index значение по умолчанию на -1 например. Но никто на это не пойдет из-за «проблем совместимости с гипотетическими никому неизвестными в природе схемами». |
|||
карма: 6 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Nic, более разумного и нет Но когда "0" не считается за "установленное" свойство, здесь или, к примеру в "Plotter" свойство MinH, то и возникают подобные коллизии
|
|||
карма: 19 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Nic писал(а): В данном же случае, достаточно изменить у свойства Index значение по умолчанию на -1 например. Но никто на это не пойдет из-за «проблем совместимости с гипотетическими никому неизвестными в природе схемами».А кто мешает это сделать только для себя? В среде вроде все необходимое для этого есть, и даже не надо лезть в компоненты. Достаточно установить нужное значение один раз и нажать зеленую галочку внизу свойств компонента. В папке %Hiasm%\Elements\Delphi\prof\ создастся файл формата <Name>%cur.prf, который будет менять свойства на нужные всегда, когда компонент будет помещаться на поле. Если хотите вернуться в каком-то компоненте на дефолтные значения, то просто удалите нужный <Name>%cur.prf Редактировалось 1 раз(а), последний 2020-07-04 16:54:35 |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
nesco писал(а): А кто мешает это сделать только для себя?nesco, создание шаблона здесь не причём. Речь идёт о невозможности использования свойства для значения 0: Joiner писал(а): Я про это и говорю, выходит "0" можно указать только на точку. |
|||
карма: 6 |
|
Ответов: 8926
Рейтинг: 823
|
|||
nesco, в случае с графиком это не поможет, мне нужен график от "0" до "10", а он, паразит, начинает автоматически выбирать нижний диапазон
|
|||
карма: 19 |
|