Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/107: Рейтинг темы: голосов - 107, средняя оценка - 4.95
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2

FreeBasic. MyFbFramework + VisualFBEditor

14.07.2018, 20:36. Показов 23040. Ответов 158

Студворк — интернет-сервис помощи студентам
Начал новый фреймворк для FreeBasic: MyFbFramework
И редактор для него: VisualFBEditor

Файлы здесь:
https://www.cyberforum.ru/blog... g5346.html
https://github.com/XusinboyBekchanov/MyFbFramework

Скриншоты:

Демка:
PureBasic
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
'#Compile -ex "mff\xpmanifest.rc"
#Include Once "mff\Form.bi"
#Include Once "mff\CheckBox.bi"
#Include Once "mff\CommandButton.bi"
#Include Once "mff\HScrollBar.bi"
#Include Once "mff\ComboBoxEdit.bi"
#Include Once "mff\ListControl.bi"
#Include Once "mff\TextBox.bi"
 
Using My.Sys.Forms
 
'#Region "Form"
    Type Form1 Extends Form
        Declare Constructor
        
        Dim As CheckBox CheckBox1
        Dim As CommandButton CommandButton1
        Dim As HScrollBar HScrollBar1
        Dim As ComboBoxEdit ComboBoxEdit1
        Dim As ListControl ListControl1
        Dim As TextBox TextBox1
    End Type
    
    Constructor Form1
        ' Form1
        This.Name = "Form1"
        This.Text = "Form1"
        This.SetBounds 0, 0, 350, 300
        ' CheckBox1
        CheckBox1.Name = "CheckBox1"
        CheckBox1.Text = "CheckBox1"
        CheckBox1.SetBounds 60, 42, 150, 36
        CheckBox1.Parent = @This
        ' CommandButton1
        CommandButton1.Name = "CommandButton1"
        CommandButton1.Text = "CommandButton1"
        CommandButton1.SetBounds 102, 108, 132, 60
        CommandButton1.Parent = @This
        ' HScrollBar1
        HScrollBar1.Name = "HScrollBar1"
        HScrollBar1.Text = "HScrollBar1"
        HScrollBar1.SetBounds 150, 192, 174, 18
        HScrollBar1.Parent = @This
        ' ComboBoxEdit1
        ComboBoxEdit1.Name = "ComboBoxEdit1"
        ComboBoxEdit1.SetBounds 228, 18, 66, 21
        ComboBoxEdit1.Parent = @This
        ' ListControl1
        ListControl1.Name = "ListControl1"
        ListControl1.Text = "ListControl1"
        ListControl1.SetBounds 24, 174, 84, 72
        ListControl1.Parent = @This
        ' TextBox1
        TextBox1.Name = "TextBox1"
        TextBox1.Text = "TextBox1"
        TextBox1.SetBounds 246, 60, 84, 42
        TextBox1.Parent = @This
    End Constructor
    
    #IfnDef _NOT_AUTORUN_FORMS_
        Dim frm As Form1
        frm.Show
    
        App.Run
    #EndIf
'#End Region
Миниатюры
FreeBasic. MyFbFramework + VisualFBEditor   FreeBasic. MyFbFramework + VisualFBEditor   FreeBasic. MyFbFramework + VisualFBEditor  

Вложения
Тип файла: zip Form1.zip (195.1 Кб, 15 просмотров)
3
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.07.2018, 20:36
Ответы с готовыми решениями:

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

Графика FreeBasic
Приветствую всех cyber-форумчан!:) Несмотря на наличие графического треда в младшем разделе, создаю ещё одну тему конкретно для...

Осваиваю (ем) FreeBasic
Решил больше не тянуть, а приступить сегодня. Если тема будет актуальна - возможно модераторы раздела ее (тему) как-нибудь оформят. ...

