FreeBasic
Главная
Вход
Регистрация
Пятница, 16.11.2018, 21:34Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Вопросы по языку FreeBasic » GTK3 под Linux средствами FreeBasic (Вопросы касающиеся освоения, ну а потом и не только)
GTK3 под Linux средствами FreeBasic
ТесторДата: Пятница, 30.03.2018, 18:47 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 0
Статус: Offline
Заинтересован в освоении GTK3 под Linux средствами FreeBasic.

Вообще пока никак не даётся. Во первых я никогда не писал под "внешние" API, между ними и мною всегда были классы обёртки, это всегда позволяло работать в нативных рамках родного API используемого языка и не думать о том как оно устроено и работает снаружи. Во вторых, листинг бейсика пока плохо читается, больше сбивает..., но тут тока с практикой придёт, сидеть справку зазубривать не вижу смысла, да и в целом вчитываясь да подглядывая тот те или иные операторы и ключевые слова я всё равно их читаю.
Я конечно же посмотрел демки, что идут в комплекте с компилятором, но пока они не внесли мне ясности. Я так же читаю это: документация ГТК и почитал это: начало работы с ГТК. Я хочу (но пока ни как не осилю), создать приложение с пустым окном - логика работы ГТК вроде ясна, я должен создать GtkApplication, создать GtkWindow, добавить это окно в созданный GtkApplication. Потом на него добавляются контейнеры, на них виджеты... ну и т. д.

Мне не удалось привести линейный пример из статьи написанный под си к басику.  Если есть такая возможность, помогите пожалуйста, покажите код этого примера на басике.
 
haavДата: Пятница, 30.03.2018, 18:57 | Сообщение # 2
Генерал-полковник
Группа: Администраторы
Сообщений: 856
Репутация: 34
Статус: Offline
Посмотри здесь: http://users.freebasic-portal.de/freebasicru/gtk_simple.html

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
ТесторДата: Пятница, 30.03.2018, 23:08 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 0
Статус: Offline
Цитата haav ()

haav это же GTK2, без создания GtkApplication?
 
haavДата: Суббота, 31.03.2018, 09:42 | Сообщение # 4
Генерал-полковник
Группа: Администраторы
Сообщений: 856
Репутация: 34
Статус: 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
Лейтенант
Группа: Друзья
Сообщений: 64
Репутация: 2
Статус: Offline
Цитата haav ()
Как думаешь, что будет , если в школе первоклашкам будут объяснять ядерную физику , логарифмы, органическую химию и т.д. ? Ну вот переписал я тебе пример из статьи , только что тебе это даст?

Всё верно Стас говоришь! Ни убавить, ни прибавить.
Тут недавно один пацан с цайбера захотел файловый менеджер написать под DOS на QBASIC без малейших
знаний как самой операционной системы, так и выбранного диалекта, т.е. он вообще всего пару операторов
знал кое как. Так 10 листов ему втолковывал, что надо просто взять и изучить тупо по списку операторы языка,
по справке где есть примеры. Втолковывал что задача не его уровня(т.к. оптимально это делается на ассемблере
резидентной программой), что пусть пишет пока игрульки и прочее, набивает руку. В итоге нос задран вверх,
всё мимо ушей и постоянное тыканье пальцем в небо, итогом стал говномонстр на 60 килобайт из двух
исходников с жутким захардкоденным интерфейсом и нулевым функционалом, молодёжь хочет всё и сразу,
но без приложения даже малейших усилий, т.е. нас ждут тяжёлые времена. Причём пока не знаю хорошо это
или плохо. И это ведь самый простейший в мире язык, дальше - туже.
 
ТесторДата: Понедельник, 02.04.2018, 11:56 | Сообщение # 6
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 0
Статус: Offline
Ребят, ни это ли офтоп и флуд, или ка оно там называется? Вижу наболело..., понимаю, бывает. Но а что вы хотели если бейсик позиционируется как учебный язык?
Да и откровенно скажу, грех плакаться пока приходит "молодёж" и пишет хотя бы "говномонстров", " т.е. нас ждут тяжёлые времена" - действительно тяжёлые времена это когда теряется интерес к продукту, прекращается его развитие, обновление библиотек, прекращается поддержка пользователей.

Цитата haav ()
Как думаешь, что будет , если в школе первоклашкам будут объяснять ядерную физику

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

Цитата haav ()
У тебя какой то странный подход. Синтаксис языка ты изучать не хочешь , GTK2 изучать не хочешь , а сразу хочешь "строить корабли".

haav, подход у меня очень простой, прозрачный и последовательный. Языки программирования не так сильно отличаются, те же типы данных, те же конструкции циклов, логики и т. д., те же простые структуры данных (массивы, рекорды), те же конструкции и общие принципы при написании классов... да отличаются языки на уровне синтаксиса, и да, как я и сказал выше сейчас плохо считываю листинги - однако это не первое апи и я, от части опирась на знание структур и конструкций программирования в общем, изучаю синтаксис в параллеле с проектом ради которого взялся за апи. Разве я говорил что я его нехочу изучать? ГТК2 я действительно не собираюсь изучать, гтк2 лет эдак 5 не поддерживается собществом вообще, оно не поддерживается современными графическими системами (только через костыль) и наконец оно не поддерживает экраны высокого разрешения. Нет никакого смысла вкладываться в освоение ГТК2, я конечно понимаю что они с ГТК3 схожие, но уже на базе создания приложения в одно окно, отличаются созданием ГТКАпликатьён. Ну а то что раньше с гуём только через абстракцию обёртки... ну дак мы всё когда то начинаем в первый раз. И да, пусть не совсем, но почти сразу я начинаю строить корабли, если конечно правильно понял что имелось в виду, проходил это уже не один раз и считаю это единственным правильным подходом, к своему времени и мотивации надо то же подходить структурно и бережно. Сейчас ещё не строю кораблей, тот этап когда зондирую почву, думаю в ближайшее время определюсь.

Цитата haav ()
только что тебе это даст?

Напрасно ты так, пример твой мне помог немного. Сложности в том, что не хватает нормальной среды разработки, я не представлял что из себя представляет ГТК, что он не самодостаточный, ну и пока плохое чтение синтаксиса басика не дали собрать данный пример самому. Но отталкнувшись от него на выходных поэксперементировал с контейнерами, хеадером, кнопками, меню, текствиевом.

Цитата DarkDemon ()
И это ведь самый простейший в мире язык, дальше - туже.

Это стереотип и не более, я пишу на других языках и я не вижу подтверждения ваших слов. Язык как язык, не сложнее не проще, те же яйца ракурс в профиль.


Сообщение отредактировал Тестор - Понедельник, 02.04.2018, 11:57
 
DarkDemonДата: Вторник, 03.04.2018, 07:23 | Сообщение # 7
Лейтенант
Группа: Друзья
Сообщений: 64
Репутация: 2
Статус: Offline
Цитата Тестор ()
Сложности в том, что не хватает нормальной среды разработки

Стас недавно писал среду разработки, простенькую, без наворотов, типа FBEdit, но без некоторых ништяков типа
подсвечивания параметров функций. Должна вроде и под Linux работать. Попробуйте, почему нет.

Цитата Тестор ()
думаю в ближайшее время определюсь

Вы можете озвучить, что вы хотите сделать. Вообще под Linux вам будет тяжко, сейчас наибольшее кол-во
программистов сугубо под винду в т.ч. и я, т.е. с помощью, справочной инфой и исходниками будет тяжко.
И соотв. тестирование диалекта под линукс идёт хуже, могут местами баги вылезать.
 
ТесторДата: Вторник, 03.04.2018, 22:10 | Сообщение # 8
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 0
Статус: Offline
Цитата DarkDemon ()
Стас недавно писал среду разработки, простенькую, без наворотов, типа FBEdit, но без некоторых ништяков типаподсвечивания параметров функций. Должна вроде и под Linux работать. Попробуйте, почему нет.

Сейчас под линух моя "среда разработки" состоит: xed+Catfish+Терминал nocomp . Признаюсь не привык к таким спартанским условиям, даже не подозревал что смогу так работать. Редактор я этот (если не ошибаюсь тот самый о котором вы говорите) я уже смотрел на досуге.

Система у меня Минт Корица 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...  heart  Но это было бы слишком хорошо, что бы быть правдой... если бы к нему ещё была полноценная интегрированная среда разработки.

Тема фреебасика, это определённо не то что я хотел найти, но по хорошему он очень заинтересовал. Так что я пока ещё позондирую, может созрею на один проектик... И ещё хотел сказать, если он сгинет, да при такой русскоязычной инфраструктуре, чёрт, жалко будет.
 
haavДата: Среда, 04.04.2018, 10:42 | Сообщение # 9
Генерал-полковник
Группа: Администраторы
Сообщений: 856
Репутация: 34
Статус: 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
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 0
Статус: Offline
Цитата haav ()
Хочется спросить , тестор , ты давно на Linux(е) сидишь


С убунту 9,04, то биш с 2009. Только я именно пользователь, а не администратор системы, всю работу с библиотеками я доверяю пакетному менеджеру, самое глубокое познание - пара команд на случай конфликтов пакетной базы. Программы которыми я пользуюсь из стандартных реп или ППА. Сборка из исходников, установка сторонних библиотек (не из реп) - я этим не занимаюсь.

Цитата haav ()
Не пробовал пересобрать редактор из исходников на своей системе


Нет, не пробовал.
 
Форум » Freebasic » Вопросы по языку FreeBasic » GTK3 под Linux средствами FreeBasic (Вопросы касающиеся освоения, ну а потом и не только)
  • Страница 1 из 1
  • 1
Поиск: