Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 18:40

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт янв 28, 2011 23:04 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Antender писал(а):
Форт быстрым быть и не должен, всё-таки это скриптовый язык.

Форт может быть использован как скриптовый, но таковым не является.
Antender писал(а):
Кроме того есть довольно-таки быстрый 4th

Он медленный - SPF гораздо быстрее.
Antender писал(а):
Зато не будет геморроя со стандартами вызовов библиотек например.И переносимо будет. И исходники понятней.

Это не проблема. Просто особо не надо было.
Antender писал(а):
И исходники понятней.

Тому кто напишет форт на С. Но из-за медленности форта этот вариант не годится.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт янв 28, 2011 23:11 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Antender писал(а):
Есть 3 проблемы:
1. Постскрипт != Форт

вам явно не нужен Форт (сужу по вашим высказываниям)
Antender писал(а):
2. Посткрипт ориентирован на принтеры

это не принципиально, к тому же скорее на графику (были постскрипт терминалы ведь). А функциональность урезать всегда легче, чем добавить.
Antender писал(а):
3. Посткрипт в основном предназначен для автоматической генерации другими программами.

его так привыкли использовать, но я видел достаточно примеров рукописного кода на постскрипте.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт янв 28, 2011 23:12 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Предлагаю обсуждение развития форта перенести в тему "опять об идеологии и внутреннем устройстве Форта"


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт янв 28, 2011 23:15 
Не в сети

Зарегистрирован: Вс апр 25, 2010 11:14
Сообщения: 200
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
ок______________


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср фев 16, 2011 22:53 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Очередная версия библиотеки работы с Qt.
Добавлено: меню, горячие кнопки, кодировки.

Демонстрационная программа:
view.f - просмотр текстов форта с подсветкой синтаксиса. Поддержка кодировок Windows-1251, IBM-866, UTF-8, KOI8-R

http://mgw.narod.ru/spfqt_win.zip


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пн фев 28, 2011 22:18 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Подцепил 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 !
    ;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср мар 02, 2011 21:12 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Подцепил 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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт мар 11, 2011 23:32 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Очередная версия библиотеки работы с Qt.
Добавлено: ToolBar, StatusBar, списки, история команд, станд. диалоги

Демонстрационная программа:
console3.f - графическая консоль
view.f - просмотр текстов форта с подсветкой синтаксиса. Поддержка кодировок

http://narod.ru/disk/7304581001/spfqt_win_3.zip.html


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Вт мар 15, 2011 21:00 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Как выяснилось, Qt использует систему плагинов для отображения графических форматов. В связи с этим не отображались иконки на значках панели инструментов, на тех компьютерах, где не установлена Qt.

Для устранения этой ошибки кладу в архив дополнительный каталог imageformats, который должен быть в рабочем каталоге программы.

Дополненный вариант: http://narod.ru/disk/7581633001/spfqt_win_3.zip.html


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср апр 13, 2011 17:33 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Очередная версия библиотеки работы с 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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср мар 14, 2012 20:42 
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?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Чт мар 15, 2012 09:53 
Сборка в архиве для Windows dll
qtcore4.dll, qtgui4.dll, mingw10.dll, libgcc-s-dw2-1.dll, qtnetwork410.dll
http://www.onlinedisk.ru/file/842926/


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср май 22, 2013 17:11 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Только что заметил! В статье на “ВикипедиЯ” http://ru.wikipedia.org/wiki/Qt посвященной Qt есть ссылка на данную статью. Примечание №30


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср май 22, 2013 17:31 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
mgw писал(а):
Только что заметил! В статье на “ВикипедиЯ” http://ru.wikipedia.org/wiki/Qt посвященной Qt есть ссылка на данную статью. Примечание №30

И уже давно! Страна должна знать своих героев :shuffle; 29-я ссылка на сайт.

P.S. Инструмент сделан и теперь вопросы в методолгии его использования в рамках Форт.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пн авг 19, 2013 12:54 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Выложил очередную версию QtE (работа с Qt из SPF).
Варианты для Win32 и Linux32. Добавлен QMessageBox.
В связи с новыми возможностями по редактированию сайтов в narod.yandex, для QtE сделал новый сайт. Архив содержит все исходники. http://qte.ucoz.ru/load


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB