Forth http://fforum.winglion.ru/ |
|
Подключение графической библиотеки QT к SPF 4.20 http://fforum.winglion.ru/viewtopic.php?f=34&t=2696 |
Страница 4 из 6 |
Автор: | chess [ Пт янв 28, 2011 23:04 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Antender писал(а): Форт быстрым быть и не должен, всё-таки это скриптовый язык. Форт может быть использован как скриптовый, но таковым не является. Antender писал(а): Кроме того есть довольно-таки быстрый 4th Он медленный - SPF гораздо быстрее. Antender писал(а): Зато не будет геморроя со стандартами вызовов библиотек например.И переносимо будет. И исходники понятней. Это не проблема. Просто особо не надо было. Antender писал(а): И исходники понятней. Тому кто напишет форт на С. Но из-за медленности форта этот вариант не годится. |
Автор: | mOleg [ Пт янв 28, 2011 23:11 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Antender писал(а): Есть 3 проблемы: 1. Постскрипт != Форт вам явно не нужен Форт (сужу по вашим высказываниям) Antender писал(а): 2. Посткрипт ориентирован на принтеры это не принципиально, к тому же скорее на графику (были постскрипт терминалы ведь). А функциональность урезать всегда легче, чем добавить. Antender писал(а): 3. Посткрипт в основном предназначен для автоматической генерации другими программами. его так привыкли использовать, но я видел достаточно примеров рукописного кода на постскрипте. |
Автор: | mgw [ Пт янв 28, 2011 23:12 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Предлагаю обсуждение развития форта перенести в тему "опять об идеологии и внутреннем устройстве Форта" |
Автор: | Antender [ Пт янв 28, 2011 23:15 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
ок______________ |
Автор: | mgw [ Ср фев 16, 2011 22:53 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Очередная версия библиотеки работы с Qt. Добавлено: меню, горячие кнопки, кодировки. Демонстрационная программа: view.f - просмотр текстов форта с подсветкой синтаксиса. Поддержка кодировок Windows-1251, IBM-866, UTF-8, KOI8-R http://mgw.narod.ru/spfqt_win.zip |
Автор: | mgw [ Пн фев 28, 2011 22:18 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Подцепил Qt к VfxForth. При этом ни каких изменений в DLL не вносил. Всё работает нормально. Пример кода для VfxForth Linux. Код: library: fqt.so.2.0.0
variable VZ 0 argv[ VZ ! LocalExtern: aQT_AppD int C QT_AppD( int , int , int ); LocalExtern: aQWidget int C QT_QWidget( int ); LocalExtern: aQWidgesShow C QT_QWidget_show( int ); : arg argv[ dup zstrlen ; \ ( n -- Astr N ) variable QTAPP variable QWIDGET 1 0 callback: sig1 : (call-fqt) S" Привет из FQT.SO.2.0.0" type 0 aQWidget QWIDGET ! QWIDGET @ aQWidgesShow ; assign (call-fqt) to-callback sig1 : run argc VZ sig1 aQT_AppD QTAPP ! ; |
Автор: | mgw [ Ср мар 02, 2011 21:12 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Подцепил Qt к Fork. Спасибо mOleg за содействие и консультации. Всё работает нормально. В связи с другой функциональностью библиотек fork, файл stdlib.f не используется. Пример: графическая консоль (черновик) для Fork. Код: compat/ ansi.fts
branch/ doloop.fts os/ messagebox.fts os/ callback.fts os/ save.fts os/ mtask.fts transl/ evaluate.fts string/ stradd.fts ALSO IMPORT fqt452.dll ALSO IMPORT ALSO HIDDEN : NextArg ( -- c-addr u ) SkipDelimiters GetChar DROP [CHAR] " = IF >IN 1+! [CHAR] " PARSE ELSE NextWord THEN ; : ArgC ( -- n ) >IN @ >R 0 >IN ! 0 BEGIN NextArg NIP WHILE 1+ REPEAT R> >IN ! ; : ArgV ( n -- addr ) HERE DUP ROT DUP 1+ CELLS ALLOT 0 DO HERE OVER ! CELL+ NextArg HERE SWAP DUP ALLOT MOVE 0 C, LOOP 0 SWAP ! ; : ParseArgs ( -- argc argv ) ArgC DUP ArgV ; : args ( addr u -- argc argv ) ['] ParseArgs EVALUATE-WITH ; : CONST$ \ ( n -- ) Создать константу, под строку в n байт в памяти HERE SWAP ALLOT CREATE , DOES> @ ; : A>CS \ ( addr u cs -- ) Скопировать строку adr u в буфер cs 2DUP C! 2DUP + 1+ 0 SWAP C! 1+ SWAP CMOVE ; : CS+A \ ( cs addr u -- ) Склеить строки ROT DUP >R ROT OVER COUNT + ROT DROP >R OVER R> SWAP CMOVE R@ C@ + R@ C! R> COUNT + 0 SWAP C! ; 256 CONST$ буфер \ Буфер под строку 255 байт для команды EVALUATE : СоздатьВиджет QT_QWidget ; : Показать QT_QWidget_show ; : ВиджетРазмер QT_QWidget_resize DROP DROP DROP DROP ; : ВиджетВставитьВыравниватель QT_QWidget_setLayout ; : СоздатьСтрокуQT QT_QString ; : вСтрокуQT QT_QString_set ; : изСтрокиQT QT_QString_text DROP DROP DROP ; : СоздатьРедактор QT_QTextEdit ; : РедакторДобавитьСтроку QT_QTextEdit_append DROP DROP DROP ; : УстановитьОбработчикНаСтрокуВвода QT_QLineEdit_onreturnPressed ; : УстановитьОбработчикНаИзмРазмераОкна QT_QWidget_onresize ; : изСтрокиСтрокаРедактора QT_QLineEdit_text DROP DROP DROP ; : СтрокаРедактораОчистить QT_QLineEdit_clear DROP DROP ; : ГлавноеОкноПриложения QT_QMainWindow ; : УстановитьЦентральныйВиджет QT_QMainWindow_setCentralWidget ; : ВертикальныйВыравниватель QT_QVBoxLayout ; : ГоризонтальныйВыравниватель QT_QHBoxLayout ; : ДобавитьВиджет QT_QBoxLayout_addWidget ; : ДобавитьВыравниватель QT_QBoxLayout_addLayout ; : СоздатьСтрокуРедактора QT_QLineEdit ; VARIABLE le1 \ Строка ввода VARIABLE w1 \ Окно1 VARIABLE w2 \ Окно2 VARIABLE qs1 \ QСтрока1 VARIABLE ed1 \ Редакто1 \ ------------------------------------------------- VARIABLE wc1 \ MainОкно VARIABLE wincon \ Центральный виджет VARIABLE l1 \ Вертикальный выравниватель : dump20 20 DUMP ; : ev \ ( str # -- ) CONSOLE-HANDLES \ без этого нельзя работать с вводом\выводом S-O TO CONTEXT init-order DEFINITIONS \ без этого не будет поиска 1 ALIGN-BYTES ! \ без этого будут проблемы с компиляцией init-input \ без этого будут проблемы с EVALUATE EVALUATE ; CB: aOnCR \ ( Aqstring -- ) Обработать нажатие Enter в СтрокеВвода >R qs1 @ le1 @ изСтрокиСтрокаРедактора qs1 @ ed1 @ РедакторДобавитьСтроку le1 @ СтрокаРедактораОчистить буфер qs1 @ изСтрокиQT буфер 1+ ZCOUNT TYPE CR \ Вот сюда надо EVALUATE вставить буфер 1+ ZCOUNT ev R> ; VARIABLE qs_menu VARIABLE menu1 VARIABLE menu2 VARIABLE menubar1 VARIABLE actExit 0x400 CONSTANT Qt|Ok 0x1000000 CONSTANT Qt|KeyEsc : str->qstr DROP qs_menu @ вСтрокуQT qs_menu @ ; CB: aExit BYE ; CB: aonForth ( --> xt ) >R \ Уберем входной параметр, поеп он не нужен ГлавноеОкноПриложения wc1 ! ВертикальныйВыравниватель l1 ! 0 СоздатьРедактор ed1 ! DROP DROP 0 СоздатьСтрокуРедактора le1 ! DROP DROP ed1 @ l1 @ ДобавитьВиджет DROP DROP DROP le1 @ l1 @ ДобавитьВиджет DROP DROP DROP 0 СоздатьВиджет w1 ! DROP DROP l1 @ w1 @ ВиджетВставитьВыравниватель DROP DROP DROP w1 @ wc1 @ УстановитьЦентральныйВиджет DROP DROP DROP СоздатьСтрокуQT qs1 ! s" Пиши в строке редактора команду fork" DROP qs1 @ вСтрокуQT DROP DROP qs1 @ ed1 @ РедакторДобавитьСтроку DROP DROP aOnCR le1 @ УстановитьОбработчикНаСтрокуВвода DROP DROP DROP 200 400 wc1 @ ВиджетРазмер \ ------------ Доб обработку меню .... ------------------ СоздатьСтрокуQT qs_menu ! \ fQMenu - это меню верхнего уровня. Состоит из fQAction \ В свою очередь fQMenu вставляются в menubar1, а он в Maimwindow \ wc1 - MainWindow wc1 @ QT_QAction actExit ! DROP s" Выход" str->qstr actExit @ QT_QAction_setText DROP DROP 0 QT_QMenu menu1 ! DROP s" Команда" str->qstr menu1 @ QT_QMenu_setTitle DROP DROP actExit @ menu1 @ QT_QMenu_addAction DROP DROP Qt|KeyEsc actExit @ QT_QAction_setHotKey DROP DROP aExit actExit @ QT_QAction_onClick DROP DROP 0 QT_QMenu menu2 ! DROP s" Сервис" str->qstr menu2 @ QT_QMenu_setTitle DROP DROP 0 QT_QMenuBar menubar1 ! DROP menu1 @ menubar1 @ QT_QMenuBar_addMenu DROP DROP menu2 @ menubar1 @ QT_QMenuBar_addMenu DROP DROP menubar1 @ wc1 @ QT_QMainWindow_setMenuBar DROP DROP wc1 @ Показать DROP DROP R> S" IBM 866" ^ NameCodec A>CS \ Программы на fork в кодировке DOS ; VARIABLE a1 VARIABLE a2 : run GetCommandLineA ASCIIZ> args SWAP a1 ! a2 ! aonForth a2 @ a1 @ QT_AppD DROP DROP DROP \ Входные аргументы DROP \ Возвращаемое значение ; run \ ' run MAINX ! \ s" tutor1.exe" SAVE \ BYE |
Автор: | mgw [ Пт мар 11, 2011 23:32 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Очередная версия библиотеки работы с Qt. Добавлено: ToolBar, StatusBar, списки, история команд, станд. диалоги Демонстрационная программа: console3.f - графическая консоль view.f - просмотр текстов форта с подсветкой синтаксиса. Поддержка кодировок http://narod.ru/disk/7304581001/spfqt_win_3.zip.html |
Автор: | mgw [ Вт мар 15, 2011 21:00 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Как выяснилось, Qt использует систему плагинов для отображения графических форматов. В связи с этим не отображались иконки на значках панели инструментов, на тех компьютерах, где не установлена Qt. Для устранения этой ошибки кладу в архив дополнительный каталог imageformats, который должен быть в рабочем каталоге программы. Дополненный вариант: http://narod.ru/disk/7581633001/spfqt_win_3.zip.html |
Автор: | mgw [ Ср апр 13, 2011 17:33 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Очередная версия библиотеки работы с Qt. Демонстрационная программа: console.f - графическая консоль Возможности: 1 - Автоматом загружается файл справки по форту. HELP пиши в консоли. 2 - Работает история команд. Ctrl+стрелка вверх и вниз 3 - Поиск слова по начальной части. Пи вводе при нажатии на F2 открывается список найденных слов. Выбор нужного слова - опять по F2. (IDE ...) Оказывается в форте очень много слов на одни буквы и очень мало на другие .... 4 - просмотр F3 использует внешнию view.exe (view.f) 5 - редактор F4 использует VI для windows. Можно использовать другой редактор 6 - ProgressBar показывает кол занятой памяти используя HERE Архив с очередной версией spfqt_win4.zip.html |
Автор: | Гость [ Ср мар 14, 2012 20:42 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
mgw писал(а): chess писал(а): выдает сообщение Error find function _ZN18QSyntaxHighlighter11.. У вас файлы QtCore4.dll и QtGui4.dll не от версии 4.5.2. Скачайте их (ссылки в пред. сообщении) и положите в каталог SPF например.Ссылки уже не работают. Почему не сделать Форт-код максимально не зависимым от версии QT? mgw писал(а): Это беда QT - они версии штампуют непрерывно. Из за этих версий QT пришлось бросить MSVC 6.0 и перейти на MinGW, для совместимости с Linux Для Windows версии SPF4 пример желательно иметь и для MSVC. P.S. Файл примера console не компилируется. Есть ли дальнейшее продвижение проекта QT-Forth? |
Автор: | `Kopa [ Чт мар 15, 2012 09:53 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Сборка в архиве для Windows dll qtcore4.dll, qtgui4.dll, mingw10.dll, libgcc-s-dw2-1.dll, qtnetwork410.dll http://www.onlinedisk.ru/file/842926/ |
Автор: | mgw [ Ср май 22, 2013 17:11 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Только что заметил! В статье на “ВикипедиЯ” http://ru.wikipedia.org/wiki/Qt посвященной Qt есть ссылка на данную статью. Примечание №30 |
Автор: | KPG [ Ср май 22, 2013 17:31 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
mgw писал(а): Только что заметил! В статье на “ВикипедиЯ” http://ru.wikipedia.org/wiki/Qt посвященной Qt есть ссылка на данную статью. Примечание №30 И уже давно! Страна должна знать своих героев 29-я ссылка на сайт. P.S. Инструмент сделан и теперь вопросы в методолгии его использования в рамках Форт. |
Автор: | mgw [ Пн авг 19, 2013 12:54 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Выложил очередную версию QtE (работа с Qt из SPF). Варианты для Win32 и Linux32. Добавлен QMessageBox. В связи с новыми возможностями по редактированию сайтов в narod.yandex, для QtE сделал новый сайт. Архив содержит все исходники. http://qte.ucoz.ru/load |
Страница 4 из 6 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |