|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 25199. Ответов 218
Метки freebasic;изучение основ (Все метки)
Всем добра и мира!
К сожалению, PowerBasic прекратил своё развитие вследствие смерти его создателя и главного (а скорее всего, единственного) разработчика Роберта Зейла в 2012-ом году. К настоящему времени последние надежды на его развитие окончательно угасли. В связи с этим я решил приступить к изучению основ FreeBasic'а. В этой ветке форума буду задавать вопросы, возникающие у меня в процессе ознакомления с этим ЯП. Как говорится, всё познаётся в сравнении. Ну вот и буду изучать FreeBasic, опираясь на определённый опыт ЛЮБИТЕЛЬСКОГО программирования на PowerBasic'е. Буду очень благодарен за любую помощь. Итак, первый возникший у меня вопрос. Каким образом в структурах FreeBasic'а появилась возможность использовать динамические строки? В PowerBasic'е это строго запрещено. Можно использовать только строки фиксированной длины. Вот 2 работающих (с одним и тем же результатом на консоли) кода для сравнения: FreeBasic
1
|
|||||||||||
| 10.10.2022, 22:17 | |
|
Ответы с готовыми решениями:
218
|
|
|
|||
| 12.11.2022, 12:57 | |||
|
0
|
|||
|
|
|||
| 12.11.2022, 13:08 | |||
|
И это при том что в нем нет поддержки x64 не говоря про друие платформы кроме винды. QB тоже используют, несмотря то что времена DOS давно прошли.
1
|
|||
|
|
||||
| 12.11.2022, 14:43 | ||||
|
Что касается инклюдов. На мой взгляд для расширяемости языка неплохо иметь такую возможность. Штатные средства - это хорошо, но не все можно предусмотреть на этапе проектирования языка, всегда что-то упустишь. А подключаемые либы позволяют это обойти.
0
|
||||
|
|
|||
| 12.11.2022, 14:49 | |||
0
|
|||
|
|
|
| 12.11.2022, 15:42 | |
|
0
|
|
| 12.11.2022, 16:12 | ||
|
1
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||
| 12.11.2022, 16:36 [ТС] | ||||||||
![]() Подразумевалось что-то вроде софтовых плагинов или нечто вроде плат расширения, вставляемых/встраиваемых в материнку. Но вы мне этим советом подсказали, как искать в библиотеках, предназначенных именно для FreeBasic'а. И да, это работает. Попробовал сейчас поиск "array NEAR sort" в WinFBX (https://github.com/JoseRoca/WinFBX), и нашлась именно предложенная вами функция (см. скриншот). ![]() ![]() Вы поймите, я сейчас в первом классе, а вы мне предлагаете задачки из высшей математики ![]() Вот я где сейчас: https://users.freebasic-portal... tbook.html. Мы там про вызовы сишных функций пока ещё не проходили ![]() И поэтому я принципиально не хочу забегать вперёд, чтобы не запутаться. Кстати, Станислав там великолепно учебный материал излагает, надо отдать ему должное. ![]() Вы поймите, программирование это лишь одно из моих многочисленных хобби. Я могу годами "не подходить к роялю" ![]() Согласитесь, сложно в такой ситуации всегда следовать точной терминологии. Вот сейчас "пошла волна" в этом направлении, ну вот я и снова постепенно "вживаюсь в тему". Ну просто мне пришла блажь в голову, что не худо бы иметь возможность программировать под х64, ну вот я и выбираю дополнительный (не основной!) язык. А понадобятся ли мне когда-нибудь эти самые х64? Вопрос открытый.
0
|
||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 12.11.2022, 17:06 [ТС] | ||
0
|
||
|
|
||||
| 12.11.2022, 17:08 | ||||
|
Бейсик интересен прежде всего своей простотой, а в FreeBasic с этим есть некоторые сложности и этим он похож на Си. Тогда это не первый класс. Функция qsort не сложна для понимания. Принцип ее работы понятен из примера без чтения документации. https://cpp.com.ru/shildt_spr_po_c/18/qsort.html
2
|
||||
| 12.11.2022, 17:33 | |||
|
1
|
|||
|
|
|||||
| 12.11.2022, 17:34 | |||||
И на нем придется программировать под win api, а это уже почти никто не делает, за исключением тех, у кого уйма свободного времени. Или надо подключать сторонние либы, которые упрощают программирование под окошки.
1
|
|||||
| 12.11.2022, 18:04 | ||
|
1
|
||
|
|
|
| 12.11.2022, 18:30 | |
|
Единственное, что хорошо в Free basic это встроенная графическая библиотека и динамические строки. Однако меня лично не удовлетворяет скорость графики. Также в экранах нет поддержки русского алфавита. Ну а строки реализованы несколько тупо, так как там выделяется память каждый раз столько сколько требуется, но это неправильно с точки зрения её фрагментации. Надо в 2 раза больше или через степень двойки. Короче проект для атомной станции на free basic я бы писать не стал.
Если бы удалось улучшить графику и строки, добавить поддержку других adt, нативные функции для обработки массивов, то язык бы стал вполне нормальным.
1
|
|
|
COM‐пропагандист
|
||||||
| 12.11.2022, 20:23 | ||||||
|
У вас должна быть только одна категория — «функция». Функция как независимый участок кода, который принимает параметры и возвращает результат. Я вам открою секрет: фрибейсиковая функция InStr — она на самом деле на си написана, в вашей терминологии — это сишная функция. Вас это сильно расстроит? Или как‐то усложнит вам жизнь? Или после этого вам стало труднее писать название этой функции в редакторе и очень сложно ставить скобки и указывать внутри параметры? Эта графическая библиотека только и умеет, что рисовать линии, прямоугольники и овалы. Графика в стиле QBASIC устарела уже тогда, когда вышла Windows 3.11 со своим интерфейсом GDI (1990 год), в котором поддерживаются кисти, перья, регионы, картинки, шрифты, сплайны, кривые Безье, трансформация координат и аффинные преобразования через матрицы. Добавлено через 20 минут Потому что в лабораторных работах первого семестра какие‐нибудь встроенные строки или сортировки будут работать. А когда появится серьёзный проект, где важна скорость и память, вам придётся выкинуть стандартную реализацию. И программисты работали вхолостую, потому что никто ихнюю стандартную реализацию не использует.
2
|
||||||
|
|
|||||
| 13.11.2022, 11:41 | |||||
|
0
|
|||||
|
COM‐пропагандист
|
||||||||
| 13.11.2022, 13:41 | ||||||||
|
Но сейчас времена 640x480 и 16 цветов давно прошли. Или вы собираетесь писать графику для эмуляторов DOS? В 2022 году? А потом придя на работу услышать фразу «забудьте всё, чему вас учили в школе». И ценность функций рисования прямоугольников и овалов стала равна нулю. Хорошо, простой вопрос. Как с помощью этих функций нарисовать эллипс под углом? Чтобы получилось примерно такое: Вы будете руками множество точек эллипса вычислять? А ведь достаточно установить матрицу перехода:
0
|
||||||||
|
|
|||
| 13.11.2022, 13:45 | |||
|
0
|
|||
|
COM‐пропагандист
|
||
| 13.11.2022, 13:58 | ||
|
И тогда останется одна функция DrawImage, остальные можно выкидывать за ненадобностью. Только вот графическая библиотека из одной функции — это точно то что надо?
0
|
||
|
|
||
| 13.11.2022, 14:25 | ||
![]() Встроенная графическая библиотека работает. ![]() Программирование на WinAPI не только требует больше времени и сил, но и не кроссплатформенно!
1
|
||
|
|
|
| 13.11.2022, 14:49 | |
|
Замабувараев, - смысл basic именно в готовых встроенных средствах - графики из коробки, управление памятью + возможность по ручной оптимизации, то есть возможность иметь доступ к памяти напрямую посредством указателей. Ну и в отсутствии определенной парадигмы. Если он это не обеспечивает, то это не basic. Вопросы об эффективности реализации данных возможностей, это уже вопрос другой.
1
|
|
| 13.11.2022, 14:49 | |
|
Лабораторная работа на изучение основ работы с debug.exe Лабораторная работа(Изучение основ.Одномерный и двумерный массивы.Процессы) Проблема с Imagelist в PowerBasic 10 FreeBASIC Уйти с freebasic Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|