GTK3 под Linux средствами FreeBasic
|
|
Тестор | Дата: Пятница, 30.03.2018, 18:47 | Сообщение # 1 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Заинтересован в освоении GTK3 под Linux средствами FreeBasic.
Вообще пока никак не даётся. Во первых я никогда не писал под "внешние" API, между ними и мною всегда были классы обёртки, это всегда позволяло работать в нативных рамках родного API используемого языка и не думать о том как оно устроено и работает снаружи. Во вторых, листинг бейсика пока плохо читается, больше сбивает..., но тут тока с практикой придёт, сидеть справку зазубривать не вижу смысла, да и в целом вчитываясь да подглядывая тот те или иные операторы и ключевые слова я всё равно их читаю. Я конечно же посмотрел демки, что идут в комплекте с компилятором, но пока они не внесли мне ясности. Я так же читаю это: документация ГТК и почитал это: начало работы с ГТК. Я хочу (но пока ни как не осилю), создать приложение с пустым окном - логика работы ГТК вроде ясна, я должен создать GtkApplication, создать GtkWindow, добавить это окно в созданный GtkApplication. Потом на него добавляются контейнеры, на них виджеты... ну и т. д.
Мне не удалось привести линейный пример из статьи написанный под си к басику. Если есть такая возможность, помогите пожалуйста, покажите код этого примера на басике.
|
|
| |
haav | Дата: Пятница, 30.03.2018, 18:57 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Посмотри здесь: http://users.freebasic-portal.de/freebasicru/gtk_simple.html
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
Тестор | Дата: Пятница, 30.03.2018, 23:08 | Сообщение # 3 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Цитата haav ( ) haav это же GTK2, без создания GtkApplication?
|
|
| |
haav | Дата: Суббота, 31.03.2018, 09:42 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Цитата Тестор ( ) haav это же GTK2, без создания GtkApplication? Ты же сам написал , что до этого использовал только обертки на каком то там языке. У тебя какой то странный подход. Синтаксис языка ты изучать не хочешь , GTK2 изучать не хочешь , а сразу хочешь "строить корабли". Как думаешь, что будет , если в школе первоклашкам будут объяснять ядерную физику , логарифмы, органическую химию и т.д. ? Ну вот переписал я тебе пример из статьи , только что тебе это даст?
Код #DEFINE __USE_GTK3__ #include "gtk/gtk.bi"
sub activate ( app as GtkApplication ptr,_ user_data as gpointer)
dim as GtkWidget ptr window_
window_ = gtk_application_window_new (app) gtk_window_set_title (GTK_WINDOW (window_), "Window") gtk_window_set_default_size (GTK_WINDOW (window_), 200, 200) gtk_widget_show_all (window_) end sub
dim as GtkApplication ptr app dim as integer status
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE) g_signal_connect (app, "activate", G_CALLBACK (@activate), 0) status = g_application_run (G_APPLICATION (app), 0, 0) g_object_unref (app)
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
DarkDemon | Дата: Понедельник, 02.04.2018, 03:33 | Сообщение # 5 |
Полковник
Группа: Друзья
Сообщений: 188
Статус: Offline
| Цитата haav ( ) Как думаешь, что будет , если в школе первоклашкам будут объяснять ядерную физику , логарифмы, органическую химию и т.д. ? Ну вот переписал я тебе пример из статьи , только что тебе это даст? Всё верно Стас говоришь! Ни убавить, ни прибавить. Тут недавно один пацан с цайбера захотел файловый менеджер написать под DOS на QBASIC без малейших знаний как самой операционной системы, так и выбранного диалекта, т.е. он вообще всего пару операторов знал кое как. Так 10 листов ему втолковывал, что надо просто взять и изучить тупо по списку операторы языка, по справке где есть примеры. Втолковывал что задача не его уровня(т.к. оптимально это делается на ассемблере резидентной программой), что пусть пишет пока игрульки и прочее, набивает руку. В итоге нос задран вверх, всё мимо ушей и постоянное тыканье пальцем в небо, итогом стал говномонстр на 60 килобайт из двух исходников с жутким захардкоденным интерфейсом и нулевым функционалом, молодёжь хочет всё и сразу, но без приложения даже малейших усилий, т.е. нас ждут тяжёлые времена. Причём пока не знаю хорошо это или плохо. И это ведь самый простейший в мире язык, дальше - туже.
|
|
| |
Тестор | Дата: Понедельник, 02.04.2018, 11:56 | Сообщение # 6 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Ребят, ни это ли офтоп и флуд, или ка оно там называется? Вижу наболело..., понимаю, бывает. Но а что вы хотели если бейсик позиционируется как учебный язык? Да и откровенно скажу, грех плакаться пока приходит "молодёж" и пишет хотя бы "говномонстров", " т.е. нас ждут тяжёлые времена" - действительно тяжёлые времена это когда теряется интерес к продукту, прекращается его развитие, обновление библиотек, прекращается поддержка пользователей.
Цитата haav ( ) Как думаешь, что будет , если в школе первоклашкам будут объяснять ядерную физику Я даже не думаю, я точно знаю - это будет способствовать росту интереса к данному разделу физики как следствие популяризация и дополнительный приток студентов в профильные вузы, дополнительный приток кадров в отрасль, хотя не спорю, от общей массы учащихся школ это будет процент близкий к стат погрешности. При такой массовой подаче и специфике материала, скорее нужно беспокоится, что бы отдельные индивидуумы, особо даровитые школяры, не извернулись синтезировать каких изотопов в домашних условиях из подручной бытовой химии...
Цитата haav ( ) У тебя какой то странный подход. Синтаксис языка ты изучать не хочешь , GTK2 изучать не хочешь , а сразу хочешь "строить корабли". haav, подход у меня очень простой, прозрачный и последовательный. Языки программирования не так сильно отличаются, те же типы данных, те же конструкции циклов, логики и т. д., те же простые структуры данных (массивы, рекорды), те же конструкции и общие принципы при написании классов... да отличаются языки на уровне синтаксиса, и да, как я и сказал выше сейчас плохо считываю листинги - однако это не первое апи и я, от части опирась на знание структур и конструкций программирования в общем, изучаю синтаксис в параллеле с проектом ради которого взялся за апи. Разве я говорил что я его нехочу изучать? ГТК2 я действительно не собираюсь изучать, гтк2 лет эдак 5 не поддерживается собществом вообще, оно не поддерживается современными графическими системами (только через костыль) и наконец оно не поддерживает экраны высокого разрешения. Нет никакого смысла вкладываться в освоение ГТК2, я конечно понимаю что они с ГТК3 схожие, но уже на базе создания приложения в одно окно, отличаются созданием ГТКАпликатьён. Ну а то что раньше с гуём только через абстракцию обёртки... ну дак мы всё когда то начинаем в первый раз. И да, пусть не совсем, но почти сразу я начинаю строить корабли, если конечно правильно понял что имелось в виду, проходил это уже не один раз и считаю это единственным правильным подходом, к своему времени и мотивации надо то же подходить структурно и бережно. Сейчас ещё не строю кораблей, тот этап когда зондирую почву, думаю в ближайшее время определюсь.
Цитата haav ( ) только что тебе это даст? Напрасно ты так, пример твой мне помог немного. Сложности в том, что не хватает нормальной среды разработки, я не представлял что из себя представляет ГТК, что он не самодостаточный, ну и пока плохое чтение синтаксиса басика не дали собрать данный пример самому. Но отталкнувшись от него на выходных поэксперементировал с контейнерами, хеадером, кнопками, меню, текствиевом.
Цитата DarkDemon ( ) И это ведь самый простейший в мире язык, дальше - туже. Это стереотип и не более, я пишу на других языках и я не вижу подтверждения ваших слов. Язык как язык, не сложнее не проще, те же яйца ракурс в профиль.
Сообщение отредактировал Тестор - Понедельник, 02.04.2018, 11:57 |
|
| |
DarkDemon | Дата: Вторник, 03.04.2018, 07:23 | Сообщение # 7 |
Полковник
Группа: Друзья
Сообщений: 188
Статус: Offline
| Цитата Тестор ( ) Сложности в том, что не хватает нормальной среды разработки Стас недавно писал среду разработки, простенькую, без наворотов, типа FBEdit, но без некоторых ништяков типа подсвечивания параметров функций. Должна вроде и под Linux работать. Попробуйте, почему нет.
Цитата Тестор ( ) думаю в ближайшее время определюсь Вы можете озвучить, что вы хотите сделать. Вообще под Linux вам будет тяжко, сейчас наибольшее кол-во программистов сугубо под винду в т.ч. и я, т.е. с помощью, справочной инфой и исходниками будет тяжко. И соотв. тестирование диалекта под линукс идёт хуже, могут местами баги вылезать.
|
|
| |
Тестор | Дата: Вторник, 03.04.2018, 22:10 | Сообщение # 8 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Цитата DarkDemon ( ) Стас недавно писал среду разработки, простенькую, без наворотов, типа FBEdit, но без некоторых ништяков типаподсвечивания параметров функций. Должна вроде и под Linux работать. Попробуйте, почему нет. Сейчас под линух моя "среда разработки" состоит: xed+Catfish+Терминал . Признаюсь не привык к таким спартанским условиям, даже не подозревал что смогу так работать. Редактор я этот (если не ошибаюсь тот самый о котором вы говорите) я уже смотрел на досуге.
Система у меня Минт Корица 18.3, 64 бита. Скачал библиотеку iup-3.24_Linux44_64_lib.tar.gz, выполнил скрипты инсталляции, вроде всё корректно, без ошибок. Скачал редактор iup_fb_editor64linux.zip, результат запуска из консоли:
Код uzver@XMG ~/iup_fb_editor64linux $ ./fbnp
(fbnp:4531): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported Ловушка трассировки/останова
Я порой немного злоупотребляя рабочим временем, чуток поработал в этом редакторе на служебном ПК, не сказать что это то что я искал, но определённо цивильнее того как я работаю на линухе.
Цитата DarkDemon ( ) Вы можете озвучить, что вы хотите сделать. Вообще под Linux вам будет тяжко, сейчас наибольшее кол-вопрограммистов сугубо под винду в т.ч. и я, т.е. с помощью, справочной инфой и исходниками будет тяжко. И соотв. тестирование диалекта под линукс идёт хуже, могут местами баги вылезать.
Ну я сейчас немного позондирую почву, потом поделюсь своими мыслями задумками, ну и наработками по зондированию (хотя бы на демки сгодятся я думаю).
Я пока не хотел об этом спрашивать..., но по случаю в продолжение твоих слов:
Цитата DarkDemon ( ) сейчас наибольшее кол-вопрограммистов сугубо под винду в т.ч. и я,
Я так понимаю у FreeBasica дела идут не очень. Так общей оценкой: активность здесь на форуме, почитал какой то ведущий программист компилятора года 2 назад ущёл, посмотрел англоязычный форум - там немного поживее вроде, посмотрел на гитхабе общую активность и куда комиты сыпятся, последний релиз компилятора давненько был. - какова реальность дел FreeBasica? - есть какой то план по объёму работ и/или срокам на следующий релиз компилятора? - можно ли рассчитывать на обновление заголовочных файлов при выходе новых версий библиотек? - Русскоязычное сообщество совсем маленькое и почти неживое?
П. С.: Я не программист, хобби такое, старое хобби. Я уже года три прикладным программированием не занимался, у меня ещё хобби компьютерная графика + игрострой... ну и последние года три программирование у меня осталось только в рамках игростроя (Godot+GDScript), и хотя этот симбиоз хобботов вполне всеобъемлюще занимает отпускаемое на них свободное время, тянет меня и на прикладное программирование, тем более осталась с тех времён одна идея. Я обдумывал не раз возобновить работу на ФПЦ+Лазарус, но есть несколько отталкивавшие факторы, впрочем сейчас это не существенно. На ФрееБасик вышел случайно, но это то же не суть. Когда понял что это не ностальгическая реплика кубасика, что компилятор поддерживает в принципе все современные ходовые конструкции, не удержался покопать поглубже... ну а тут и справочник на русском языке, и учебник на русском языке... блин, как в сказку попал... а потом смотрю, заголовки ГТК 3... Но это было бы слишком хорошо, что бы быть правдой... если бы к нему ещё была полноценная интегрированная среда разработки.
Тема фреебасика, это определённо не то что я хотел найти, но по хорошему он очень заинтересовал. Так что я пока ещё позондирую, может созрею на один проектик... И ещё хотел сказать, если он сгинет, да при такой русскоязычной инфраструктуре, чёрт, жалко будет.
|
|
| |
haav | Дата: Среда, 04.04.2018, 10:42 | Сообщение # 9 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Цитата Тестор ( ) uzver@XMG ~/iup_fb_editor64linux $ ./fbnp(fbnp:4531): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported Ловушка трассировки/останова Не пробовал пересобрать редактор из исходников на своей системе (если он конечно же интересен в плане использования)? Вообще вот он Linux во всей красе! Почему у меня на Mint 18.1 64-bit все без проблем , а на другом компьютере уже проблемы с собранным приложением? Вопрос риторический , потому что Linux...
Добавлено позже:
Скачал и поставил на виртуалку самую последнюю версию mint 18.3 64-bit. Скачал Iup 3.22 и установил либы. Скачал редактор iup_fb_editor. Запускаю. Ошибка: не хватает libpangox-1.0 . Ставлю эту либу и запускаю: все работает!
Хочется спросить , тестор , ты давно на Linux(е) сидишь или как и я изредка включаешь ? Потому что я не могу представить , чтобы опытный линуксоид не смог решить проблему с конфликтом библиотек.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
Тестор | Дата: Среда, 04.04.2018, 12:47 | Сообщение # 10 |
Сержант
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Цитата haav ( ) Хочется спросить , тестор , ты давно на Linux(е) сидишь
С убунту 9,04, то биш с 2009. Только я именно пользователь, а не администратор системы, всю работу с библиотеками я доверяю пакетному менеджеру, самое глубокое познание - пара команд на случай конфликтов пакетной базы. Программы которыми я пользуюсь из стандартных реп или ППА. Сборка из исходников, установка сторонних библиотек (не из реп) - я этим не занимаюсь.
Цитата haav ( ) Не пробовал пересобрать редактор из исходников на своей системе
Нет, не пробовал.
|
|
| |
|