158
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,362
19.08.2018, 17:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от coderxx Посмотреть сообщение
Если будем указать только одну файл или проект как основной, то кроме этого файла ничего не можем компилировать, придется закрыть сессию, а заново создать новую сессию.
Ну, не обязательно, можно было бы назначать текущим любой файл или проект.
Цитата Сообщение от coderxx Посмотреть сообщение
Или можно сделать Solution как в Visual Studio.
Насколько я понимаю Solution это решение, объединяющее несколько проектов. соответственно в сессии могут быть и решения на равных правах с проектами и файлами. Сессия это коллекция не связанных друг с другом объектов (файлов, проектов, решений) и дает возможность не перезагружать их в процессе работы. Причем можно сделать настройку для разделения вкладок: разделенная, когда для каждого проекта/решения/файла свой собственный набор вкладок, общая, когда для всех файлов/проектов/решений одна панель вкладок и вкладки могут быть перемешаны.

Нечто похожее реализовано в net beans, кажется
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.08.2018, 15:50
Цитата Сообщение от vlisp Посмотреть сообщение
Причем можно сделать настройку для разделения вкладок: разделенная, когда для каждого проекта/решения/файла свой собственный набор вкладок, общая, когда для всех файлов/проектов/решений одна панель вкладок и вкладки могут быть перемешаны.
Усложнять можно до бесконечности. Главное потом найти человека, который этим будет пользоваться.
Пользоваться - означает реализовывать проекты подстать этим возможностям. Т.е. возможности
должны что-то давать, а не быть балластом.
Кто-нибудь тут вообще осознаёт в какой ситуации сейчас комьюнити находится?
Идёт обсуждение космических каких-то штук, при том, что люди не пишут софт чуть более, чем вообще.
Осознание ещё не пришло, да да это тот самый FreeBASIC. Не PureBasic, не с++, не Delphi RAD не платформа .Net.
Мне напомнить про основной контингент? Или будет залажена старая шарманка про то, что мир меняется,
всё меняется. Это чем-то напоминает сюжет из фантастических 3D экшенов, например из старого Doom 3
на безжизненной планете создаётся субатомный фазовый деконструктор, который "позволит всё изменить"
и мол ведёт людей "в светлое будущее". Так вот обсуждение этой темы напоминает советы по созданию из
обычного молотка этого самого фазового деконструктора.

Цитата Сообщение от coderxx Посмотреть сообщение
- Исправлен баг по пути к компилятору (пробелы, кавычки, ...)
Ага если бы... Ну это так, призыв проверить всё более конкретно и более вдумчиво подойти к этому
вопросу в тестировании.

Цитата Сообщение от vlisp Посмотреть сообщение
Глобальные хранятся в файле настроек редактора, локальные в файле проекта.
Вариантов реализации этого функционала - сотни. Нормальных интуитивных - единицы.
Это задача UX в большей степени. Простой анализ даёт всё возможные расклады из которых
уже можно выбрать наиболее адекватный вариант.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
20.08.2018, 17:10  [ТС]
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Сообщение от coderxx
- Исправлен баг по пути к компилятору (пробелы, кавычки, ...)
Ага если бы... Ну это так, призыв проверить всё более конкретно и более вдумчиво подойти к этому
вопросу в тестировании.
Это решается простыми кавычками, но я не обращал внимание до опубликования.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Кто-нибудь тут вообще осознаёт в какой ситуации сейчас комьюнити находится?
Идёт обсуждение космических каких-то штук, при том, что люди не пишут софт чуть более, чем вообще.
Осознание ещё не пришло, да да это тот самый FreeBASIC. Не PureBasic, не с++, не Delphi RAD не платформа .Net.
Мне напомнить про основной контингент? Или будет залажена старая шарманка про то, что мир меняется,
всё меняется. Это чем-то напоминает сюжет из фантастических 3D экшенов, например из старого Doom 3
на безжизненной планете создаётся субатомный фазовый деконструктор, который "позволит всё изменить"
и мол ведёт людей "в светлое будущее". Так вот обсуждение этой темы напоминает советы по созданию из
обычного молотка этого самого фазового деконструктора.
Если удобные инструменты появиться, люди будут программировать на этом языке тоже. Visual Basic знаете, 2-3 клика и программа готово. Большинство людей пользуется. Только в последнее время интерес к этому языку уменьшается из-за неумения создать 64-битные приложения (и ещё из-за не кроссплатформенности). Люди не программирует на FreeBasic? Посмотрите тогда freebasic.net/forum, сколько людей программирует. Моя конечная цель, проверить свои способности, изучить и обогащать свои знания в этом направлении.
0
Эксперт по электронике
6582 / 3209 / 335
Регистрация: 28.10.2011
Сообщений: 12,525
Записей в блоге: 7
20.08.2018, 21:49
Цитата Сообщение от coderxx Посмотреть сообщение
кроссплатформенности
Как у вашей IDE и библиотек с кроссплатформенностью?
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 04:35  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Как у вашей IDE и библиотек с кроссплатформенностью?
В планах имеется, для этого выбрал пространство имен My.Sys, а не как System.Windows как в VB.NET. За основу хочу брать wxWidgets, так и исходники открытые. Уже в исходники включал "X11.bi". Если начать то надо с "Control.bi" и "Canvas.bi", потому что в первом основные функции, а во втором функции рисования. И жду помощи от Linux-программистов.
0
Эксперт по электронике
6582 / 3209 / 335
Регистрация: 28.10.2011
Сообщений: 12,525
Записей в блоге: 7
21.08.2018, 12:47
Цитата Сообщение от coderxx Посмотреть сообщение
Если начать то надо с "Control.bi" и "Canvas.bi"
Т. е. кроссплатформенным достаточно сделать "Canvas.bi" и т. к. все "самописные" контролы базируются на нем? Я правильно понял? Если так, то подход верный и значительно облегчит задачу.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 13:12  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Т. е. кроссплатформенным достаточно сделать "Canvas.bi" и т. к. все "самописные" контролы базируются на нем? Я правильно понял? Если так, то подход верный и значительно облегчит задачу.
"Canvas.bi" для рисования элементов, "Control.bi" для создания окон, все контролы ссылается на этот файл как базовый. Все равно придется рисовать каждый контрол, в Windows контролах рисования не нужно, потому что у Windows имеется собственные классы ("button", "static", "..."), а в Linux такие классы не имеется.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.08.2018, 15:51
Цитата Сообщение от coderxx Посмотреть сообщение
Это решается простыми кавычками, но я не обращал внимание до опубликования.
Намёк непонят, ладно расскажу, короче говоря компилятор писали ослы и есть довольно
неприятный баг с русскими путями(когда компилятор в папке с русским путём). В итоге
можно очень долго трахаться, полагая, что компилятор незыблемо чист и виновата IDE, но
когда компилируешь руками - глаза лезут на лоб .
Поэтому как unicode не продвигай, а геморроя меньше не становится. Каждую националную
раскладку надо тестировать на соотв. национальной винде, ибо никаких гарантий.
Причём это говно возникает в модулях mingw, а отображается как сотни ошибок при компиляции.

Сколько критических багов собственноручно отловил в разном софте - уже и не сосчитать,
но каждый раз убеждаюсь в том, что это тотальный недотестинг. Если программист один,
а не целый штат наёмников, то надо тестировать много и тщательно. Пофункционально,
помодульно, отсекая саму возможность появления ошибки.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 16:30  [ТС]
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Сообщение от coderxx
Это решается простыми кавычками, но я не обращал внимание до опубликования.
Намёк непонят
Если путь (C:\Program Files\FreeBasic\fbc.exe) писать без кавычек, то система ищет программу "C:\Program" остальные "Files\FreeBasic\fbc.exe" думает как аргументы к программу "C:\Program". Говорил что, это решается с кавычками: "C:\Program Files\FreeBasic\fbc.exe", это баг уловил vlisp. До этого не обращал внимание на это.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.08.2018, 17:07
Цитата Сообщение от coderxx Посмотреть сообщение
Если путь (C:\Program Files\FreeBasic\fbc.exe) писать без кавычек, то система ищет программу "C:\Program" остальные "Files\FreeBasic\fbc.exe" думает как аргументы к программу "C:\Program". Говорил что, это решается с кавычками: "C:\Program Files\FreeBasic\fbc.exe", это баг уловил vlisp. До этого не обращал внимание на это.
Да это всё понятно, расскажи как ты будешь устранять описанный мной выше баг.
Поскольку это тоже баг и пользователи будут напарываться не осознавая кто виноват.
Уточню: правильное решение - всего одно.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 17:41  [ТС]
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Уточню: правильное решение - всего одно.
Какой?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.08.2018, 17:50
Цитата Сообщение от coderxx Посмотреть сообщение
Какой?
#68

есть довольно
неприятный баг с русскими путями(когда компилятор в папке с русским путём).
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 17:52  [ТС]
Цитата Сообщение от Quiet Snow Посмотреть сообщение
#68
Я это понял и тестировал, спросил про решение, которое вы говорили.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.08.2018, 18:01
Цитата Сообщение от coderxx Посмотреть сообщение
Я это понял и тестировал, спросил про решение, которое вы говорили.
Решение одно: ограничить ввод(путь к компилятору), отослать баг репорт. Ждать и терпеть.
При размещении сборки(если передаём, например, в виде архива) проверять размещение компилятора
и выводить предупреждение, если путь кривой.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
21.08.2018, 18:03  [ТС]
Я тоже так думал
0
Эксперт по электронике
6582 / 3209 / 335
Регистрация: 28.10.2011
Сообщений: 12,525
Записей в блоге: 7
21.08.2018, 22:46
Цитата Сообщение от coderxx Посмотреть сообщение
в Windows контролах рисования не нужно, потому что у Windows имеется собственные классы ("button", "static", "...")
Это стандартные контролы, а я пишу про нестандартные (они видны на скриншотах Visual FB Editor).
В Linux нет стандартных API как в винде. GUI создается с помощью GTK, QT и т. д.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
22.08.2018, 04:19  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Это стандартные контролы, а я пишу про нестандартные (они видны на скриншотах Visual FB Editor).
Эти нестандартные контролы создается на основе стандартных контролов

Цитата Сообщение от locm Посмотреть сообщение
В Linux нет стандартных API как в винде. GUI создается с помощью GTK, QT и т. д.
За основу хотел бы брать X11 API, а контролов рисуем сами основываясь на wxWidgets и GTK.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
18.12.2018, 19:54  [ТС]
Обновил:
Версия 1.0.2.1178

1) Добавлен кроссплатформенность
2) Добавлен возможность открыть/сохранить сессию
3) Добавлен возможность указать главный файл сессии
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,362
18.12.2018, 20:16
Цитата Сообщение от coderxx Посмотреть сообщение
Добавлен возможность указать главный файл сессии
это как?
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
18.12.2018, 20:28  [ТС]
"Set As Main" укажет корневой файл (или проект) как главный. Когда выбирается файл внутри проекта, сделается файл главным для проекта (но не для сессии).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2018, 20:28
Помогаю со студенческими работами здесь

FreeBASIC и сети
Здравствуй, форум. Всё дело в том, что есть одни сетевые функции, и для этих функций Я решил написать обёртку. Чтобы не возиться созданием...

Немного о FreeBasic
Чаще всего при начальном использовании какого-то языка , люди стараются выбрать простую, неприхотливую среду. Для FreeBasic можно...

Задача на графику в FreeBASIC
Помогите с задача по графике в FreeBASIC Построить совокупность n равных отрезков, центры которых лежат в центре экрана, а концы - на...

FreeBasic круги на воде
Очень интересный код имитирующий распространение кругов на воде. Описание алгоритма тут Что меня удивило, обычно когда идет речь о...

Синтаксические особенности FreeBasic
По совету Stabud создаю тему, в которой будем обсуждать семантику и синтаксис диалекта FreeBasic. Вот на такую программу я...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru