|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 22100. Ответов 218
Метки freebasic;изучение основ (Все метки)
Всем добра и мира!
К сожалению, PowerBasic прекратил своё развитие вследствие смерти его создателя и главного (а скорее всего, единственного) разработчика Роберта Зейла в 2012-ом году. К настоящему времени последние надежды на его развитие окончательно угасли. В связи с этим я решил приступить к изучению основ FreeBasic'а. В этой ветке форума буду задавать вопросы, возникающие у меня в процессе ознакомления с этим ЯП. Как говорится, всё познаётся в сравнении. Ну вот и буду изучать FreeBasic, опираясь на определённый опыт ЛЮБИТЕЛЬСКОГО программирования на PowerBasic'е. Буду очень благодарен за любую помощь. Итак, первый возникший у меня вопрос. Каким образом в структурах FreeBasic'а появилась возможность использовать динамические строки? В PowerBasic'е это строго запрещено. Можно использовать только строки фиксированной длины. Вот 2 работающих (с одним и тем же результатом на консоли) кода для сравнения: FreeBasic
1
|
|||||||||||
| 10.10.2022, 22:17 | |
|
Ответы с готовыми решениями:
218
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 19.11.2022, 14:27 [ТС] | |||
|
Но если для этого потребуются "хитрые хаки", тогда, пожалуй, игра не стоит свеч.
0
|
|||
| 19.11.2022, 14:49 | ||||||||||||
|
Кликните здесь для просмотра всего текста
Макрос Excel. Нужны референсы "Microsoft Internet Control" и "Microsoft Shell Controls And Automation"
2
|
||||||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 19.11.2022, 16:29 [ТС] | ||
|
Или testuser2 нашёл более оптимальное решение этой проблемы?
0
|
||
| 19.11.2022, 16:57 | |
|
Power_Basic, нашел не я, тема известная давно). "Технология" опирается на некие скрытые окна проводника, которые выдают себя за InternetExplorer.. Через эти окна еще какие-то темы делают, где-то что-то видел, щас не вспомню (по моему связано с интернетом). Из того, что заметил, можно таким способом передать ссылку на объект, но нельзя передать типизированную переменную по ссылке, допустим какой-нибудь большой массив. Получается надо массив покласть в этот объект (или объект передаваемый по ссылке), а в другом процессе извлечь и все используя тип вариант - двойные или тройные издержки по времени в сравнении если бы это происходило в каком-то едином адресном пространстве..
1
|
|
|
Модератор
|
||
| 19.11.2022, 18:21 | ||
|
1
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 02.12.2022, 14:07 [ТС] | ||
|
За примерами далеко ходить не надо. Это и VB, и PowerBasic, и PureBasic. Там IDE выбирать не надо, дебаггер на стороне искать не надо, справочная система по IDE имеется в каждом из этих редакторов и причём очень подробная. А во FreeBasic'е либо редактор старинный и не развивается с 2011-го года, либо справочной системы вовсе нет. Ваш совет писать на Ноутпеде плюс плюс это точно не для новичков, это для профессионалов. А вот интересно, представьте себе, что вы сами только-только приступаете к изучению этого языка. Какую IDE выбрали бы? С какой справочной документации начали бы изучение?
0
|
||
|
COM‐пропагандист
|
|
| 02.12.2022, 16:01 | |
|
Power_Basic, всё совершенно наоборот. Когда новичок открывает сложную IDE вроде Визуальной Студии 2022, то вместо изучения как писать циклы, условия и функции пойдёт борьба с IDE.
Новички на то и новички, что у них программы простые на 10‐20 строк (заполните массив с клавиатуры и выведите максимальное на распечать). Такие программы можно писать в блокноте и компилировать перетаскиванием мышкой. Если у вас программа усложняется и становится похожей на что‐то вроде лабораторных задач первого семестра (телефонная книга, база данных, крестики‐нолики), то здесь уже нужна подсветка синтаксиса, и подойдёт Notepad++. Но всё ещё можно обойтись компиляцией через перетаскивание мышкой. Когда появятся задачи уровня арканоида, шахмат, пасьянсов, чатов по сети, где уже одним файлом не обойтись, то можно взять какую‐нибудь IDE. Этих IDE для фрибесика уже как пруд пруди, на оффоруме есть даже специальная тема. Cледует помнить, что идеальной IDE не существует, всегда есть какие‐то достоинства и недостатки. Самой костюмизируемой IDE на сегодняшний момент является Visual Studio Code, для неё уже написаты миллионы плюйгинов, можете использовать её. Инструкция по настройке VSCode для фрибесика Вам придётся изучить какую‐нибудь систему контроля версий, GIT или SVN, они все интегрированы в IDE. Потому что без них сейчас никуда, все проекты на гитхабе выкладывают. И выкладывать исходники в архиве на каких‐нибудь шаропомойках — это неуважение к пользователю. Когда ваш проект разрастётся до N файлов и вам надоест идти и ставить чайник чтобы дождаться результата компиляции, то придётся изучить какую‐нибудь систему сборки, например, утилиту make, чтобы каждый раз не компилировать весь проект с нуля, а компилировать только те файлы, которые изменились. Вот запуск фрибейсика под отладчиком в VSCode: Кстати, скомпилировать фрибейсик под виндоуз довольно просто, достаточно скачать исходники (клонировать репозиторий) зайти в директорию «src\compiler» и выполнить «fbc64.exe -m fbc -x fbc64.exe *.bas». И у вас будет собственноручно собранный компилятор, с самыми последними изменениями.
1
|
|
|
|
||||
| 02.12.2022, 18:41 | ||||
|
Это лишнее.
2
|
||||
|
COM‐пропагандист
|
|||
| 02.12.2022, 20:25 | |||
|
А когда надо выполнить «Убрать изменения» которые ломают программу или приводят к ошибке, как вы поступите? Ctrl+Z нажмёте? А если в нескольких файлах или изменения были сделаны после перезагрузки? И вообще я собираю утилитой make, а это точно не для новичков.
0
|
|||
|
|
|||||
| 02.12.2022, 20:43 | |||||
|
Я спросил про новичков. Много вы знаете новичков работающих на проектами с несколькими десятками тысяч строк? Уверены что Power_Basic необходима система контроля версий? Если говорить о PB, в его IDE есть история сессий - автоматическое сохранение текущего кода исходников. Сохраняются в том числе исходники без проектов и те что не были сохранены в файле. Откатиться назад тоже можно.
1
|
|||||
|
COM‐пропагандист
|
||||
| 02.12.2022, 22:09 | ||||
|
116 файлов, 21461 строк, 491 комментариев, 6188 пустых строк, итого 28140 строк.
0
|
||||
|
|
||||
| 02.12.2022, 22:42 | ||||
|
0
|
||||
|
COM‐пропагандист
|
|||
| 02.12.2022, 23:35 | |||
|
Во‐вторых, как вы будете историю изменений смотреть? Например, что убрали и добавили, какие файлы и строки затронуты, сделать diff вроде такого: https://github.com/BatchedFile... 003e3ef0d3
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 05.12.2022, 22:22 [ТС] | |||
![]() Не сомневаюсь, что Замабувараев очень хороший человек и очень хороший специалист в своём деле, но вот педагогических способностей у него точно не хватает ![]() На протяжении всей этой ветки упорно твержу, что я "домохозяйка", что я не профессионал, что я "первоклассник". А что нужно первокласснику? Букварь, тетрадка и авторучка. А Замабувараев настойчиво подсовывает мне учебники по высшей математике. Сразу в первом классе синусы, логарифмы и производные ![]() Кстати, это идеальный образ действий для того, чтобы отбить кому-нибудь охоту изучать что-то. Просто утопи его в изобилии заумных терминов и понятий, он решит, что "ну это точно не моего ума дело" и пойдёт тупо гонять во дворе мячик ![]() Но, к сожалению, на этом форуме он чуть ли не единственный специалист по фрибейсику, который отвечает на вопросы по этому языку. У него, можно сказать, монополия ![]() Я уж грешным делом постоянно посматриваю и на PureBasic тоже, поскольку вы, как я уже очень давно успел заметить, объясняете очень хорошо, и с вами мне, если по-честному, общаться гораздо проще и интереснее чем с Замабувараевым. Ну и кроме того, я в курсе, что вы являетесь общепризнанным экспертом по этому языку в русскоязычном комьюнити. Так что у вас, несомненно, есть чему поучиться, и вы, несомненно, можете многому научить. Жалко, что по синтаксису "мой" PowerBasic гораздо ближе именно к фрибейсику чем к PureBasic-у. Простые консольные программки можно компилировать в обоих компиляторах практически без изменений. Так что придётся мне, видать, осваивать фрибейсик самостоятельно. Ну собственно, так я и PowerBasic изучаю всё это время. У нас он нынче "не в моде", а у буржуев хрен спросишь. Они на свой форум нашего брата и в лучшие-то времена не пускали, а уж теперь-то и подавно
1
|
|||
|
COM‐пропагандист
|
||
| 06.12.2022, 08:12 | ||
|
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 06.12.2022, 13:06 [ТС] | ||||||
![]()
Хотелось бы какой-нибудь редактор, "заточенный" именно под FreeBasic. Вот смотрите, у меня сейчас имеются четыре IDE, предназначенные именно (и только) для фрибейсика. Это (в алфавитном порядке): FbEdit IUP_FB_EDITOR VisualFBEditor WinFBE И я уже имею некоторое ПРАКТИЧЕСКОЕ знакомство с каждым из них. Ну вот очень простой вопрос: какой бы из этих четырёх вы выбрали бы, если бы только-только приступили к изучению фрибейсика, но вместе с тем, рассматривали бы перспективу (а это уже с высоты своего нынешнего опыта и знаний) его постоянного использования в течении предстоящих долгих лет жизни? Вот давайте я охарактеризую каждый из этих редакторов "со своей колокольни": FbEdit Минусы: - последнее обновление: 2010 - как я понял (возможно ошибочно), не годится для компиляции под х64 - нет встроенного отладчика ("из коробки"), хотя в опциях интерфейсного меню отладчик фигурирует Плюсы: - хорошая справочная система (англ) IUP_FB_EDITOR Минусы: - нет встроенного отладчика ("из коробки") - у меня сложилось такое (возможно ошибочное) впечатление, что автор уже давно не развивает свой редактор. Ну в смысле, именно сам редактор. Выпускает, так называемые, "сборки". То есть, как я понимаю, просто подключает новые библиотеки. - слишком уж краткая справочная система. Например, в дистрибутиве имеется файл \Build_109_32\compiler\bin\win32\Debug.e xe. Но как использовать этот отладчик, "догадайся сам", про это в справке ни гу-гу ![]() Да и в интерфейсном меню нет ни одного упоминания про отладку. Плюсы: - и всё-таки неплохая справочная система (рус) VisualFBEditor Минусы: - полное отсутствие ну хоть какой-нибудь справки, ну реально ни единой строчки. Например, в интерфейсном меню имеются (в отличие от IUP_FB_EDITOR) опции "Debug", "Step in", и прочие. Но как подключить отладчик совершенно не понятно ввиду опять же отсутствия справки. На самом деле, автора понять можно, - редактор бурно развивается, и у него просто не хватает времени для написания справки. - отсутствие встроенного отладчика ("из коробки") Плюсы: - стильный - современный - продвинутый - бурно развивается WinFBE Минусы: - справка такая лаконичная, что её, практически, нет - нет встроенного отладчика ("из коробки"), и даже в интерфейсном меню отсутствуют соответствующие опции Плюсы: - стильный - современный - продвинутый - бурно развивается Ну а теперь давайте раскрою секрет, почему я такой привередливый. Дело в том, что мой любимый редактор для PowerBasic'а это JK-IDE. Изначально это был редактор только для PowerBasic'а. Потом автор решил приспособить его также и для фрибейсика. Приспособил. В течение некоторого времени поддерживал оба языка. Потом разругался с "главарями" фрибейсика ![]() Уж и не знаю, кто может командовать в коллективной бесплатной разработке. Но факт есть факт, - какие-то местные "авторитеты" там всё-таки имеются, и вот с ними-то он и разругался по той причине, что, потратил много времени на разработку добавления к компилятору тех возможностей обработки строк, которых на данный момент нет во фрибейсике, но которые имеются в PowerBasic'е. Он хотел, чтобы эти доработки были встроены в сам компилятор, а ему там местные авторитеты ответили отказом. Ну то есть, отдельной библиотекой можно, а в сам компилятор встраивать нельзя. Короче, он на них обиделся и полностью прекратил развитие фрибейсиковской части своего редактора в 2018 году. Ну а как известно, сам PowerBasic не развивается с 2013 года. Тем не менее, он свой редактор старательно поддерживает, постоянно добавляет новые фичи по просьбам мемберов буржуйского PowerBasic-ого сайта. Так что нельзя сказать, что сам редактор не развивается. JK-IDE Минусы: - фрибейсиковская часть уже никогда (судя по настроению автора) не будет развиваться. Ну то есть можно самостоятельно обновлять версию компилятора, но как там это всё будет взаимодействовать "внутри", хрен её знает ![]() Плюсы: - встроенный и уже давно привычный для меня отладчик ("из коробки") - роскошная подробнейшая справочная система (англ) - ну и просто привычная для меня "среда обитания" Так что мне есть с чем сравнивать. Можно сказать, живу на всём готовом ![]() Но я был уверен, что из такого изобилия разнообразных редакторов под фрибейсик обязательно можно будет найти что-то не уступающее редактору, который принципиально прекратил обновлять свою фрибейсиковскую начинку 4 года назад. Получается, что я ошибался и потратил столько времени впустую ![]() Прошу считать дальнейший текст исключительно криком души ![]() Ну это же всё-таки бейсик... БЕЙСИК! Меня - бегиннера - должны за ручку во всех редакторах водить, ну по крайней мере, на первых порах. Наплодили целую кучу редакторов. Нет бы собраться всем вместе, смастерить и поддерживать на постоянной основе один-единственный, но зато идеальный FreeBasic -редактор
0
|
||||||
|
|
||
| 06.12.2022, 14:42 | ||
|
"При проектировании языка использовались следующие восемь принципов. Новый язык должен был: Быть простым в использовании для начинающих. Быть языком программирования общего назначения. Предоставлять возможность расширения функциональности, доступную опытным программистам. Быть интерактивным. Предоставлять ясные сообщения об ошибках. Быстро работать на небольших программах. Не требовать понимания работы аппаратного обеспечения. Защищать пользователя от операционной системы." Самое главное я выделил. Теперь зададимся вопросом: защищает ли free basic программиста от ОС? Судя по коду Замабувараев - нет, не зачищает. Чтобы получить окошки надо использовать низкоуровневые апи хост системы. Значит это не basic.
1
|
||
|
|
||
| 06.12.2022, 17:50 | ||
|
1
|
||
| 06.12.2022, 17:50 | |
|
Лабораторная работа на изучение основ работы с debug.exe Лабораторная работа(Изучение основ.Одномерный и двумерный массивы.Процессы) Проблема с Imagelist в PowerBasic 10 FreeBASIC Уйти с freebasic Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой
Зрите в корень - монополизация на разработку программ. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|