Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/78: Рейтинг темы: голосов - 78, средняя оценка - 4.86
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443

Изучение основ FreeBasic в сравнении с PowerBasic

10.10.2022, 22:17. Показов 22100. Ответов 218

Студворк — интернет-сервис помощи студентам
Всем добра и мира!

К сожалению, PowerBasic прекратил своё развитие вследствие смерти его создателя и главного (а скорее всего, единственного) разработчика Роберта Зейла в 2012-ом году. К настоящему времени последние надежды на его развитие окончательно угасли. В связи с этим я решил приступить к изучению основ FreeBasic'а.

В этой ветке форума буду задавать вопросы, возникающие у меня в процессе ознакомления с этим ЯП.

Как говорится, всё познаётся в сравнении. Ну вот и буду изучать FreeBasic, опираясь на определённый опыт ЛЮБИТЕЛЬСКОГО программирования на PowerBasic'е.

Буду очень благодарен за любую помощь.

Итак, первый возникший у меня вопрос.

Каким образом в структурах FreeBasic'а появилась возможность использовать динамические строки?
В PowerBasic'е это строго запрещено. Можно использовать только строки фиксированной длины.

Вот 2 работающих (с одним и тем же результатом на консоли) кода для сравнения:

FreeBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TYPE Persons
    Name AS STRING
    Surname AS STRING
    Age AS BYTE = 35
END TYPE
 
DIM Vpersons AS Persons
 
Vpersons.Name="Richard"
Vpersons.Surname="Black"
 
? Vpersons.Name
? Vpersons.Surname
? Vpersons.Age
Sleep
PowerBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#COMPILE EXE
#DIM ALL
 
TYPE Persons
  Name AS STRING*10       'если здесь написать "Name AS STRING", компилятор бастует
  Surname AS STRING*10   'если здесь написать "Surname AS STRING", компилятор бастует
  Age AS BYTE           'значение по умолчанию здесь присвоить не получится
END TYPE
 
FUNCTION PBMAIN () AS LONG
DIM Vpersons AS Persons
 
  Vpersons.Name="Richard"
  Vpersons.Surname="Black"
  Vpersons.Age = 35
 
  ? Vpersons.Name
  ? Vpersons.Surname
  ? Vpersons.Age
 
  SLEEP 5000    'если SLEEP без указания продолжительности, компилятор бастует
END FUNCTION
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.10.2022, 22:17
Ответы с готовыми решениями:

Перегрузка методов (изучение основ)
Добрый день! Вот я добрался до перегрузки методов и быстренько накидал вот такой пример: using System; namespace...

Сколько в среднем часов уходит на изучение основ C++?
1) Если с нуля 2) Если после паскаля или чего то в этом духе

Групповое изучение программирование с основ без преподавателя
Суть: Студенты 3 курса Специальность: информационно вычислительная техника, после третьего курса "Аналитики" С с божьей...

218
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
19.11.2022, 14:27  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от The trick Посмотреть сообщение
Без хитрых хаков невозможно загрузить DLL одной разрядности в процесс другой разрядности.
Цитата Сообщение от The trick Посмотреть сообщение
Цитата Сообщение от testuser2 Посмотреть сообщение
Или придумать какой-нибудь враппер, прокладку короче между x64 и x32, если конечно такое возможно.
Так в чем COM не подходит? Вон из одного приложения просто вызываешь pObj.Meth и в другом происходит вызов.
Хотелось бы всё-таки не выходить за рамки одного приложения. Ну в смысле, в идеальном сценарии COM-сервер (х64) загружает COM-клиента (х32) в своё адресное пространство ("in-process").
Но если для этого потребуются "хитрые хаки", тогда, пожалуй, игра не стоит свеч.
0
1403 / 861 / 93
Регистрация: 08.02.2017
Сообщений: 3,676
Записей в блоге: 2
19.11.2022, 14:49
Цитата Сообщение от The trick Посмотреть сообщение
Так в чем COM не подходит?
Его и имел в виду. Но там наверное понадобится два компонента - один общается с x64 другой с x86 а между собой по COM. Решил проверить одну COM-овскую тему - позволяет обмениваться данными между отдельными процессами (допустим два скрипта VBS или Autoit). Впервые узнал на форуме скриптовиков, от туда же класс "GlobalContainer". Получилось передать "коллекцию" из 32-битного макроса (Эксель) в 64-битный VBS-скрипт (wscript.exe).
Кликните здесь для просмотра всего текста
Макрос Excel. Нужны референсы "Microsoft Internet Control" и "Microsoft Shell Controls And Automation"
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub testIbrowserObject()
    Static IWB2 As IWebBrowser2, GlbColl As New Collection, init As Boolean
    If init = False Then
      Dim ShellWindows As New ShellWindows
      For Each IWB2 In ShellWindows 'CreateObject("Shell.Application").Windows
          If IWB2.GetProperty("Iwb2ID") = 1 Then init = True: Exit For
      Next
      If init = False Then
          Set IWB2 = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
          IWB2.PutProperty "Iwb2ID", 1
          init = True
      End If
      IWB2.PutProperty "MacroReport", GlbColl
    End If
 
    GlbColl.Add "fafafaf\ffafa", "MacroStr"    
    
