Внимательность.jpg
Этот топик читают: Гость
Ответов: 8926
Рейтинг: 823
|
|||
Different, вот здесь
|
|||
карма: 19 |
| ||
файлы: 1 | Внимательность.jpg [23.4KB] [906] |
Ответов: 29
Рейтинг: 0
|
|||
не-а, Леонид!
пробовал, не прокатило - то ли кровь не голубая и слишком серый, то ли в плеяданских засланцах меня заподозрили - но ИИ пишет что ПРАВ недостаточно. ха! |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Different,[flood] пофлудите ещё, либо забанят, либо права появятся (без шуток, по количеству постов) [/flood]
|
|||
карма: 1 |
|
Ответов: 29
Рейтинг: 0
|
|||
ну ладно, поиграйтесь еще в vip-раскраску.
мне это не интересно. ------------ Дoбавленo в 12.53: Хотел вставить скриншот из своего пакета - не получилось, поэтому сделал как пример на делфи пакете.
Код компонента подключенного на эту точку оформлен как ассемблерная подпрограмма, и предварен меткой с именем совпадающим с именем Work-точки компонента. doBeep: ldi temp,255 out PortB,temp // ну это типа код моего компонента Beep А теперь сам вопрос: линк идущий с верхней точки Hub-а "doEvent1 - onEvent1" выведет в целевой код подпрограммы doBeep, doNext и doText, а мне нужно чтобы линк подключенный на точку хаба "doEvent2 - onEvent1", "doEvent3 - onEvent1", "doEvent4 - onEvent1" и т.д. не выводил повторно всю подпрограмму, а только делал обращение к ней по имени точки. Например так - RCALL doBeep >> doNext >> doText. Это ассемблерный вариант вызова подпрограммы. Это тоже самое, как многократно делать обращение к функции, прописанной где-то один раз. Как быть? |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Different, я не вижу тут проблемы. Идея такая (тут псевдокод, в FTCG сам перепишешь):
code_25697.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_25697.txt [231B] [771] |
Ответов: 29
Рейтинг: 0
|
|||
точно,
че-то я притупил, я же этим приемом постоянно пользуюсь, например когда нужно дубликаты одного компонента на схеме различать. тормоз.. |
|||
карма: 0 |
|
Ответов: 316
Рейтинг: 21
|
|||
Подскажите как реализовать
Есть три элемента два посылают event один принимает через супер хаб у каждого есть своя глобальная переменная нужно чтоб у всех переменных оказалось одно и тоже число пример элементов: code_31535.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_31535.txt [226B] [446] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Если хотите изучить FTCG, то смотрите примеры компонентов в других пакетах, использующих кодогенератор данного типа. Например, Web, Python, VBS и другие... Скорее всего, нужный Вам компонент уже кто-нибудь сделал или найдете ответ на свой вопрос.
|
|||
карма: 6 |
|
Ответов: 316
Рейтинг: 21
|
|||
Nic, Я и смотрю, что могу копирую чего нет спрашиваю в каждом пакете есть уникальные особенности, это уникальность моего пакета, маловероятно что это где-то реализовано (я делаю интерпретационную оболочку).
|
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Попробуй объяснить необходимость такой реализации.
Раз число должно быть везде одинаковым - предполагаю, глобальная переменная должна быть одна. Не уверен, но в приведенных кодах глобальные переменные используются зря: вероятно, более целесообразно использовать переменные, объявленные по var(); такие переменные доступны только в данной копии компонента. При изучении FTCG, наверное, самое сложное - проектировать скелет пакета (взаимосвязи между компонентами). |
|||
карма: 26 |
|
Ответов: 316
Рейтинг: 21
|
|||
http://ivi.net.ua/hion/Neuro_K1_R1.pdf
Смотрим в pdf. Это малинкий интерпретатор hiasm в нутрии устройства. Есть 25 ячеек, каждая из которых привязана к определенному действию и событию. Вот я и пытаюсь сформировать этот файлик. Вот набросок проекта, пока эта возможность не реализована(if еще не сделал) [url]http://ivi.net.ua/hion/Rele R1.rar[/url] Набросок инструкции к опытному образцу http://ivi.net.ua/hion/R1_Inform_Last.pdf ------------ Дoбавленo в 14.41: Пришла идея. А как можно имя переменной сохранить как строку тогда передать её через событие, добавит в массив элемента а в конце сборки всем элементам каждого массива наддать одно значение? |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Если есть глобальная переменная, значит её имя не генерируется автоматически. А создать сразу все необходимые переменные массивов?
Имя переменной можешь выдавать в поток: event(onEvent1, 'my_var')
Получить или установить её значение можно через sys.gvarfind(), sys.gvargetvalue(), sys.gvarsetvalue() Прочие системные вызовы |
|||
карма: 26 |
|
Ответов: 316
Рейтинг: 21
|
|||
Это только опытный образец. В готовом контроллере все выглядит так.
Есть блок который может дублироваться, когда мы выносим новый элемент на панель в ячейку блока ставится количество одинаковых задействованных блоков. То есть количество глобальных переменных всегда будет изменятся. |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Значит должна быть одна глобальная переменная, с которой работать как с массивом.
|
|||
карма: 26 |
|
Ответов: 316
Рейтинг: 21
|
|||
Еще вопрос, а можно как то обнаружить что такой тип такого элемента уже задействован в схеме?
------------ Дoбавленo в 15.16: Netspirit писал(а): Значит должна быть одна глобальная переменная, с которой работать как с массивом. |
|||
карма: 1 |
|