Вверх ↑
Этот топик читают: Гость
Ответов: 72
Рейтинг: 1
#151: 2023-11-24 13:43:16 ЛС | профиль | цитата
sla8a, все верно
inclvl ()
Увеличивает на 1 смещение печатаемого кода в право

declvl ()
Уменьшает на 1 смещение печатаемого кода в лево

А у меня несколько иная проблема, происходит как будто переворот...

Ожидаемый результат :
# BLK_EVENTS
code (BLK_EVENTS1) - Поток данных из точки другого компонента (Для формирования целевого кода)
code (BLK_EVENTS2) - Поток данных из точки другого компонента (Для формирования целевого кода)

Факт :
code (BLK_EVENTS1) - Поток данных из точки другого компонента (Для формирования целевого кода)
code (BLK_EVENTS2) - Поток данных из точки другого компонента (Для формирования целевого кода)
# BLK_EVENTS

на примере видно что у блока block.select(BLK_EVENTS) текст кода печатается с верху относительно println('# BLK_EVENTS')

И на картинке также видно что у
	old=block.select(BLK_FUNC) 
block.inclvl()
println('# BLK_FUNC')
block.select(old )
таких проблем нет .
Редактировалось 5 раз(а), последний 2023-11-24 13:46:25
карма: 1

0
Ответов: 2489
Рейтинг: 698
#152: 2023-11-24 14:07:08 ЛС | профиль | цитата
Pavel писал(а):
таких проблем нет .
А если и в BLK_EVENTS использовать block.inclvl()? Какой результат будет?
карма: 11

0
Ответов: 72
Рейтинг: 1
#153: 2023-11-24 14:21:10 ЛС | профиль | цитата
sla8a,

	old = block.select(BLK_EVENTS)
println('# BLK_EVENTS')
block.select(BLK_EVENTS )

Результат:

BLK_EVENTS1
BLK_EVENTS2
# BLK_EVENTS

и

	old = block.select(BLK_EVENTS)
block.inclvl()
println('# BLK_EVENTS')
block.select(BLK_EVENTS )

результат:

BLK_EVENTS1
BLK_EVENTS2
# BLK_EVENTS

Редактировалось 2 раз(а), последний 2023-11-24 14:21:50
карма: 1

0
Ответов: 2489
Рейтинг: 698
#154: 2023-11-24 14:43:17 ЛС | профиль | цитата
Если это так, то почему у выложенного выше BLK_FUNC нет смещения в право с block.inclvl(). А declvl() упрется в начало строки или перескочит на новую?
карма: 11

0
Ответов: 72
Рейтинг: 1
#155: 2023-11-24 14:49:26 ЛС | профиль | цитата
sla8a писал(а):
А declvl() упрется в начало строки или перескочит на новую?

Упрется в начало строки.

sla8a писал(а):
Если это так, то почему у выложенного выше BLK_FUNC нет смещения в право с block.inclvl()

Там есть смещение и оно как раз правильное. ( такого вида и я ожидал от всех блоков, но нет....)

--- Добавлено в 2023-11-24 14:58:36

Вангую что это лечится только
block.copyhere(BLK_FUNC)
Копирует содержимое блока с именем name в конец текущего блока и block.delete(BLK_FUNC)
Удаляет блок с именем name
как это было реализовано у Iarspider в пакете Python
но логика мне работы удаления, вставки непонятна , если это окажется правдой то это будет грустно для меня.

Редактировалось 1 раз(а), последний 2023-11-24 14:58:36
карма: 1

0
Ответов: 2060
Рейтинг: 28
#156: 2023-11-24 20:56:52 ЛС | профиль | цитата
Pavel, будет интересно посмотреть на твой пакет. Как я понимаю ты под Питон 3 делаешь пакет?
карма: 1

0
Ответов: 4676
Рейтинг: 768
#157: 2023-11-24 22:02:18 ЛС | профиль | цитата
У тебя, вероятно, ошибка в фрагментах вида:
old = block.select(BLK_LOC)
....
block.select(BLK_LOC)

Наверное, предполагалось
old = block.select(BLK_LOC)
....
block.select(old)

Кроме того, при вызове событий может требоваться создание временных блоков и подстановка их названий в глобальные переменные, откуда в них будут писать разные компоненты. Просмотри всю тему, может найдешь решение.

Примеры можно смотреть в пакете Андроид, хотя может быть сложновато для понимания.
карма: 26

0
Ответов: 72
Рейтинг: 1
#158: 2023-11-25 23:46:56 ЛС | профиль | цитата
Эдик,Да верно, пакет Python3, это пакет Python который делал еще Iarspider,просто с частично исправленными компонентами (по мере их надобности для меня и добавлением собственных).

Netspirit,
Netspirit писал(а):
Наверное, предполагалось
old = block.select(BLK_LOC)
....
block.select(old)

Спасибо за замечание, я это заметил и исправил практически сразу после опубликования первого поста в этой ветке, но мой вопрос от этого не отпал.

Netspirit писал(а):
Примеры можно смотреть в пакете Андроид, хотя может быть сложновато для понимания.

Спасибо за наводку посмотрю.
карма: 1

0
Ответов: 2060
Рейтинг: 28
#159: 2023-11-26 18:47:25 ЛС | профиль | цитата
Pavel, я сейчас как раз изучаю Python 3. Так что твой пакет интересен для меня.
карма: 1

0
Ответов: 72
Рейтинг: 1
#160: 2023-11-27 17:57:39 ЛС | профиль | цитата
Эдик, Ответил в лс.
карма: 1

0
Ответов: 234
Рейтинг: 7
#161: 2026-05-15 14:14:23 ЛС | профиль | цитата
Всех приветствую.Решил попробовать создать пакет микроконтроллера на языке C с заголовочниками с расширением "h". Делаю заготовку пакета. Делал все по инструкции из первого поста. Но столкнулся с одной проблемой: при компиляции отладка пишет "Ошибка компиляции, код [3]:точка входа в библиотеку не найдена". Расширение hws, а откомпилированный формат "c".
Файл HIS:
function run(){

sys.addpack("stmicroelectronics","STMicroelectronics","","hws");
sys.setcompiler("stmicroelectronics","Download");
sys.setcompiler("stmicroelectronics","Copy");

sys.addproject("stmicroelectronics","EntryPoint","Новый проект","Создать программу на базе собранного проекта STM32CubeMX","c","make_stmicroelectronics.dll");

}
Папку new с файлом EntryPoint.sha создал (там заменил название).
Make(STMicroelectronics)
Add(EntryPoint,2953706,21,105)
{
}
Без папки та же ошибка

Заметил, что файлы не обновляются при повторном запуске двух файлов bat и his и нет скрипта удалить пакет

Редактировалось 3 раз(а), последний 2026-05-15 14:30:18
карма: 1
Сообщество Hiasm в VK https://vk.com/club_hiasm (компоненты, статьи, схемы).
0
Ответов: 4676
Рейтинг: 768
#162: 2026-05-17 18:34:38 ЛС | профиль | цитата
1) Пакет и проект в окне создания новой схемы - появились?
2) Файл direct.inc настроен, и после выполнения make.bat файл CodeGen.dll появился?
(Перед последующими запусками make.bat возможно нужно закрывать HiAsm).
3) В папке make файл make_xxxx.dll присутствует?
карма: 26

0
Ответов: 234
Рейтинг: 7
#163: 2026-06-01 09:30:02 ЛС | профиль | цитата
Netspirit, Да получилось. Проблема была в PackCreator - он не умеет вносить изменения в БД SQLITE по наименованию пакета. Т.е если ошибся - по новой. Причина в INSERT, а надо задать конструкцию INSERT ON CONFLICT DO UPDATE SET.

Редактировалось 3 раз(а), последний 2026-06-01 09:32:44
карма: 1
Сообщество Hiasm в VK https://vk.com/club_hiasm (компоненты, статьи, схемы).
0
Ответов: 1310
Рейтинг: 49
#164: 2026-06-15 10:44:01 ЛС | профиль | цитата
strannik_nebes, как раз программирую (вайблю))) сейчас для STM32, делаю мод для синта Касио своего. Свою файловую систему почти разработал для флешек Winbond.. Думаю тоже пакет потом написать для Ардуино/ STM32, а также для Three.js чтобы 3Д миры создавать для веб.. В общем, самый ближайший к C++ из готовых пакетов - вроде PocketPC - там можно инлайны на С++ уже вставлять.

Редактировалось 3 раз(а), последний 2026-06-15 10:46:36
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
164
Сообщение
...
Прикрепленные файлы
(файлы не залиты)