End Sub
VBS-скрипт
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Dim gCon, GlbColl
Set gCon = New GlobalContainer
gCon.Open "Iwb2ID"
 
Set GlbColl = gCon.GetProperty("MacroReport")
MsgBox Typename(GlbColl)
MsgBox GlbColl.Count
Msgbox GlbColl("MacroStr")
 
Class GlobalContainer
    Private wnd, owner
    Sub Open(name)
        For Each wnd in CreateObject("Shell.Application").Windows
            If wnd.GetProperty("Iwb2ID") = 1 Then Exit Sub
        Next
        owner = True
        Set wnd = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
        wnd.PutProperty "Iwb2ID", 1
    End Sub
    
    Sub PutProperty(name, value)    
        wnd.PutProperty name, value
    End Sub
    
    Function GetProperty(name)
        On Error Resume Next
        if IsObject(wnd.GetProperty(name)) Then
            Set GetProperty = wnd.GetProperty(name)
        Else
            GetProperty = wnd.GetProperty(name)
        End if
    End Function
 
    Private Sub Class_Terminate()
        On Error Resume Next
        if owner Then wnd.Quit()
    End Sub
End Class
2
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
19.11.2022, 15:14
Цитата Сообщение от testuser2 Посмотреть сообщение
Но там наверное понадобится два компонента - один общается с x64 другой с x86 а между собой по COM.
В системе уже есть нужный функционал - dllhost.exe. Все что нужно просто в реестре добавить пару записей и Dll будет загружаться в свой процесс.
2
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
19.11.2022, 16:29  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Цитата Сообщение от testuser2 Посмотреть сообщение
Но там наверное понадобится два компонента - один общается с x64 другой с x86 а между собой по COM.
В системе уже есть нужный функционал - dllhost.exe. Все что нужно просто в реестре добавить пару записей и Dll будет загружаться в свой процесс.
Это и есть те самые хитрые хаки, о которых вы упоминали выше?
Или testuser2 нашёл более оптимальное решение этой проблемы?
0
1403 / 861 / 93
Регистрация: 08.02.2017
Сообщений: 3,676
Записей в блоге: 2
19.11.2022, 16:57
Power_Basic, нашел не я, тема известная давно). "Технология" опирается на некие скрытые окна проводника, которые выдают себя за InternetExplorer.. Через эти окна еще какие-то темы делают, где-то что-то видел, щас не вспомню (по моему связано с интернетом). Из того, что заметил, можно таким способом передать ссылку на объект, но нельзя передать типизированную переменную по ссылке, допустим какой-нибудь большой массив. Получается надо массив покласть в этот объект (или объект передаваемый по ссылке), а в другом процессе извлечь и все используя тип вариант - двойные или тройные издержки по времени в сравнении если бы это происходило в каком-то едином адресном пространстве..
1
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
19.11.2022, 18:21
Цитата Сообщение от Power_Basic Посмотреть сообщение
Это и есть те самые хитрые хаки, о которых вы упоминали выше?
Это не хаки, хаки это загрузка либы одной разрядности в процесс другой разрядности. А это стандартный маршалинг. Либа грузится в другой процесс с нужной битностью и ссылка маршалится в целевой процесс.
1
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
02.12.2022, 14:07  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
Помните, что чем дольше у вас не будет полноценного 64-битного варианта, тем больше сложностей будет возникать с поддержкой 32‐битного приложения, устанавливаемого на 64-битные версии Windows.
Уж очень много организационной неразберихи по сравнению с другими языками, где всё "на блюдечке", всё "в одном флаконе".
За примерами далеко ходить не надо. Это и VB, и PowerBasic, и PureBasic.
Там IDE выбирать не надо, дебаггер на стороне искать не надо, справочная система по IDE имеется в каждом из этих редакторов и причём очень подробная.

