по аналогии с Finder сделал мультик, добавил внешнее свойсто, вставил иконку, описание, подсказки.
файл sha поместил в HiAsmElementsDelphiulib
при запуске хасма элемент виден, в схему вставляется, и даже работает.
но после первой компиляции пропадает внешнее свойство, и приходится хасм перезапускать.
что я делаю не так?
кстати, с Finder такая же ситуация, внешние свойства пропадают
Этот топик читают: Гость
Ответов: 499
Рейтинг: 1
|
|||
карма: 0 |
|
Ответов: 184
Рейтинг: 4
|
|||
Действительно, пропадают. Наверное, глюк.
|
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
эээ... спасайте же, знатоки.
в проекте используется огромное кол-во вот таких блоков (там 4 элемента): code_1251.txt оно ищет подстроку, и в зависимости от наличия-отсутствия выдает входную строку на один или второй выход. таких блоков у меня в каскаде до 20 штук выходит, всего на схеме - около сотни, и еще будет столько же... если делать через "копировать ссылку" - тогда для каждого блока нужен свой элемент "память" с искомым значением. да и в других программах оно требуется. может кто сделает .pas и .ini для добавления на вкладку "Строки", а уже методом сравнения сам пойму, как это делается? ctrl-d нажимал, получившийся .pas схемы нашел, но дальше куда это девать? |
|||
карма: 0 |
| ||
файлы: 1 | code_1251.txt [1.1KB] [199] |
Ответов: 5446
Рейтинг: 323
|
|||
HikeR, используй функцию "шаблон". Подробнее на форуме и во встроенной справке
|
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
поиск по слову "шаблон" дал ваш ответ.
в хелпе на сайте - (Оглавление > HiAsm > Компоненты > Шаблон >) пусто. все, что нашел - "Дабавлена работа с библиотекой пользовательских шаблонов: эта ф-ция позволяет сохранять на диске части схемы с последующей их вставкой на рабочее поле. Шаблоны разделяются на определяемые пользователем группы и сохраняются на диске в виде sha файлов, что позволяет в дальнейшем изменять их, удалить и переносить." это то же копирование-вставка. размер схемы растет, и полученный экзешник не отличается скромными размерами. я тут уже спрашивал, если использовать 20 раз один и тот стандартный компонент то он вставится один раз, остальное оформится вызовами. а сколько раз я этих шаблонов вставил - на столько размер и увеличивается. |
|||
карма: 0 |
|
Разработчик
Ответов: 26160
Рейтинг: 2127
|
|||
HikeR писал(а): если использовать 20 раз один и тот стандартный компонент то он вставится один раз, остальное оформится вызовами.
а сколько раз я этих шаблонов вставил - на столько размер и увеличивается. Если просто вставляешь, то будет увеличиваться, а если копируешь ссылку, то -- нет. Но, в таком случае, если редактируешь в одном, то изменяется -- во всех. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
HikeR писал(а): я тут уже спрашивал, если использовать 20 раз один и тот стандартный компонент то он вставится один раз, остальное оформится вызовамиЧукча видимо не читатель... |
|||
карма: 9 |
|
Ответов: 499
Рейтинг: 1
|
|||
nesco писал(а): Если просто вставляешь, то будет увеличиваться, а если копируешь ссылку, то -- нет. Но, в таком случае, если редактируешь в одном, то изменяется -- во всех.я ж уже говорил: HikeR писал(а): если делать через "копировать ссылку" - тогда для каждого блока нужен свой элемент "память" с искомым значением.Galkov, вы кому? |
|||
карма: 0 |
|
Разработчик
Ответов: 26160
Рейтинг: 2127
|
|||
HikeR, значит, оформи динамический мультик. Прикрути внутри мультика "память", и по ##add занеси туда свой параметр. В таком случае, сколько будет создано мультиков -- столько будет параметров.
|
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
nesco, ты наверное не понял, тут задача примерно такая - в зависимости от наличия в предложении определённых слов и их комбинаций сделать определённое действие.
HikeR писал(а): таких блоков у меня в каскаде до 20 штук выходитКогда алгоритм состоит из одинаковых блоков, надо пользоваться массивами (или списками строк, как в твоём случае). Наверняка в твоей задаче можно выделить определённые группы слов, которые можно поместить в списки и в цикле определять их наличие, а потом использовать IndexToChannel |
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
ну вообще это просто фильтр. он смотрит на наличие определенной группы символов и пропускает строку дальше. одновременно, если есть символы из другой группы, то не пропускает.
tsdima, то есть нужно попробовать циклом проверить вхождение символов из первого массива, если прошел, то на вхождение из второго массива? |
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Ты бы дал пример, может и помогли бы.
|
|||
карма: 1 |
|
Разработчик
Ответов: 26160
Рейтинг: 2127
|
|||
tsdima писал(а): Ты бы дал пример, может и помогли бы.Во-во, а то на пальцах... не получается. |
|||
карма: 22 |
|
Ответов: 499
Рейтинг: 1
|
|||
вот, выдрал кусочек:
code_1257.txt оба варианта работаю, дают правильный результат. но второй какой-то... неуклюжий чтоли, смотрится некрасиво. вариант с принудительным непропусканием приводить не стал, там только условие меняется. [size=-2]------ Добавлено в 17:33 и все таки, если была бы возможность бысто, легко и непринужденно перетащить свой мультиэлемент на панель инструментов (без написания ни единой строчки кода, конфиг не в счет) - стало намного удобнее и производительнее ;) [size=-2]------ Добавлено в 17:43 да, во второй пример можно конечно же подсократить убрав верхний doData, а входную строку напрямую бросить на точку Str элемента Position. |
|||
карма: 0 |
| ||
файлы: 1 | code_1257.txt [4.6KB] [209] |
Ответов: 2125
Рейтинг: 159
|
|||
HikeR писал(а): второй какой-то... неуклюжий чтолиА вот так, уклюжий? code_1259.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_1259.txt [910B] [285] |