Вверх ↑
Этот топик читают: Гость
Ответов: 8923
Рейтинг: 823
#106: 2011-11-05 23:36:52 ЛС | профиль | цитата
Different, вот здесь
Внимательность.jpg
карма: 19

0
файлы: 1Внимательность.jpg [23.4KB] [903]
Ответов: 29
Рейтинг: 0
#107: 2011-11-05 23:48:34 ЛС | профиль | цитата
не-а, Леонид!
пробовал,
не прокатило - то ли кровь не голубая и слишком серый, то ли в плеяданских засланцах меня заподозрили - но ИИ пишет что ПРАВ недостаточно. ха!
карма: 0

0
Ответов: 3889
Рейтинг: 362
#108: 2011-11-05 23:58:31 ЛС | профиль | цитата
Different,[flood] пофлудите ещё, либо забанят, либо права появятся (без шуток, по количеству постов) [/flood]
карма: 1

0
Ответов: 29
Рейтинг: 0
#109: 2011-11-06 12:53:38 ЛС | профиль | цитата
ну ладно, поиграйтесь еще в vip-раскраску.
мне это не интересно.
------------ Дoбавленo в 12.53:
Хотел вставить скриншот из своего пакета - не получилось, поэтому сделал как пример на делфи пакете.


Make(delphi)
ver(4.04 build 184)
Add(MainForm,2953706,28,21)
{
Width=162
Height=75
}
Add(Hub,14158387,196,119)
{
link(onEvent1,1973158:doEvent1,[(231,125)(231,76)])
link(onEvent2,16037598:doTimer,[])
}
Add(Beep,4104535,287,70)
{
link(onBeep,6159127:doNext,[])
}
Add(Timer,16037598,245,126)
{
Enable=1
link(onTimer,1973158:doEvent2,[(289,132)(289,108)(240,108)(240,83)])
}
Add(Hub,1973158,252,70)
{
InCount=2
OutCount=1
link(onEvent1,4104535:doBeep,[])
}
Add(CheckBox,15495628,147,119)
{
Left=5
Top=5
link(onCheck,14158387:doEvent1,[])
}
Add(Counter,6159127,343,70)
{
Max=100000
link(onNext,8465011:doText,[])
}
Add(Edit,8465011,399,70)
{
Left=75
Top=5
Width=70
}
Есть схема. Сама схема ни о чем, просто для визуальной наглядности. К верхнему по схеме Hub-у подключены три компонента. У первого компонента одна Work-точка с именем, допустим - doBeep.
Код компонента подключенного на эту точку оформлен как ассемблерная подпрограмма, и предварен меткой с именем совпадающим с именем 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

0
Ответов: 5446
Рейтинг: 323
#110: 2011-11-06 14:12:32 ЛС | профиль | цитата
Different, я не вижу тут проблемы. Идея такая (тут псевдокод, в FTCG сам перепишешь):
code_25697.txt
карма: 1

0
файлы: 1code_25697.txt [231B] [765]
Ответов: 29
Рейтинг: 0
#111: 2011-11-06 14:57:38 ЛС | профиль | цитата
точно,
че-то я притупил, я же этим приемом постоянно пользуюсь, например когда нужно дубликаты одного компонента на схеме различать.
тормоз..
карма: 0

0
Ответов: 316
Рейтинг: 21
#112: 2013-08-05 12:58:49 ЛС | профиль | цитата
Подскажите как реализовать
Есть три элемента
два посылают event
один принимает через супер хаб
у каждого есть своя глобальная переменная
нужно чтоб у всех переменных оказалось одно и тоже число
пример элементов:
code_31535.txt
карма: 1

0
файлы: 1code_31535.txt [226B] [445]
Главный модератор
Ответов: 2999
Рейтинг: 396
#113: 2013-08-05 13:48:57 ЛС | профиль | цитата
Если хотите изучить FTCG, то смотрите примеры компонентов в других пакетах, использующих кодогенератор данного типа. Например, Web, Python, VBS и другие... Скорее всего, нужный Вам компонент уже кто-нибудь сделал или найдете ответ на свой вопрос.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 316
Рейтинг: 21
#114: 2013-08-05 14:09:48 ЛС | профиль | цитата
Nic, Я и смотрю, что могу копирую чего нет спрашиваю в каждом пакете есть уникальные особенности, это уникальность моего пакета, маловероятно что это где-то реализовано (я делаю интерпретационную оболочку).
карма: 1

0
Ответов: 4629
Рейтинг: 749
#115: 2013-08-05 18:29:07 ЛС | профиль | цитата
Попробуй объяснить необходимость такой реализации.
Раз число должно быть везде одинаковым - предполагаю, глобальная переменная должна быть одна.

Не уверен, но в приведенных кодах глобальные переменные используются зря: вероятно, более целесообразно использовать переменные, объявленные по var(); такие переменные доступны только в данной копии компонента.

При изучении FTCG, наверное, самое сложное - проектировать скелет пакета (взаимосвязи между компонентами).
карма: 26

0
Ответов: 316
Рейтинг: 21
#116: 2013-08-06 14:41:01 ЛС | профиль | цитата
http://ivi.net.ua/hion/Neuro_K1_R1.pdf
Смотрим в pdf.
Это малинкий интерпретатор hiasm в нутрии устройства.
Ему нужен обрезанный sha. Чтоб соединить два модуля между собой, нужно прописать в ячейки одинаковые значения.
Есть 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

0
Ответов: 4629
Рейтинг: 749
#117: 2013-08-06 14:56:39 ЛС | профиль | цитата
Если есть глобальная переменная, значит её имя не генерируется автоматически. А создать сразу все необходимые переменные массивов?

Имя переменной можешь выдавать в поток:
event(onEvent1, 'my_var')

Получить или установить её значение можно через sys.gvarfind(), sys.gvargetvalue(), sys.gvarsetvalue()
Прочие системные вызовы
карма: 26

0
Ответов: 316
Рейтинг: 21
#118: 2013-08-06 15:08:13 ЛС | профиль | цитата
Это только опытный образец. В готовом контроллере все выглядит так.
Есть блок который может дублироваться, когда мы выносим новый элемент на панель в ячейку блока ставится количество одинаковых задействованных блоков. То есть количество глобальных переменных всегда будет изменятся.
карма: 1

0
Ответов: 4629
Рейтинг: 749
#119: 2013-08-06 15:12:16 ЛС | профиль | цитата
Значит должна быть одна глобальная переменная, с которой работать как с массивом.
карма: 26

0
Ответов: 316
Рейтинг: 21
#120: 2013-08-06 15:16:10 ЛС | профиль | цитата
Еще вопрос, а можно как то обнаружить что такой тип такого элемента уже задействован в схеме?
------------ Дoбавленo в 15.16:
Netspirit писал(а):
Значит должна быть одна глобальная переменная, с которой работать как с массивом.
я об этом и думаю
карма: 1

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