А во FreeBasic'е либо редактор старинный и не развивается с 2011-го года, либо справочной системы вовсе нет.
Ваш совет писать на Ноутпеде плюс плюс это точно не для новичков, это для профессионалов.

А вот интересно, представьте себе, что вы сами только-только приступаете к изучению этого языка. Какую IDE выбрали бы? С какой справочной документации начали бы изучение?
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.12.2022, 16:01
Power_Basic, всё совершенно наоборот. Когда новичок открывает сложную IDE вроде Визуальной Студии 2022, то вместо изучения как писать циклы, условия и функции пойдёт борьба с IDE.

Новички на то и новички, что у них программы простые на 10‐20 строк (заполните массив с клавиатуры и выведите максимальное на распечать). Такие программы можно писать в блокноте и компилировать перетаскиванием мышкой.

Если у вас программа усложняется и становится похожей на что‐то вроде лабораторных задач первого семестра (телефонная книга, база данных, крестики‐нолики), то здесь уже нужна подсветка синтаксиса, и подойдёт Notepad++. Но всё ещё можно обойтись компиляцией через перетаскивание мышкой.

Когда появятся задачи уровня арканоида, шахмат, пасьянсов, чатов по сети, где уже одним файлом не обойтись, то можно взять какую‐нибудь IDE. Этих IDE для фрибесика уже как пруд пруди, на оффоруме есть даже специальная тема.

Cледует помнить, что идеальной IDE не существует, всегда есть какие‐то достоинства и недостатки. Самой костюмизируемой IDE на сегодняшний момент является Visual Studio Code, для неё уже написаты миллионы плюйгинов, можете использовать её.

Инструкция по настройке VSCode для фрибесика

Вам придётся изучить какую‐нибудь систему контроля версий, GIT или SVN, они все интегрированы в IDE. Потому что без них сейчас никуда, все проекты на гитхабе выкладывают. И выкладывать исходники в архиве на каких‐нибудь шаропомойках — это неуважение к пользователю.

Когда ваш проект разрастётся до N файлов и вам надоест идти и ставить чайник чтобы дождаться результата компиляции, то придётся изучить какую‐нибудь систему сборки, например, утилиту make, чтобы каждый раз не компилировать весь проект с нуля, а компилировать только те файлы, которые изменились.

Вот запуск фрибейсика под отладчиком в VSCode:

Кстати, скомпилировать фрибейсик под виндоуз довольно просто, достаточно скачать исходники (клонировать репозиторий) зайти в директорию «src\compiler» и выполнить «fbc64.exe -m fbc -x fbc64.exe *.bas». И у вас будет собственноручно собранный компилятор, с самыми последними изменениями.
1
Эксперт по электронике
7001 / 3317 / 341
Регистрация: 28.10.2011
Сообщений: 13,035
Записей в блоге: 7
02.12.2022, 18:41
Цитата Сообщение от Замабувараев Посмотреть сообщение
Вам придётся изучить какую‐нибудь систему контроля версий, GIT или SVN, они все интегрированы в IDE.
Зачем новичку или недавно начавшему система контроля версий?
Это лишнее.

Цитата Сообщение от Замабувараев Посмотреть сообщение
все проекты на гитхабе выкладывают.
Не все. Я не выкладываю. Это не нужно.

Цитата Сообщение от Замабувараев Посмотреть сообщение
Вот запуск фрибейсика под отладчиком в VSCode:
Настройте IDE и выложите портативную версию. Думаю многие спасибо скажут.
2
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.12.2022, 20:25
Цитата Сообщение от locm Посмотреть сообщение
Зачем новичку или недавно начавшему система контроля версий?
Ну когда у нас программа не больше 20 строк в одном файле — конечно лишнее.
А когда надо выполнить «Убрать изменения» которые ломают программу или приводят к ошибке, как вы поступите? Ctrl+Z нажмёте? А если в нескольких файлах или изменения были сделаны после перезагрузки?
Цитата Сообщение от locm Посмотреть сообщение
Настройте IDE и выложите портативную версию. Думаю многие спасибо скажут.
У меня пути к на мои сетевые диски поставлены, придётся переписывать.
И вообще я собираю утилитой make, а это точно не для новичков.
0
Эксперт по электронике
7001 / 3317 / 341
Регистрация: 28.10.2011
Сообщений: 13,035
Записей в блоге: 7
02.12.2022, 20:43
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ну когда у нас программа не больше 20 строк в одном файле — конечно лишнее.
Много у вас проектов на FB содержащих больше 20 тысяч строк?
Я спросил про новичков. Много вы знаете новичков работающих на проектами с несколькими десятками тысяч строк?
Уверены что Power_Basic необходима система контроля версий?

Цитата Сообщение от Замабувараев Посмотреть сообщение
А когда надо выполнить «Убрать изменения» которые ломают программу или приводят к ошибке, как вы поступите? Ctrl+Z нажмёте?
Периодически архивирую проект. Если что, откатиться назад не сложно.
Если говорить о PB, в его IDE есть история сессий - автоматическое сохранение текущего кода исходников. Сохраняются в том числе исходники без проектов и те что не были сохранены в файле. Откатиться назад тоже можно.

Цитата Сообщение от Замабувараев Посмотреть сообщение
У меня пути к на мои сетевые диски поставлены, придётся переписывать.
Так сделайте для народа. Может будет больше желающих юзать FB.

Цитата Сообщение от Замабувараев Посмотреть сообщение
И вообще я собираю утилитой make, а это точно не для новичков.
Причем здесь make? Вы писал про VSCode и выложили его скрин.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.12.2022, 22:09
Цитата Сообщение от locm Посмотреть сообщение
Так сделайте для народа. Может будет больше желающих юзать FB.
Вообще это будет нарушением авторских и каких‐то там ещё прав.
Цитата Сообщение от locm Посмотреть сообщение
Причем здесь make? Вы писал про VSCode и выложили его скрин.
Студия же не сама собирает проекты. Она для этого запускает утилиты. Я использую утилиту make.
Цитата Сообщение от locm Посмотреть сообщение
Много у вас проектов на FB содержащих больше 20 тысяч строк?
Например, вебсервер «Станция 922»
116 файлов, 21461 строк, 491 комментариев, 6188 пустых строк, итого 28140 строк.
0
Эксперт по электронике
7001 / 3317 / 341
Регистрация: 28.10.2011
Сообщений: 13,035
Записей в блоге: 7
02.12.2022, 22:42
Цитата Сообщение от Замабувараев Посмотреть сообщение
Вообще это будет нарушением авторских и каких‐то там ещё прав.
Зачем такая IDE которая нарушает авторские права?

Цитата Сообщение от Замабувараев Посмотреть сообщение
Например, вебсервер «Станция 922»
А кроме этого? Или только один проект с числом строк больше 20 тысяч? Тогда нет смысла в системе контроля версий. Достаточно периодически архивировать проект.

