Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 03:48

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Вс авг 01, 2010 19:29 
Про поиск по форт файлу. По умолчанию ведётся поиск только в зарегистрированных типах файлов. Остальные игнорируются. Нужно внести в реестр:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex
"FilterFilesWithUnknownExtensions"=dword:00000001


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Вт авг 03, 2010 16:51 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Гость писал(а):
Ктонибудь знает в какой библиотеке определяется слово -text@ ?
Рекомендую прочитатьWinLib
Особенно 2. Общая организация библиотеки там ответ на вопрос да и вокруг еще мноооого интересного! ;)

И еще: Учебник работы с оконной библиотекой WinLib от Валентина Первых

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Ср авг 04, 2010 02:46 
Извините, новичек в Форте, я думаю все когда то ими были. Пытаюсь разобраться, разложить так сказать по полочкам :) . В ~yz/winlib.html сказано :
" Библиотека в большой степени базируется на специальных структурах-таблицах. Окна и элементы управления представляются такими таблицами - по большому счету, списками свойств. Часть свойств могут быть прочитаны и записаны, некоторые - только записаны. Свойство -prop читается словом -prop@ и записывается словом -prop!. "
Вопрос где же описываются эти слова " -prop@ " и " -prop! " ? Т.е. получается описываются они не через стандартное слово двоеточие " : " а как то по-другому, как и где именно что то не могу понять :(


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Ср авг 04, 2010 11:44 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Гость писал(а):
Вопрос где же описываются эти слова " -prop@ " и " -prop! " ?

~yz\lib\winlib.f писал(а):
Код:
: generate-names
  saved-names @
  BEGIN
    DUP
  WHILE
    DUP NAME> >BODY @ >R
    DUP COUNT ( a a2 n) >R PAD R@ CMOVE
    PAD R@ CREATED R>
    R@ , make-constant >R
    c: @ PAD R@ + C!
    PAD R@ 1+ CREATED R>
    R@ , make-getter
    DUP PAD + c: ! SWAP C!
    PAD SWAP 1+ CREATED
    R> , make-setter
    CDR
  REPEAT DROP ;

: endtable ( a -- )
  DROP
  generate-names
  saved-names FREE-WORDLIST
;
Если новичок, я б рекомендовал сначала разобраться в более простых вещах, пописать программки, почувствовать дух, так сказать... ;) Здесь использованы "продвинутые технологии", я такого до этого не встречал, может, просто не смотрел - не надо было... ;) .

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

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Чт авг 05, 2010 02:15 
in4 ну теперь ясно какое слово генерирует другие слова. Там дальше в тексте идет формирование таблицы и в нем текст:
Код:
item -text getset
тоесть как бы слово endtable берет слово -text и сохраняет его в таблице, как то дописывая еще знаки ! и @ к нему (т.е. получается слово записать текст -text! и взять текст (прочитать в буфер) -text@ ) Вроде немного прояснилось, хотя и самую малость, может есть ошибки в моих предположениях? А вот слова -prop в таблице нет, как оно формируется - загадка :(


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Чт авг 05, 2010 14:13 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
GEO писал(а):
А вот слова -prop в таблице нет, как оно формируется - загадка :(
Ну, насколько я понял, это в доке просто ПРИМЕР свойства (PROPerty).

В generate-names слово CREATED встречается 3 раза - на каждый вариант, -prop , -prop@ , -prop! . Соответственно, 3 варианта и генерируются. Но в эти тонкости можно и не вдаваться. Разве что когда эту либу переписывать. Я уже несколько раз порывался, но откладывал... :(

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Чт авг 19, 2010 15:32 
Это опять я. Бюсь еще над своим редактором, в коде некоторые вопросы:
Код:
DIS-OPT \ для SPF ниже 4.10 под NT

REQUIRE toolbar ~yz/lib/wincc.f
REQUIRE STR@ ~ac/lib/str5.f 

\ некторые переменные пока не используются
0 VALUE multiedit_in
"" VALUE text_multiedit_in

"" VALUE text_in
"" VALUE text_out
"" VALUE text_in_out

\ процедура запуска скрипта
PROC: RunScript  { \ [ 256 ] TextIn Dlin -- }
 
TextIn multiedit_in -text@ \ СОДЕРЖИМОЕ ВХОДНОЙ СТРОКИ  например 2 2 * . CR
multiedit_in -text# TO Dlin \ РАЗМЕР ВХОДНОЙ СТРОКИ

TextIn Dlin EVALUATE  \ выполняем строку. Слово EVALUATE только интерпритирует
                       \ а нужна еще и компиляция текста введенного в multiedit.
                       \ Еще подходит слово EVAL-WORD, но оно компилирует/интерпритирует только одно слово
                       \ Возможно надо пройтись по всему тексту в цикле и каждое слово обраотать им?
                       
\ Еще вопрос: как вывести результат выполнения (интерпритации/компиляции) строки назад в  multiedit ?
\ Тоесть хотелось бы нечто похожее как в консоли но только с оконным интерфейсом как у меня.
\ Пока результат выводиться в консоли рядом с окном программы.
PROC;

MESSAGES: multiedit_in_msg \ назначаем обработку сообщений от элемента multiedit
  M: en_killfocus
    multiedit_in TO text_multiedit_in   
  M;
MESSAGES;

: make-grids
  GRID -yfixed
    Z" Введите текст (in): " label (/ -align right /) -left |
    ===
    multiedit   (/ -name multiedit_in -size 400 200 -notify multiedit_in_msg /)
    TRUE W: sb_vert this -hwnd@ ShowScrollBar DROP
    TRUE W: SB_HORZ this -hwnd@ ShowScrollBar DROP |
    ===
     \ создаем кнопку с надписю " >>" которая будет выполнять определенную нами процедуру
    Z" Выполнить! >> " button (/ -command RunScript /) |
  GRID;  winmain -grid!
  ;

: 0WINDOWS
  0 create-window TO winmain
  W: color_3dface syscolor winmain -bgcolor!  \ серый фон (if станд. цвета)
  Z" Редактор" winmain -text!

  make-grids
  winmain wincenter
  winmain winshow
;

: run
  WINDOWS...
  0WINDOWS
  ...WINDOWS
  BYE
;

' ANSI>OEM TO ANSI><OEM

TRUE TO ?GUI
' run MAINX !
S" red.exe" SAVE 

run

BYE
Вынесу вопросы:
Слово EVALUATE только интерпритирует а нужна еще и компиляция текста введенного в multiedit.
Еще подходит слово EVAL-WORD, но оно компилирует/интерпритирует только одно слово. Возможно надо пройтись по всему тексту в цикле и каждое слово обраотать им?

Еще вопрос: как вывести результат выполнения (интерпритации/компиляции) строки назад в multiedit ? Тоесть хотелось бы нечто похожее как в консоли но только с оконным интерфейсом как у меня. Пока результат выводиться в консоли рядом с окном программы. Подскажите если кто знает?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Чт авг 19, 2010 16:44 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
GEO писал(а):

Слово EVALUATE только интерпритирует а нужна еще и компиляция


В Форте интерпритация, она-же и компиляция. И вообще, любая компиляция
это порождающая код интерпритация.

: TST S" : 7. 7 . ;" EVALUATE ;
TST 7.


GEO писал(а):

Еще вопрос: как вывести результат выполнения (интерпритации/компиляции) строки назад в multiedit ?


Флаткиным реализовано:
в каталоге \samples\win\spfwc\
запускаешь: compile.bat


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Пт авг 20, 2010 17:03 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
GEO писал(а):
Еще вопрос: как вывести результат выполнения (интерпритации/компиляции) строки назад в multiedit ?
Я делал однострочное edit-поле для EVALUATE . "Программа", которая там вводилась, должна была вернуть одно число на стеке. Оно форматировалось и выводилось в другое edit-поле, т.к. я хотел одновременно видеть и "программу" и результат и иметь возможность редактирования "программы".

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности работы WinLib by ~yz+~ygrek
СообщениеДобавлено: Вс авг 22, 2010 15:48 
Mihail писал(а):
В Форте интерпритация, она-же и компиляция. И вообще, любая компиляция
это порождающая код интерпритация.

Действительно компиляция работает! Наверное я редактировал код перед тем как бросить сюда и помогло.
Mihail писал(а):
Флаткиным реализовано:
в каталоге \samples\win\spfwc\
запускаешь: compile.bat

Спасибо, да верно, я уже давно присматриваюсь к этому исходнику, но очень уж там много "высшего пилотажа". Как бы как то приспособить вывод в мемо(multiedit) результата работы так как реализовано тут (samples\win\spfwc\spf4wc.f) . Я так понял этим там занимается слово FlushJetBuf. На самом так сказать "нижнем" уровне выводом занимаются слова из src\win\spf_win_io.f я правильно понимаю? Попытаюсь дальше разбираться с исходниками и хелпами.
in4 писал(а):
В будущем есть идея реализовать три элемента multiedit. В первом вводиться код, во втором отображается результат его обработки а в третьем вводимый код и результат вместе. Собственно первое уже реализовано, второе пока разясняется а с третим думаю проблем больших не должно возникнуть. Пока пытаюсь разяснить ключевые моменты


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

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


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

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


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

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