Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443

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

10.10.2022, 22:17. Показов 22661. Ответов 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
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 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
Модератор
10065 / 3910 / 885
Регистрация: 22.02.2013
Сообщений: 5,860
Записей в блоге: 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
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
19.11.2022, 16:57
Power_Basic, нашел не я, тема известная давно). "Технология" опирается на некие скрытые окна проводника, которые выдают себя за InternetExplorer.. Через эти окна еще какие-то темы делают, где-то что-то видел, щас не вспомню (по моему связано с интернетом). Из того, что заметил, можно таким способом передать ссылку на объект, но нельзя передать типизированную переменную по ссылке, допустим какой-нибудь большой массив. Получается надо массив покласть в этот объект (или объект передаваемый по ссылке), а в другом процессе извлечь и все используя тип вариант - двойные или тройные издержки по времени в сравнении если бы это происходило в каком-то едином адресном пространстве..
1
Модератор
10065 / 3910 / 885
Регистрация: 22.02.2013
Сообщений: 5,860
Записей в блоге: 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
Эксперт по электронике
7156 / 3335 / 342
Регистрация: 28.10.2011
Сообщений: 13,154
Записей в блоге: 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
Эксперт по электронике
7156 / 3335 / 342
Регистрация: 28.10.2011
Сообщений: 13,154
Записей в блоге: 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
Эксперт по электронике
7156 / 3335 / 342
Регистрация: 28.10.2011
Сообщений: 13,154
Записей в блоге: 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
Эксперт по электронике
7156 / 3335 / 342
Регистрация: 28.10.2011
Сообщений: 13,154
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Часы электронные
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 реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru