|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 22077. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
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 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|