|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 24954. Ответов 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
|
||
| 08.12.2022, 22:21 [ТС] | ||
|
Я не уверен, что мой провайдер блокирует безобидную ссылку.
0
|
||
|
COM‐пропагандист
|
|
| 08.12.2022, 22:27 | |
|
Power_Basic, скопировать ссылку и вставить в адресную строку, без щелчков по ней, сработает?
0
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 09.12.2022, 13:54 [ТС] | ||
|
Скачался архив VSCodePortable.7z (423,73Мб). А вот простым щелчком обе проблемные ссылки по-прежнему не работают, симптомы аналогичны вчерашним. А вообще что представляет из себя этот контент? Это уже готовая настроенная IDE (для х64) со всеми отладчиками и прочими фичами или как?
0
|
||
|
COM‐пропагандист
|
||
| 09.12.2022, 13:58 | ||
|
Visual Studio Code с расширениями компилятор mingw64 Проект с программой подсчёта символов → откройте в студии каталог CharsCounter.
1
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 09.12.2022, 14:06 [ТС] | ||
|
После распаковки заняло 2,25 Гб дискового пространства.
Добавлено через 4 минуты Но в качестве перспективы на будущее ваш материал будет у меня храниться. В моих ближайших планах именно "Изучение основ FreeBasic в сравнении с PowerBasic" на основе простейших консольных программ. Заодно и пробелы в своих знаниях относительно особенностей передачи параметров в функции, работе с файлами, и прочее, буду постепенно заполнять. На простейших примерах это как раз самое оно.
0
|
||
|
|
||
| 09.12.2022, 14:07 | ||
|
Усугублялось тем, что у папок названия были отнюдь не настолько самодокументированными, как я тут их представляю.
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 09.12.2022, 14:25 [ТС] | ||
|
Мой компилятор (JK-IDE) их очень сильно недолюбливает, глючит ![]() Приходится изголяться на инглише и без пробелов, что не всегда удобно. Как ни крути, а родной язык он в Африке родной язык ![]() Добавлено через 6 минут Виноват, что ошибочно назвал редактор компилятором.
0
|
||
|
COM‐пропагандист
|
|||
| 09.12.2022, 16:20 | |||
|
Добавлено через 35 минут
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||
| 09.12.2022, 21:03 [ТС] | |||||||
|
Вот вы мне лучше скажите, в чём может состоять ошибка в следующем консольном коде? FreeBasic
0
|
|||||||
|
COM‐пропагандист
|
|||||||||||||||||
| 09.12.2022, 21:49 | |||||||||||||||||
|
Если вы решили читать побайтово, а не построчно, вам необходимо подготовить буфер и передать его в GET. Например, так:
1
|
|||||||||||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 11.12.2022, 14:13 [ТС] | ||
|
Или это в принципе невозможно?
0
|
||
|
COM‐пропагандист
|
|
| 11.12.2022, 15:25 | |
|
1
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
| 11.12.2022, 18:23 [ТС] | |
|
0
|
|
|
|
|
| 11.12.2022, 18:42 | |
|
Думаю дело не в строках а в том что GET не предназначен для чтения в строковой массив. https://www.freebasic.net/wiki/KeyPgGetfileio
То есть GET не разделяет файл на строки с копированием каждой из них в свой элемент массива.
1
|
|
|
COM‐пропагандист
|
|||||||||||||||||
| 11.12.2022, 19:35 | |||||||||||||||||
Например ваш файл такой:
То есть в str_arr_1(0) будет не строка текста 123, а десять первых байт файла. Это хорошо видно в отладчике:
1
|
|||||||||||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||
| 11.12.2022, 19:52 [ТС] | |||||||
|
Но всё-таки с GET хотелось разобраться окончательно, чтобы не оказалось так, что есть возможность, которую я не использую. Стало быть, числовые данные можно считывать из файла в массив, а строковые нельзя. Наверно, потому что каждое число занимает в памяти строго определённое количество байт в зависимости от типа, а строки (в общем случае) все разной длины. FreeBasic
Замабувараев, спасибо за подробное разъяснение.
0
|
|||||||
|
COM‐пропагандист
|
||
| 11.12.2022, 21:05 | ||
|
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 12.12.2022, 15:53 [ТС] | |||
|
Кликните здесь для просмотра всего текста
Короче говоря, я убедился, что без внешних библиотек в этом языке не обойтись, уж очень скуден набор встроенных функций. В связи с этим, начал просматривать WinFBX (Windows Framework for FreeBASIC) и обнаружил, что там совершенно отсутствуют функции по манипуляциям с простыми массивами, но зато в изобилии присутствуют функции по работе с SAFEARRAY. Что такое SAFEARRAY я знаю очень отдалённо, поскольку никогда не имел с ними дело. Знаю только, что это структура, которая описывает массив, что SAFEARRAY идеально подходит для COM-программирования и что они работают медленнее чем обычные массивы. А вот насколько они медленней и если незначительно, тогда может быть имеет смысл полностью перейти на постоянное использование SAFEARRAY вместо обычных массивов?
0
|
|||
|
COM‐пропагандист
|
||||||||
| 12.12.2022, 19:34 | ||||||||
|
SAFEARRAY — это единственный допустимый тип массива для дуальных интерфейсов и интерфейсов Автоматизации. VB6 при создании Public-интерфейсов всегда использует SAFEARRAY и прекрасно их понимает сам. Недостаток: не может занимать больше 2 гигабайт. Вот пример как создать одномерный массив, заполнить случайным значением и распечатать:
1
|
||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||
| 12.12.2022, 20:15 [ТС] | |||||
![]() Давайте сравним набор ВСТРОЕННЫХ средств для работы с массивами с тем же PowerBasic'ом: FreeBasic Кликните здесь для просмотра всего текста
PowerBasic
0
|
|||||
| 12.12.2022, 20:15 | |
|
Лабораторная работа на изучение основ работы с debug.exe Лабораторная работа(Изучение основ.Одномерный и двумерный массивы.Процессы) Проблема с Imagelist в PowerBasic 10 FreeBASIC Уйти с freebasic Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|