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

FreeBasic. MyFbFramework + VisualFBEditor

14.07.2018, 20:36. Показов 22991. Ответов 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
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
26.02.2019, 08:19  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Замабувараев Посмотреть сообщение
Версия уже 1.0, а всё ещё бета? Противоречие.
Я начал с 1 версии (как-то нулевую не учитывал). Я нигде бету не указывал.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
26.02.2019, 12:50
Альфа‐версия: меньше 0.5.

Бета‐версия: от 0.5 до 0.9

С единицы начинаются уже стабильные версии.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
26.02.2019, 14:01  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
С единицы начинаются уже стабильные версии.
На новых версиях (после единицы) тоже будет же бета версии. Все эти нумерация версий только рекомендации, везде говориться что "можно" сделать так, или так.
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,360
26.02.2019, 16:55
Цитата Сообщение от coderxx Посмотреть сообщение
Все эти нумерация версий только рекомендации, везде говориться что "можно" сделать так, или так.
Это очень глупое заблуждение. Как только открывается API, нужно четко понимать какие функции доступны в какой версии. Иначе заплюют.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
27.02.2019, 12:45  [ТС]
Следующий выпуск буду указывать 1.1.0.ХХХ (если буду добавить новые функции, конечно; ХХХ - количество компиляций), вы согласны?
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,360
27.02.2019, 17:35
Цитата Сообщение от coderxx Посмотреть сообщение
вы согласны?
я придерживаюсь мнения, что оптимальным является 4х-месячный цикл разработки. В таком случае применяется трехступенчатая система нумерации major.minor.fix:
major - глобальные изменения движка, API; запланированное добавление новых функций
minor - добавление мелких нововведений и новых опций
fix - исправление ошибок, добавление данных в базы, другие доработки не изменяющие функционал
таким образом за год выходит 3 версии с новыми возможностями, что позволяет оформить подписку и требует глобально продумывать наперед только мажорную версию. при этом на альфа и бета тестирование можно выделить по месяцу.
1
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
27.02.2019, 18:20  [ТС]
Цитата Сообщение от vlisp Посмотреть сообщение
я придерживаюсь мнения, что оптимальным является 4х-месячный цикл разработки. В таком случае применяется трехступенчатая система нумерации major.minor.fix:
Туда и четвертый добавим - количество компиляций.
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,360
28.02.2019, 01:57
Цитата Сообщение от coderxx Посмотреть сообщение
Туда и четвертый добавим - количество компиляций.
Ну, вообще ревизия или номер сборки - сугубо интимный момент и не обязательно его показывать. И уж тем более если в зависимости от ревизии что-то работает или не работает - это совсем худо. Поэтому чаще всего ревизию выносят отдельно. Почему? Банально потому, что пользователь не запомнит 4-6-значный номер сборки. И при звонке в службу поддержки у него возникнут проблемы. Для программиста ревизия важна, если IDE имеет систему контроля версий. иначе это просто геморрой.
я собственно и поднял эту тему потому, что две версии "визуально" отличались только ревизией. Для того и существует нулевая версия, чтоб устаканить все организационные моменты. ОЧЕНЬ ВАЖНО, чтоб нумерация ревизий была сплошная, т.е. не обнулялась, от версии к версии, чтобы можно определить старшинство версий. Для этого для ревизии выделяют отдельный счетчик, который автоматически увеличивается при каждой сборке.
Вообще ревизия вредная штуковина, она заставляет выкладывать билд за билдом когда обнаружился фатальный баг, вместо того чтобы подумать сначала, как решить проблему.
зы еще чуток замечаний по интерфейсу:
Окно О программе желательно сделать в стиле Диалог. Также можно оживить поля с эл. почтой и донатом. можно сделать в виде кнопки по крайней мере второе. Кнопки хорошо выделяются на фоне формы и легко заметны. Гладишь может кто тебе и задонатит. Тут простой принцип: действие это не популярное, поэтому должно быть осуществимо в минимум кликов. То же самое и с почтой. Обратная связь - очень важный момент в девелопменте софта. одно дело потрещать на форуме, другое дело переписка с реальным пользователем.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
03.03.2019, 14:46
Цитата Сообщение от coderxx Посмотреть сообщение
Туда и четвертый добавим - количество компиляций.
Спорный момент: я скомпилировал, но при этом в исходном коде изменений не было. Это значит, что версия программы изменится?
Я считаю, что версия программы не должна зависеть от того, сколько раз я запускал fbc.exe.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
03.03.2019, 15:45  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
Спорный момент: я скомпилировал, но при этом в исходном коде изменений не было. Это значит, что версия программы изменится?
Я считаю, что версия программы не должна зависеть от того, сколько раз я запускал fbc.exe.
IDE может проверить что-нибудь изменился в дереве зависимостей (все инклуд файлы), но думаю что лишнее время уходит на проверку. VB6 тоже увеличивает версию (точнее третий пункт: Revision), если включен Auto Increment.
На Visual FB Editor тоже сделан такая галочка, если включен тогда увеличивает четвертый пункт, иначе нет.

Добавлено через 5 минут
Цитата Сообщение от vlisp Посмотреть сообщение
Окно О программе желательно сделать в стиле Диалог. Также можно оживить поля с эл. почтой и донатом. можно сделать в виде кнопки по крайней мере второе. Кнопки хорошо выделяются на фоне формы и легко заметны. Гладишь может кто тебе и задонатит. Тут простой принцип: действие это не популярное, поэтому должно быть осуществимо в минимум кликов. То же самое и с почтой. Обратная связь - очень важный момент в девелопменте софта. одно дело потрещать на форуме, другое дело переписка с реальным пользователем.
В окне О программе Label заменил на LinkLabel, теперь одним кликом можно отправить почту, но для пожертвования не знаю удобных способов как это сделать.

