|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 22658. Ответов 218
Метки freebasic;изучение основ (Все метки)
Всем добра и мира!
К сожалению, PowerBasic прекратил своё развитие вследствие смерти его создателя и главного (а скорее всего, единственного) разработчика Роберта Зейла в 2012-ом году. К настоящему времени последние надежды на его развитие окончательно угасли. В связи с этим я решил приступить к изучению основ FreeBasic'а. В этой ветке форума буду задавать вопросы, возникающие у меня в процессе ознакомления с этим ЯП. Как говорится, всё познаётся в сравнении. Ну вот и буду изучать FreeBasic, опираясь на определённый опыт ЛЮБИТЕЛЬСКОГО программирования на PowerBasic'е. Буду очень благодарен за любую помощь. Итак, первый возникший у меня вопрос. Каким образом в структурах FreeBasic'а появилась возможность использовать динамические строки? В PowerBasic'е это строго запрещено. Можно использовать только строки фиксированной длины. Вот 2 работающих (с одним и тем же результатом на консоли) кода для сравнения: FreeBasic
1
|
|||||||||||
| 10.10.2022, 22:17 | |
|
Ответы с готовыми решениями:
218
|
|
Модератор
|
||
| 15.11.2022, 17:41 | ||
|
2
|
||
|
|
|||
| 15.11.2022, 17:46 | |||
|
Для примера использование функции qsort из MSVCRT.dll Изучение основ FreeBasic в сравнении с PowerBasic
1
|
|||
| 15.11.2022, 17:57 | ||
|
0
|
||
|
|
||
| 16.11.2022, 12:20 | ||
|
И вот, что я хочу сказать и про PowerBasic и про Free Basic и др. подобные, в том числе Qbasic и более свежие версии от майкров, в том числе Net. Только не обижайтесь. Лично я считаю, и это мое чисто личное мнение, даже убеждение, что все эти бэйсики на самом деле вовсе не бэйсики! А что же они такое? Честно говоря - не знаю, по всей видимости клоны друг друга в той или иной степени. Они все практически похожи друг на друга по структуре, так что взглянешь на код - там все ясно. Можно переходить с одного языка на другой очень быстро потому что это все практически одно и тоже. А что же тогда такое настоящий бэйсик? Для меня лично это примерно первый дартмутский вариант о Куртца и Кемени. С числовыми метками строк, с почти полным отсутствием структуризации (ограниченным возможностями ключевого слова if). С неполноценными процедурами, которые запрещали рекурсию, зато позволяли иметь быстрый код. Вот это именно и есть то, что я лично называю basic! Всё остальное это уже ДАЛЕКО не basic! То есть не "Beginner’s All-purpose Symbolic Instruction Code" что в переводе - "Универсальный код символических инструкций для начинающих". Тут самое ключевое слово: "для начинающих". На него взглянешь: сразу понятно, что это basic! А мы сейчас предлагаем программировать начинающим на языках, которые были подогнаны к профессиональному уровню, к определенной парадигме. Что кстати, в значительной степени привело к негативным последствиям для быстроты работы кода. Да, FB позволяет как бы эмулировать к примеру числовые номера строк, но другие плюшки сразу же отвалятся, а сам компилятор останется тяжеловесным и напичканным разной "дурью".. И куда податься бедному вечно-начинающему?.. Либо писать свой компилятор, либо ждать, пока его кто-то напишет через 200 с небольшим лет..
1
|
||
|
COM‐пропагандист
|
|||||
| 16.11.2022, 13:17 | |||||
|
COM — это просто диспетчеризация вызовов по виртуальной таблице функций. COM есть везде, он неубиваем, потому что все мейнстримовые языки программирования создают VTABLE у объектов, а если не создают, как например си, так программист делает VTABLE руками. В линуксовом ядре постоянно применяются интерфейсы и наследование. Добавлено через 38 минут Во‐вторых, это было нужно для диалогового режима, и в 2022 году этот режим умер.
2
|
|||||
|
|
||||||
| 16.11.2022, 14:03 | ||||||
|
0
|
||||||
|
COM‐пропагандист
|
|
| 16.11.2022, 14:14 | |
|
0
|
|
|
|
|
| 16.11.2022, 14:34 | |
|
Повторюсь, таблица функций это не полнофункциональный COM. https://ru.wikipedia.org/wiki/... ject_Model
Изначально задача была в вызове x86 ActiveX DLL из x64 процесса. Чем таблица функций в этом поможет? Нужна поддержка со стороны ОС и как понимаете это гораздо больше чем VTABLE.
1
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||||||
| 16.11.2022, 15:52 [ТС] | ||||||||||||
|
Ну короче, пока печаль ![]() Не получается каменный цветок у Данилы-мастера ![]() Хотя, если следовать аллегории известного анекдота, то именно каменный цветок-то как раз и получается ![]() Файлы .DLL и .TLB вроде бы смастерил, но вот в другой программе получить ссылку (создать объектную переменную) на этот СОМ-сервер пока не могу ![]() Ну и следовательно, не понятно, работоспособный это компонент или нет. Создавал вот так: PowerBasic
Пока пробую обойтись без регистрации в реестре. Просто открываю файл .TLB в СОМ-браузере. Там автоматически пишется код. Ну а дальше (пока неудачно) пытаюсь получить ссылку на этот объект в объектную переменную. Вот так сейчас выглядит мой СОМ-клиент: PowerBasic
0
|
||||||||||||
|
COM‐пропагандист
|
||
| 16.11.2022, 16:03 | ||
|
1
|
||
|
COM‐пропагандист
|
||
| 16.11.2022, 17:16 | ||
|
1. Унаследоваться от IDispatch. 2. Иметь библиотеку типов. Всё остальное делается не на языке программирования, а средствами администрации ОС.
0
|
||
|
|
||
| 16.11.2022, 17:45 | ||
|
Весь все началось с сообщения Изучение основ FreeBasic в сравнении с PowerBasic Прочитайте внимательно что там написано.
0
|
||
|
COM‐пропагандист
|
||
| 16.11.2022, 19:32 | ||
|
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||
| 16.11.2022, 22:54 [ТС] | |||||||
|
СОМ-сервер у меня всё-таки получился. Пришлось зарегистрировать его в реестре, иначе сумел. Зарегистрировал с помощью консольной команды:
Как бы мне теперь этот СОМ-компонент ещё и во FreeBasic'е запустить? Вот итоговая связка (сервер-клиент), которая в PowerBasic'е реально работает.
0
|
|||||||
|
COM‐пропагандист
|
|||||||
| 17.11.2022, 00:18 | |||||||
Сообщение было отмечено Power_Basic как решение
Решение
1
|
|||||||
| 17.11.2022, 00:18 | |
|
Лабораторная работа на изучение основ работы с 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 реально казались вершиной жары, когда можно было весь день пропадать на. . .
|