Цитата Сообщение от Замабувараев Посмотреть сообщение
116 файлов, 21461 строк, 491 комментариев, 6188 пустых строк, итого 28140 строк.
Пустые строки это не код. Их не считаем.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
02.12.2022, 23:35
Цитата Сообщение от locm Посмотреть сообщение
Зачем такая IDE которая нарушает авторские права?
Вот потому я и не делаю всякие сборки от васяна и зверь‐сди. Студия лежит на офсайте, и у меня в голове зазвучит тревожный звоночек, если кто‐то не может скачать и поставить в два шлика мышкой.
Цитата Сообщение от locm Посмотреть сообщение
Достаточно периодически архивировать проект.
Чем фиксация в хранилище не архивирование проекта?
Во‐вторых, как вы будете историю изменений смотреть? Например, что убрали и добавили, какие файлы и строки затронуты, сделать diff вроде такого: https://github.com/BatchedFile... 003e3ef0d3
0
Эксперт по электронике
7001 / 3317 / 341
Регистрация: 28.10.2011
Сообщений: 13,035
Записей в блоге: 7
03.12.2022, 00:10
Цитата Сообщение от Замабувараев Посмотреть сообщение
если кто‐то не может скачать и поставить в два шлика мышкой.
Нужно гораздо больше чем 2 клика мышкой.
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
05.12.2022, 22:22  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Зачем новичку или недавно начавшему система контроля версий?
Это лишнее.
Цитата Сообщение от locm Посмотреть сообщение
Много у вас проектов на FB содержащих больше 20 тысяч строк?
Я спросил про новичков. Много вы знаете новичков работающих на проектами с несколькими десятками тысяч строк?
Уверены что Power_Basic необходима система контроля версий?
Да уж, ваша правда
Не сомневаюсь, что Замабувараев очень хороший человек и очень хороший специалист в своём деле, но вот педагогических способностей у него точно не хватает

На протяжении всей этой ветки упорно твержу, что я "домохозяйка", что я не профессионал, что я "первоклассник".
А что нужно первокласснику?
Букварь, тетрадка и авторучка.

А Замабувараев настойчиво подсовывает мне учебники по высшей математике.
Сразу в первом классе синусы, логарифмы и производные

Кстати, это идеальный образ действий для того, чтобы отбить кому-нибудь охоту изучать что-то. Просто утопи его в изобилии заумных терминов и понятий, он решит, что "ну это точно не моего ума дело" и пойдёт тупо гонять во дворе мячик

Но, к сожалению, на этом форуме он чуть ли не единственный специалист по фрибейсику, который отвечает на вопросы по этому языку. У него, можно сказать, монополия

Я уж грешным делом постоянно посматриваю и на PureBasic тоже, поскольку вы, как я уже очень давно успел заметить, объясняете очень хорошо, и с вами мне, если по-честному, общаться гораздо проще и интереснее чем с Замабувараевым.
Ну и кроме того, я в курсе, что вы являетесь общепризнанным экспертом по этому языку в русскоязычном комьюнити.
Так что у вас, несомненно, есть чему поучиться, и вы, несомненно, можете многому научить.

Жалко, что по синтаксису "мой" PowerBasic гораздо ближе именно к фрибейсику чем к PureBasic-у.
Простые консольные программки можно компилировать в обоих компиляторах практически без изменений.
Так что придётся мне, видать, осваивать фрибейсик самостоятельно. Ну собственно, так я и PowerBasic изучаю всё это время. У нас он нынче "не в моде", а у буржуев хрен спросишь. Они на свой форум нашего брата и в лучшие-то времена не пускали, а уж теперь-то и подавно
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
06.12.2022, 08:12
Цитата Сообщение от Power_Basic Посмотреть сообщение
На протяжении всей этой ветки упорно твержу, что я "домохозяйка", что я не профессионал, что я "первоклассник".
А что нужно первокласснику?
Букварь, тетрадка и авторучка.
Вариант с Visual Studio Code вас не устраивает, потому что вы «первоклассник и слишком сложно», а вариант с Notepad++ вас не устраивает потому что вы тоже первоклассник? Чего же вы хотите?
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
06.12.2022, 13:06  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
Чего же вы хотите?
Да простоты хочу, максимальной простоты

Цитата Сообщение от Замабувараев Посмотреть сообщение
Вариант с Visual Studio Code вас не устраивает, потому что вы «первоклассник и слишком сложно», а вариант с Notepad++ вас не устраивает потому что вы тоже первоклассник?
Погуглил. Нашёл их сайт. Там прочитал следующее:
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET).
Ну это же "комбайн" какой-то всеядный.
Хотелось бы какой-нибудь редактор, "заточенный" именно под FreeBasic.

Цитата Сообщение от Замабувараев Посмотреть сообщение
Инструкция по настройке VSCode для фрибесика
Ну вот, его ещё и настраивать надо под конкретный язык.

Вот смотрите, у меня сейчас имеются четыре IDE, предназначенные именно (и только) для фрибейсика. Это (в алфавитном порядке):

FbEdit
IUP_FB_EDITOR
VisualFBEditor
WinFBE

И я уже имею некоторое ПРАКТИЧЕСКОЕ знакомство с каждым из них. Ну вот очень простой вопрос: какой бы из этих четырёх вы выбрали бы, если бы только-только приступили к изучению фрибейсика, но вместе с тем, рассматривали бы перспективу (а это уже с высоты своего нынешнего опыта и знаний) его постоянного использования в течении предстоящих долгих лет жизни?

Вот давайте я охарактеризую каждый из этих редакторов "со своей колокольни":

FbEdit
Минусы:
- последнее обновление: 2010
- как я понял (возможно ошибочно), не годится для компиляции под х64
- нет встроенного отладчика ("из коробки"), хотя в опциях интерфейсного меню отладчик фигурирует

Плюсы:
- хорошая справочная система (англ)

IUP_FB_EDITOR
Минусы:
- нет встроенного отладчика ("из коробки")
- у меня сложилось такое (возможно ошибочное) впечатление, что автор уже давно не развивает свой редактор. Ну в смысле, именно сам редактор. Выпускает, так называемые, "сборки". То есть, как я понимаю, просто подключает новые библиотеки.
- слишком уж краткая справочная система. Например, в дистрибутиве имеется файл \Build_109_32\compiler\bin\win32\Debug.e xe. Но как использовать этот отладчик, "догадайся сам", про это в справке ни гу-гу
Да и в интерфейсном меню нет ни одного упоминания про отладку.

Плюсы:
- и всё-таки неплохая справочная система (рус)

VisualFBEditor
Минусы:
- полное отсутствие ну хоть какой-нибудь справки, ну реально ни единой строчки. Например, в интерфейсном меню имеются (в отличие от IUP_FB_EDITOR) опции "Debug", "Step in", и прочие. Но как подключить отладчик совершенно не понятно ввиду опять же отсутствия справки.
На самом деле, автора понять можно, - редактор бурно развивается, и у него просто не хватает времени для написания справки.
- отсутствие встроенного отладчика ("из коробки")

Плюсы:
- стильный
- современный
- продвинутый
- бурно развивается

WinFBE
Минусы:
- справка такая лаконичная, что её, практически, нет
- нет встроенного отладчика ("из коробки"), и даже в интерфейсном меню отсутствуют соответствующие опции

Плюсы:
- стильный
- современный
- продвинутый
- бурно развивается

Ну а теперь давайте раскрою секрет, почему я такой привередливый. Дело в том, что мой любимый редактор для PowerBasic'а это JK-IDE. Изначально это был редактор только для PowerBasic'а. Потом автор решил приспособить его также и для фрибейсика. Приспособил. В течение некоторого времени поддерживал оба языка. Потом разругался с "главарями" фрибейсика
Уж и не знаю, кто может командовать в коллективной бесплатной разработке. Но факт есть факт, - какие-то местные "авторитеты" там всё-таки имеются, и вот с ними-то он и разругался по той причине, что, потратил много времени на разработку добавления к компилятору тех возможностей обработки строк, которых на данный момент нет во фрибейсике, но которые имеются в PowerBasic'е.
Он хотел, чтобы эти доработки были встроены в сам компилятор, а ему там местные авторитеты ответили отказом. Ну то есть, отдельной библиотекой можно, а в сам компилятор встраивать нельзя. Короче, он на них обиделся и полностью прекратил развитие фрибейсиковской части своего редактора в 2018 году. Ну а как известно, сам PowerBasic не развивается с 2013 года.
Тем не менее, он свой редактор старательно поддерживает, постоянно добавляет новые фичи по просьбам мемберов буржуйского PowerBasic-ого сайта. Так что нельзя сказать, что сам редактор не развивается.

JK-IDE
Минусы:
- фрибейсиковская часть уже никогда (судя по настроению автора) не будет развиваться.
Ну то есть можно самостоятельно обновлять версию компилятора, но как там это всё будет взаимодействовать "внутри", хрен её знает

