|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 22661. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|