За такой говнокод в обучающих видео надо по рукам бить.
Почему автор не создал массив байтов, где каждый бит отвечает за сегмент индикатора, а индексом которого была бы желаемая цифра минус 1?
Не походили массивы?
А почему вы вообще пишите программу на Си/С++, не зная основных языковых конструкций?
ссылка на канал | ссылка на группу
Почему автор не создал массив байтов, где каждый бит отвечает за сегмент индикатора, а индексом которого была бы желаемая цифра минус 1?
Не походили массивы?
А почему вы вообще пишите программу на Си/С++, не зная основных языковых конструкций?
ссылка на канал | ссылка на группу
🔥1
Media is too big
VIEW IN TELEGRAM
Не знаю в чём причина, но при масштабировании графика синуса, упорядоченные точки превращаются в хаос, а потом снова упорядочиваются).
ссылка на канал | ссылка на группу
ссылка на канал | ссылка на группу
https://github.com/A248640/projectTemplate
Разобраться самостоятельно с первого раза с vs code сложно.
Я сам много раз пытался, но ничего не получалось и я заканчивал попытки.
Поэтому я сделал шаблон проекта с минимальным набором настроек, чтобы было проще начинающим.
Вам понадобится только компилятор, vs code и мой шаблон проекта.
У вас будут работать: подсветка синтаксиса, подсказки, компиляция и отладка кода.
Если интересно, как с нуля установить компилятор, установить и настроить vs code, создать и настроить решение, я могу создать понятную и простую инструкцию или видео.
Обновлённая версия
ссылка на канал | ссылка на группу
Разобраться самостоятельно с первого раза с vs code сложно.
Я сам много раз пытался, но ничего не получалось и я заканчивал попытки.
Поэтому я сделал шаблон проекта с минимальным набором настроек, чтобы было проще начинающим.
Вам понадобится только компилятор, vs code и мой шаблон проекта.
У вас будут работать: подсветка синтаксиса, подсказки, компиляция и отладка кода.
Если интересно, как с нуля установить компилятор, установить и настроить vs code, создать и настроить решение, я могу создать понятную и простую инструкцию или видео.
Обновлённая версия
ссылка на канал | ссылка на группу
🔥1
Media is too big
VIEW IN TELEGRAM
Написал прошивку для микроконтроллера, написал программу на c++ для пк и соединил их при помощи последовательного порта и своего стандарта общения.
Сетка теперь пожирнее и абсолютно идеальная).
Слайдеры в будущем эти превратятся в нормальные графики.
Когда-нибудь я напишу свою лёгкую библиотеку или framework, чтобы писать такие приложения в своём стиле быстрее и удобнее.
ссылка на канал | ссылка на группу
Сетка теперь пожирнее и абсолютно идеальная).
Слайдеры в будущем эти превратятся в нормальные графики.
Когда-нибудь я напишу свою лёгкую библиотеку или framework, чтобы писать такие приложения в своём стиле быстрее и удобнее.
ссылка на канал | ссылка на группу
Media is too big
VIEW IN TELEGRAM
Ух, давно я не писал такой говнокод, это просто ужас, на мой код даже мне страшно смотреть).
Зато работает).
Ещё бы разобраться с помехами с последовательного порта.
Иногда очень резкие пики на графике появляются.
ссылка на канал | ссылка на группу
Зато работает).
Ещё бы разобраться с помехами с последовательного порта.
Иногда очень резкие пики на графике появляются.
ссылка на канал | ссылка на группу
Media is too big
VIEW IN TELEGRAM
Как жаль, что я не доделал свою строковую библиотеку, она бы очень сильно упростила написание программы и прошивки.
ссылка на канал | ссылка на группу
ссылка на канал | ссылка на группу
В будущем я буду хранить все настройки проекта в файле конфига.
Для решения этой задачи есть множество уже готовых библиотек, которые позволяют парсить и редактировать такие файлы, но мне интересно реализовать это самому в дополнение к своей строковой библиотеке.
Это как-никак алгоритмы, а я очень люблю писать алгоритмы).
Что скажете о таком виде?
Пока не могу определиться каким префиксом делать комментарии.
Формат записи данных хочу сделать в стиле C++.
Так же можно будет для самых хитрых шифровать конфиг и где-то хранить контрольную сумму.
И в случае повреждённого конфига или кем-то отредактированного, то есть при не соответствии контрольной суммы, просто удалять или делать конфиг по-умолчанию, или выводить предупреждающее сообщения.
ссылка на канал | ссылка на группу
Для решения этой задачи есть множество уже готовых библиотек, которые позволяют парсить и редактировать такие файлы, но мне интересно реализовать это самому в дополнение к своей строковой библиотеке.
Это как-никак алгоритмы, а я очень люблю писать алгоритмы).
Что скажете о таком виде?
Пока не могу определиться каким префиксом делать комментарии.
Формат записи данных хочу сделать в стиле C++.
Так же можно будет для самых хитрых шифровать конфиг и где-то хранить контрольную сумму.
И в случае повреждённого конфига или кем-то отредактированного, то есть при не соответствии контрольной суммы, просто удалять или делать конфиг по-умолчанию, или выводить предупреждающее сообщения.
ссылка на канал | ссылка на группу
Это код "ассемблер в мире С++" по уровню неудобства, сложности, но гибкости).
Я пока не придумал, как сделать мою библиотеку удобной и гибкой, но в Си стиле.
Наверное, стоит сделать 3 уровня абстракции.
1) Работа со строками, как с массивом байтов.
2) Работа со строками, как с массивом символов.
3) Как 2, только с доступом к низкоуровневым тонкостям.
Можно будет сделать обёртку, где будет делаться вся сложная работа.
Но тогда придётся делать функцию на каждый случай.
Пример, как проверить сравнить символ по индексу:
ссылка на канал | ссылка на группу
Я пока не придумал, как сделать мою библиотеку удобной и гибкой, но в Си стиле.
Наверное, стоит сделать 3 уровня абстракции.
1) Работа со строками, как с массивом байтов.
2) Работа со строками, как с массивом символов.
3) Как 2, только с доступом к низкоуровневым тонкостям.
Можно будет сделать обёртку, где будет делаться вся сложная работа.
Но тогда придётся делать функцию на каждый случай.
Пример, как проверить сравнить символ по индексу:
string = "Привет";
bool result { };
stringCompareCharIndex(string, 5, "т", &result);
ссылка на канал | ссылка на группу
utf8 -> utf16 ... works!
Написать конвертер из utf-8 в utf-16 оказалось гораздо проще, чем я думал.
Пока читал различные статьи, форумы и документацию, я задумался, почему создатели сделали всё так тупо?
utf-32 требует 4 байта на символ, что очень много, но даёт произвольный доступ к символам.
utf-8 памяти требует от 1 до 4 байт на символ сам корректирует ошибки передачи байтов и имеет однозначный порядок их записи.
utf-16 ни то, ни это.
Странно это всё, мне не нравится по какому пути пошёл стандарт unicode.
Он превратился в сборную солянку и головную боль для программистов.
ссылка на канал | ссылка на группу
Написать конвертер из utf-8 в utf-16 оказалось гораздо проще, чем я думал.
Пока читал различные статьи, форумы и документацию, я задумался, почему создатели сделали всё так тупо?
utf-32 требует 4 байта на символ, что очень много, но даёт произвольный доступ к символам.
utf-8 памяти требует от 1 до 4 байт на символ сам корректирует ошибки передачи байтов и имеет однозначный порядок их записи.
utf-16 ни то, ни это.
Странно это всё, мне не нравится по какому пути пошёл стандарт unicode.
Он превратился в сборную солянку и головную боль для программистов.
ссылка на канал | ссылка на группу
Так выглядит преобразование кодировки utf-8 в utf-16.
Вот как код итерации строки по символам вынести в отдельную функцию и оставить возможность получать дополнительные данные о символе (номер, размер, индекс символа и байта) без лишних действий?
Или, может, оставить всё в таком виде?
Иначе 100% придётся делать какую-то временную переменную или итератор, что, по-моему, только излишне усложнит код.
ссылка на канал | ссылка на группу
Вот как код итерации строки по символам вынести в отдельную функцию и оставить возможность получать дополнительные данные о символе (номер, размер, индекс символа и байта) без лишних действий?
Или, может, оставить всё в таком виде?
Иначе 100% придётся делать какую-то временную переменную или итератор, что, по-моему, только излишне усложнит код.
ссылка на канал | ссылка на группу
🫡1
Опыт написания игрового движка в прошлом очень помог совладать с этим ужасным winAPI.
Я наконец-то могу писать программу именно в своём стиле, а не в том, который диктует winAPI.
Плюсы моего стиля заключаются в простоте и скорости создания логики и графики.
На фото как раз есть пример создания меню.
ссылка на канал | ссылка на группу
Я наконец-то могу писать программу именно в своём стиле, а не в том, который диктует winAPI.
Плюсы моего стиля заключаются в простоте и скорости создания логики и графики.
На фото как раз есть пример создания меню.
ссылка на канал | ссылка на группу
Что ж, видимо, я буду не только строковую библиотеку писать, но и менеджер ввода.
А если буду разбивать проект на более-менее независимые модули (window, graphics, input, ...), то можно будет и исходники игрового движка посмотреть (там очень много готового сделано) и переписать по-новому.
ссылка на канал | ссылка на группу
А если буду разбивать проект на более-менее независимые модули (window, graphics, input, ...), то можно будет и исходники игрового движка посмотреть (там очень много готового сделано) и переписать по-новому.
ссылка на канал | ссылка на группу