Плюсы:
- встроенный и уже давно привычный для меня отладчик ("из коробки")
- роскошная подробнейшая справочная система (англ)
- ну и просто привычная для меня "среда обитания"

Так что мне есть с чем сравнивать. Можно сказать, живу на всём готовом
Но я был уверен, что из такого изобилия разнообразных редакторов под фрибейсик обязательно можно будет найти что-то не уступающее редактору, который принципиально прекратил обновлять свою фрибейсиковскую начинку 4 года назад.
Получается, что я ошибался и потратил столько времени впустую

Цитата Сообщение от Замабувараев Посмотреть сообщение
а вариант с Notepad++ вас не устраивает
Может быть я не прав, но мне это видится, как если писать код на коленке где-то на опушке леса, когда вокруг изобилие более или менее удобных кабинетов с более или менее удобными письменными столами.

Прошу считать дальнейший текст исключительно криком души

Ну это же всё-таки бейсик... БЕЙСИК!

Меня - бегиннера - должны за ручку во всех редакторах водить, ну по крайней мере, на первых порах.
Наплодили целую кучу редакторов. Нет бы собраться всем вместе, смастерить и поддерживать на постоянной основе один-единственный, но зато идеальный FreeBasic -редактор
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.12.2022, 14:42
Цитата Сообщение от Power_Basic Посмотреть сообщение
Да простоты хочу, максимальной простоты
Вот что написано в вики:
"При проектировании языка использовались следующие восемь принципов. Новый язык должен был:

Быть простым в использовании для начинающих.
Быть языком программирования общего назначения.
Предоставлять возможность расширения функциональности, доступную опытным программистам.
Быть интерактивным.
Предоставлять ясные сообщения об ошибках.
Быстро работать на небольших программах.
Не требовать понимания работы аппаратного обеспечения.
Защищать пользователя от операционной системы."
Самое главное я выделил. Теперь зададимся вопросом: защищает ли free basic программиста от ОС? Судя по коду Замабувараев - нет, не зачищает. Чтобы получить окошки надо использовать низкоуровневые апи хост системы.
Значит это не basic.
1
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
06.12.2022, 17:50
Цитата Сообщение от Power_Basic Посмотреть сообщение
VisualFBEditor
Минусы:
- полное отсутствие ну хоть какой-нибудь справки, ну реально ни единой строчки. Например, в интерфейсном меню имеются (в отличие от IUP_FB_EDITOR) опции "Debug", "Step in", и прочие. Но как подключить отладчик совершенно не понятно ввиду опять же отсутствия справки.
На самом деле, автора понять можно, - редактор бурно развивается, и у него просто не хватает времени для написания справки.
- отсутствие встроенного отладчика ("из коробки")
Да, справки нет. Но у моего редактора есть два вида встроенного отладчика. Один из них Integrated IDE Debugger (64-битное версия работает только с компиляторами до версии 1.07.3, 32-битное со всеми), а второй Integrated GDB Debugger (требуется только сам gdb, DownloadAndCompileWithQuestions.bat устанавливает и компилятор, и gdb).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2022, 17:50

Лабораторная работа на изучение основ работы с debug.exe
Ход работы 1. Запишите в отчет тему и цель. 2. В командной строке наберите debug. У вас должно появиться на экране окно отладчика с...

Лабораторная работа(Изучение основ.Одномерный и двумерный массивы.Процессы)
Ребята, помогите с задачами, дали написать задачи на VBA (ни разу с ним не имел дела), первые 3 задачи делал на python'e может быть Вы...

Проблема с Imagelist в PowerBasic 10
Я хочу в ресурс вставить одно растровое изображение. Затем с помощью графических команд вырезать кусочки в память и добавлять их в...

FreeBASIC
Заметил, что уже имеющиеся на форуме темы в разделах: - QBasic - Visual Basic - VBA - Pure Basic посещаются довольно часто –...

Уйти с freebasic
написал кое как программу с openCL на freebasic там моделируется взfвимодействие частиц через потенциал парного взаимодейстивия ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой Зрите в корень - монополизация на разработку программ. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
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 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru