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

Написание кода на языке C++, не зная языка С++.

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

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

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

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

#41

Сообщение Sancho » 10.12.2019{, 17:21}

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

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

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

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

#42

Сообщение Nikan » 10.12.2019{, 17:32}

.
Последний раз редактировалось Nikan 24.03.2023{, 01:24}, всего редактировалось 1 раз.

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

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

#43

Сообщение Sancho » 10.12.2019{, 18:28}

Nikan писал(а):
10.12.2019{, 17:32}
да ужжжж проще все в коде написать
Nikan, иногда - да. Но при частых экспериментах - замучаешься, да и когда забываешь - тоже злишься. А так сделал пб с бибкой, вставил в проект - и всё.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

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

#44

Сообщение Nikan » 10.12.2019{, 18:51}

.
Последний раз редактировалось Nikan 24.03.2023{, 01:24}, всего редактировалось 1 раз.

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

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

#45

Сообщение EgorKa » 10.12.2019{, 20:21}

Sancho писал(а):
10.12.2019{, 17:24}
С дэфайнами - старииииная история.

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

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

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

#46

Сообщение EgorKa » 10.12.2019{, 20:27}

Ivan_Kornege писал(а):
10.12.2019{, 17:14}
Код компилируется в IDE но невозможно вставить в БП ни в какой версии от 4 до 6.2.1 проверил везде пишет некорректный блок
кстати бывают проблемы если из браузера копирнуть код, то тоже выдает некорректный блок. А если из IDE то не краснеет. С #define так попал раз.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

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

#47

Сообщение edyapd » 11.12.2019{, 03:49}

Ivan_Kornege, так вы выложите, пусть и некорректный блок. И описание, что вы хотите от него. Тогда проще будет.
Я тут по не знанию не в тот раздел ПБ засунул код, тоже писало, что не корректный, долго понять не мог в чём дело.

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#48

Сообщение Ivan_Kornege » 11.12.2019{, 06:50}

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

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

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

//#if (USE_FONTS == 1)
   #include "fonts.h"
//#endif  
то все равно краснеет.
И если удалить этот код , то блок остается не корректен и даже если другой код типа константу вставить то он остается некорректным.
Создаю новый.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

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

#49

Сообщение edyapd » 11.12.2019{, 11:07}

Ivan_Kornege, просто скопировал и слегка подправил ваш код. Я же говорю, если выложите, то проще.
СпойлерПоказать
111.jpg
111.jpg (27.79 КБ) 2064 просмотра
11.jpg
11.jpg (19.85 КБ) 2064 просмотра

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#50

Сообщение Ivan_Kornege » 11.12.2019{, 11:29}

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

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

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

#51

Сообщение edyapd » 11.12.2019{, 11:56}

Ivan_Kornege писал(а):
11.12.2019{, 11:29}
да ты просто фокусник заменил Оператор сравнения на Арифметический оператор.
Ну извините
Как вам это?
Проба_(CODE).ubi
(2.98 КБ) 78 скачиваний
Отправлено спустя 8 минут 51 секунду:
А это ещё одно в догонку
Проба_1_(CODE).ubi
(3.45 КБ) 79 скачиваний
Проба_2_(CODE).ubi
(3.38 КБ) 77 скачиваний
Отправлено спустя 44 секунды:
Просто я абсолютно не знаю C и поэтому приходится много читать и экспериментировать.

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

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

#52

Сообщение Sancho » 11.12.2019{, 12:56}

edyapd, Эдуард, хотел посмотреть, но устанавливать блоки в программу, потом их удалять - честно лень.
Для теста, демонстрации, проще выложить файл .flp с блоками, кому интересно - скопируют себе в ПБ. ИМХО.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#53

Сообщение Ivan_Kornege » 11.12.2019{, 13:07}

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

Отправлено спустя 33 минуты 32 секунды:
фсЁ спать ушел

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

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

#54

Сообщение EgorKa » 11.12.2019{, 18:51}

Sancho писал(а):
11.12.2019{, 12:56}
Для теста, демонстрации, проще выложить файл .flp с блоками, кому интересно - скопируют себе в ПБ. ИМХО.
Специально скачал Portable FLProg 6.2.1 , у меня ОС Win7 64 bit.
Вот сделал блоки:
Проба блоки_директивы1.flp
(21.02 КБ) 74 скачивания
Нерабочий - методом копирования кода Ивана отсюда, и вставка в ПБ.
Рабочие набил ручками. Но если в нерабочем все стереть , затем набить ручками то он все равно остается некорректным.
Ну а с функцией void у меня всегда некорректный, если прописывать в DeclareSection.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

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

#55

Сообщение rw6cm » 11.12.2019{, 23:23}

Ivan_Kornege, EgorKa,
Сделать можно, если знать тонкости (хитрости)
Код вставить это пол беды,
а вот заставить флп расположить в той же последовательности в IDE,
это надо хорошо по извращаться )))
блок_директивы.flp
(14.34 КБ) 87 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#56

Сообщение Ivan_Kornege » 12.12.2019{, 09:43}

rw6cm писал(а):
11.12.2019{, 23:23}
Ivan_Kornege, EgorKa,
Сделать можно, если знать тонкости (хитрости)
И что тонкости хитрости это тайна великих инков и Владимира Геннадьевича ?
Колись уже на какой версии сделал?
У меня скопированный код из твоего блока и вставленное в новый не прокатил в Portable FLProg 6.2.1 Win7 64 .
блок_директивы_Иван.flp
(20.79 КБ) 65 скачиваний
Т.е. твой корректный, а создаю новый уже не корректный.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

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

#57

Сообщение rw6cm » 12.12.2019{, 10:21}

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

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

п/с Вот только пользы от этой инфы мало. Все это под конкретный случай.
Если блок использовать многократно с инклюдом это уже не прокатит.
А если код сложный (много бибок, сложных директив, функций ...) нюансов становится много, все не перечислить.
Win10-64, FLProg (portable)

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#58

Сообщение Ivan_Kornege » 12.12.2019{, 10:50}

rw6cm писал(а):
12.12.2019{, 10:21}
В конкретном примере вы упустили пустую сроку после #endif.
для того чтобы #endif пропустил флп, должен за ним быть хотя бы один пробел,
а поле него обязательно пустая строка или строка с кодом.
потренировался не всегда срабатывает. Фокус не удался. Тренировки в этом году заканчиваю. Бум ждать что автор с этим сделает.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

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

#59

Сообщение rw6cm » 12.12.2019{, 11:20}

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

п/с Согласен - все это костыли, а должно быть все без заморочек и догадок.
Win10-64, FLProg (portable)

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

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

#60

Сообщение EgorKa » 12.12.2019{, 19:46}

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

Ответить

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