Добавлено через 2 минуты
Можно сделать только текстовое поле со свойством ReadOnly, чтобы можно было копировать.

Добавлено через 2 минуты
Цитата Сообщение от vlisp Посмотреть сообщение
Ну, вообще ревизия или номер сборки - сугубо интимный момент и не обязательно его показывать. И уж тем более если в зависимости от ревизии что-то работает или не работает - это совсем худо. Поэтому чаще всего ревизию выносят отдельно. Почему? Банально потому, что пользователь не запомнит 4-6-значный номер сборки. И при звонке в службу поддержки у него возникнут проблемы. Для программиста ревизия важна, если IDE имеет систему контроля версий. иначе это просто геморрой.
Тогда везде укажем три номера, а ревизию можем указать в окне О программе (только в одном месте).

Добавлено через 3 минуты
У меня есть все опубликованные версии с исходниками, вы это имеете ввиду говоря о системе контроля версий.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
03.03.2019, 15:47
Цитата Сообщение от coderxx Посмотреть сообщение
но для пожертвования не знаю удобных способов как это сделать.
Дать реферальную ссылку на патреон, яндекс‐деньги, или что там сейчас модно.
1
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
03.03.2019, 16:59  [ТС]
Оказывается только в Яндексе можно получить удобную реферальную ссылку для оплаты, а в WebMoney нужно указать сумму и срок оплаты. Во всяком случае изменим форму "О программе" с возможностью добавление других авторов.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
23.04.2019, 01:29  [ТС]
Обновил IDE.
Для VisualFBEditor 1.1.0:
- Добавлен возможность проектировать TabControl и TabPage
- Добавлен окно Immediate
- Добавлен нумерация процедуры (целиком)
- Добавлен опции дизайнера
- Добавлен возможность изменить регистра операторов
- Исправлен: изменение свойств контрола в панеле свойств (в Linux)

Для MyFbFramework 1.1.0:
- Добавлен: Контрол TreeListView
- Исправлен: Установка свойства Font для контролов (в Linux)
- и другие.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
15.12.2019, 21:15  [ТС]
Выпустил новую версию:

VisualFBEditor 1.2.0:
- Добавлен: Возможность компиялции через make
- Добавлен: Возможность форматирования кода
- Добавлен: Возможность изменения темы
- Добавлен: Возможность изменения регистра ключевых слов
- Добавлен: Возможность открыть включаемые файлы с помощью Ctrl+Click
- Добавлен: Окно параметров компиляции, запуска, отладки
- Добавлен: Свойства проекта
- Улучшен: Окно поиска
- Улучшен: Настройки
- и другие

MyFbFramework 1.2.0:
- Добавлен: Picture
- Добавлен: Printer
- Добавлен: PageSetupDialog
- Добавлен: PrintDialog
- и другие
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
18.12.2019, 07:14  [ТС]
Выпустил новую версию:

VisualFBEditor 1.2.1:
- Исправлен: Поддержка Windows 7

MyFbFramework 1.2.1:
- Исправлен: Поддержка Windows 7
0
0 / 0 / 0
Регистрация: 20.06.2023
Сообщений: 3
28.10.2023, 00:12
Не могу найти удаление сообщения
0
0 / 0 / 0
Регистрация: 20.06.2023
Сообщений: 3
28.10.2023, 00:20
coderxx, привет Я только осваиваю линукс и не могу разобраться почему в твоём охренестически класном фрейм-ворке не находится компилятор. Я его уже раз 5 переустанавливал. Под виндовсом всё работает идеально. Программа при каждом запуске его ищет заново, находит, но не видит. Пробовал в терминале fbc. Там пишут что чтото с path.
Как можно это исправить?
Миниатюры
FreeBasic. MyFbFramework + VisualFBEditor  
0
0 / 0 / 0
Регистрация: 20.06.2023
Сообщений: 3
28.10.2023, 00:35
coderxx, по теме компилятора в линуксе. Прописал его вручную в настройках фреймворка. Чтото стало происходить но ни текстовые операторы не работают, ни форма не стартует. Что может быть не так?
Миниатюры
FreeBasic. MyFbFramework + VisualFBEditor   FreeBasic. MyFbFramework + VisualFBEditor  
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
28.10.2023, 11:45  [ТС]
Цитата Сообщение от ivtr369 Посмотреть сообщение
coderxx, привет Я только осваиваю линукс и не могу разобраться почему в твоём охренестически класном фрейм-ворке не находится компилятор. Я его уже раз 5 переустанавливал. Под виндовсом всё работает идеально. Программа при каждом запуске его ищет заново, находит, но не видит. Пробовал в терминале fbc. Там пишут что чтото с path.
Как можно это исправить?
Привет, это путь компилятора в моей системе Линукс. После нахождения нужно выбрать нужную как компилятор по умолчанию.

Цитата Сообщение от ivtr369 Посмотреть сообщение
coderxx, по теме компилятора в линуксе. Прописал его вручную в настройках фреймворка.
Хорошо.

Цитата Сообщение от ivtr369 Посмотреть сообщение
Чтото стало происходить но ни текстовые операторы не работают, ни форма не стартует. Что может быть не так?
Может быть у вас нет gnome-terminal'a. Нужно выбрать в настройке "Терминал" mate-terminal или xterm (если есть в вашей системе).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2023, 11:45
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
159
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru