Создание пользовательского блока (Code-Basic) простым языком.

Статистический опрос.

Мне помогла эта тема разобраться с созданием ПБ.
36
60%
Я уже умел создавать ПБ, но нашел в теме что то новое для себя.
17
28%
Я умею создавать ПБ, ничего нового, но считаю тему полезной.
3
5%
Тема прикольная, но особой пользы от нее я не вижу.
1
2%
Полный бред. Прорабы какие то, квартиранты. Чушь.
3
5%
 
Всего голосов: 60

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Создание пользовательского блока (CODE) простым языком.

Сообщение Sancho »

[ref]Ivan_Kornege[/ref], Иван, как я вижу, меняя в коде значение USE_FONTS, Вы задаёте разный режим работы...
Один из вариантов победить на данном этапе - написать мини-бибку, один хедер, всё в него :)
С дэфайнами - старииииная история.

Отправлено спустя 3 минуты 20 секунд:
Но Автор обещал поправить!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Создание пользовательского блока (Code-Basic) простым языком.

Сообщение Nikan »

.
Последний раз редактировалось Nikan 24 мар 2023, 01:24, всего редактировалось 1 раз.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Создание пользовательского блока (CODE) простым языком.

Сообщение Sancho »

Nikan писал(а): 10 дек 2019, 17:32 да ужжжж проще все в коде написать
[ref]Nikan[/ref], иногда - да. Но при частых экспериментах - замучаешься, да и когда забываешь - тоже злишься. А так сделал пб с бибкой, вставил в проект - и всё.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Создание пользовательского блока (Code-Basic) простым языком.

Сообщение Nikan »

.
Последний раз редактировалось Nikan 24 мар 2023, 01:24, всего редактировалось 1 раз.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Создание пользовательского блока (CODE) простым языком.

Сообщение EgorKa »

Sancho писал(а): 10 дек 2019, 17:24 С дэфайнами - старииииная история.

Отправлено спустя 3 минуты 20 секунд:
Но Автор обещал поправить!
версия 6.2.1 в пб #define принимает , а вот на условные директивы #if, #elif, #else, #endif, #ifdef, #ifndef раскаляется до красноты :yes:
Я вот не понимаю почему функцию void не дает прописывать в DeclareCection. Компилятор IDE не возражает, а в FLProg такие непонятные ограничения.
Последний раз редактировалось EgorKa 10 дек 2019, 20:29, всего редактировалось 1 раз.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Создание пользовательского блока (CODE) простым языком.

Сообщение EgorKa »

Ivan_Kornege писал(а): 10 дек 2019, 17:14 Код компилируется в IDE но невозможно вставить в БП ни в какой версии от 4 до 6.2.1 проверил везде пишет некорректный блок
кстати бывают проблемы если из браузера копирнуть код, то тоже выдает некорректный блок. А если из IDE то не краснеет. С #define так попал раз.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Создание пользовательского блока (CODE) простым языком.

Сообщение edyapd »

[ref]Ivan_Kornege[/ref], так вы выложите, пусть и некорректный блок. И описание, что вы хотите от него. Тогда проще будет.
Я тут по не знанию не в тот раздел ПБ засунул код, тоже писало, что не корректный, долго понять не мог в чём дело.
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Создание пользовательского блока (CODE) простым языком.

Сообщение Ivan_Kornege »

Sancho писал(а): 10 дек 2019, 17:24 Ivan_Kornege, Иван, как я вижу, меняя в коде значение USE_FONTS, Вы задаёте разный режим работы...
Один из вариантов победить на данном этапе - написать мини-бибку, один хедер, всё в него :)
С дэфайнами - старииииная история.
Александр, дэфайн то видимо автор поправил , блок не матерится. А вот ифы , элифы, энлифы которые за решеткой просто не переваривает. Ну и воид тоже не пропускает если в DeclareCection.

Отправлено спустя 13 минут :
EgorKa писал(а): 10 дек 2019, 20:27 кстати бывают проблемы если из браузера копирнуть код, то тоже выдает некорректный блок. А если из IDE то не краснеет. С #define так попал раз.
Это я заметил. Тут есть еще одна закорючка если закомментировать текст //* то тоже красный флаг выбрасывает. И кстати сегодня еще такой косяк заметил если закомментировать иф и ендиф, вот так:

Код: Выделить всё

//#if (USE_FONTS == 1)
   #include "fonts.h"
//#endif  
то все равно краснеет.
И если удалить этот код , то блок остается не корректен и даже если другой код типа константу вставить то он остается некорректным.
Создаю новый.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Создание пользовательского блока (CODE) простым языком.

Сообщение edyapd »

[ref]Ivan_Kornege[/ref], просто скопировал и слегка подправил ваш код. Я же говорю, если выложите, то проще.[spoiler]
111.jpg
11.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Создание пользовательского блока (CODE) простым языком.

Сообщение Ivan_Kornege »

edyapd писал(а): 11 дек 2019, 11:07 Ivan_Kornege, просто скопировал и слегка подправил ваш код.
да ты просто фокусник заменил Оператор сравнения на Арифметический оператор.
И нафига эти танцы с бубном если то что ты сделал это можно записать вот так #include "fonts.h" и фсё.
Я делаю блоки позволяющие заниматься так называемой условной компиляцией. Знаешь чЁ это такое?
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Создание пользовательского блока (CODE) простым языком.

Сообщение edyapd »

Ivan_Kornege писал(а): 11 дек 2019, 11:29 да ты просто фокусник заменил Оператор сравнения на Арифметический оператор.
Ну извините
Как вам это?
Проба_(CODE).ubi
Отправлено спустя 8 минут 51 секунду:
А это ещё одно в догонку
Проба_1_(CODE).ubi
Проба_2_(CODE).ubi
Отправлено спустя 44 секунды:
Просто я абсолютно не знаю C и поэтому приходится много читать и экспериментировать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Создание пользовательского блока (CODE) простым языком.

Сообщение Sancho »

[ref]edyapd[/ref], Эдуард, хотел посмотреть, но устанавливать блоки в программу, потом их удалять - честно лень.
Для теста, демонстрации, проще выложить файл .flp с блоками, кому интересно - скопируют себе в ПБ. ИМХО.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Создание пользовательского блока (CODE) простым языком.

Сообщение Ivan_Kornege »

edyapd писал(а): 11 дек 2019, 12:06 Просто я абсолютно не знаю C и поэтому приходится много читать и экспериментировать.
поэтому смотрю наезжаешь на тех кто знает - красавчег пусть знают наших :smile44:
В общем то никак не прокатило твое творчество :smile171:
Проба_1_(CODE).ubi
Отправлено спустя 1 минуту :
Sancho писал(а): 11 дек 2019, 12:56 Для теста, демонстрации, проще выложить файл .flp с блоками, кому интересно - скопируют себе в ПБ. ИМХО.
поддерживаю!

Отправлено спустя 33 минуты 32 секунды:
фсЁ спать ушел
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Создание пользовательского блока (CODE) простым языком.

Сообщение EgorKa »

Sancho писал(а): 11 дек 2019, 12:56 Для теста, демонстрации, проще выложить файл .flp с блоками, кому интересно - скопируют себе в ПБ. ИМХО.
Специально скачал Portable FLProg 6.2.1 , у меня ОС Win7 64 bit.
Вот сделал блоки:
Проба блоки_директивы1.flp
Нерабочий - методом копирования кода Ивана отсюда, и вставка в ПБ.
Рабочие набил ручками. Но если в нерабочем все стереть , затем набить ручками то он все равно остается некорректным.
Ну а с функцией void у меня всегда некорректный, если прописывать в DeclareSection.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Создание пользовательского блока (CODE) простым языком.

Сообщение rw6cm »

[ref]Ivan_Kornege[/ref], [ref]EgorKa[/ref],
Сделать можно, если знать тонкости (хитрости)
Код вставить это пол беды,
а вот заставить флп расположить в той же последовательности в IDE,
это надо хорошо по извращаться )))
блок_директивы.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Создание пользовательского блока (CODE) простым языком.

Сообщение Ivan_Kornege »

rw6cm писал(а): 11 дек 2019, 23:23 Ivan_Kornege, EgorKa,
Сделать можно, если знать тонкости (хитрости)
И что тонкости хитрости это тайна великих инков и Владимира Геннадьевича ?
Колись уже на какой версии сделал?
У меня скопированный код из твоего блока и вставленное в новый не прокатил в Portable FLProg 6.2.1 Win7 64 .
блок_директивы_Иван.flp
Т.е. твой корректный, а создаю новый уже не корректный.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Создание пользовательского блока (CODE) простым языком.

Сообщение rw6cm »

Ivan_Kornege писал(а): 12 дек 2019, 09:43 И что тонкости хитрости это тайна
Нет не тайна
Если бы Вы скопировали полностью, то поняли бы сами ))
В конкретном примере вы упустили пустую сроку после #endif.
для того чтобы #endif пропустил флп, должен за ним быть хотя бы один пробел,
а поле него обязательно пустая строка или строка с кодом.

сразу скажу на перед:
что бы флп не перемещал #include "fonts.h" в IDE в верх по дереву скетча,
надо написать так: # include "fonts.h" с пробелом после #
хоть это не эстетично со стороны правильно-писания кода, но работает.

п/с Вот только пользы от этой инфы мало. Все это под конкретный случай.
Если блок использовать многократно с инклюдом это уже не прокатит.
А если код сложный (много бибок, сложных директив, функций ...) нюансов становится много, все не перечислить.
Win10-64, FLProg (portable)
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Создание пользовательского блока (CODE) простым языком.

Сообщение Ivan_Kornege »

rw6cm писал(а): 12 дек 2019, 10:21 В конкретном примере вы упустили пустую сроку после #endif.
для того чтобы #endif пропустил флп, должен за ним быть хотя бы один пробел,
а поле него обязательно пустая строка или строка с кодом.
потренировался не всегда срабатывает. Фокус не удался. Тренировки в этом году заканчиваю. Бум ждать что автор с этим сделает.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Создание пользовательского блока (CODE) простым языком.

Сообщение rw6cm »

Ivan_Kornege писал(а): 12 дек 2019, 10:50 потренировался не всегда срабатывает
Здесь описан #endif, но есть и другие директивы ... :smile469: )) со своими нюансами

п/с Согласен - все это костыли, а должно быть все без заморочек и догадок.
Win10-64, FLProg (portable)
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Создание пользовательского блока (CODE) простым языком.

Сообщение EgorKa »

Запустил на win10 портативную версию и корректный блок с void удалось создать.
Ждем 7-ю версию программы , автор надеется победить.
Ответить

Вернуться в «Обучающие примеры работы в FLProg»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей