|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 21982. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую:
Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
|
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий?
Да, такие данные есть, и они хорошо описаны и в российской,. . .
|
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|