|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
Изучение основ FreeBasic в сравнении с PowerBasic10.10.2022, 22:17. Показов 22648. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
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 реально казались вершиной жары, когда можно было весь день пропадать на. . .
|