Плагин strings.spf [30/08/2014 14:08]

Обсуждение программ nnCron и nnCron LITE

Re: Плагин strings.spf [30/08/2014 14:08]

Postby mihast » Sun, 23 Aug 2015, 07:06

VoidVolker wrote: Там просто лишняя строка остается на стеке почему-то. В плагине, видимо, просто не проверяется глубина стека - вот и не сообщается об ошибке.


Поправите ?
mihast
 
Posts: 51
Joined: Tue, 23 Aug 2005, 21:14

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Sun, 23 Aug 2015, 12:52

Обязательно :)
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Sun, 23 Aug 2015, 14:42

Можно делать так:
Code: Select all
<%
    : ПутьСпецКаталога [ " D:/Program_/Spec/" ] SLITERAL ;
    : ОбменТест " %ПутьСпецКаталога%ОбменТест" ;

ОбменТест MsgBox
%>

Code: Select all
<%
     4 VALUE number4
     : num4   [ number4 ] LITERAL  ;

num4 N>S MsgBox

100 TO number4
number4 N>S MsgBox

num4 N>S MsgBox
%>
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Sun, 23 Aug 2015, 14:47

Да, вот только какой смысл-то?
Code: Select all
: ПутьСпецКаталога [ " D:/Program_/Spec/" ] SLITERAL ;
: ПутьСпецКаталога " D:/Program_/Spec/" ;

Результат-то будет одинаковым.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Sun, 23 Aug 2015, 15:09

А если так?
Code: Select all
<%
    : ПутьСпецКаталога  " D:/Program_/Spec/" ;
    : ОбменТест  " %[ ПутьСпецКаталога ] SLITERAL %ОбменТест" ;

ОбменТест MsgBox
%>

Есть смысл?
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Sun, 23 Aug 2015, 16:20

Вообще, как бы так не совсем правильно. Ибо подстрока должна попасть в специальный буфер... В общем, как исправлю - сразу выложу новую версию.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Thu, 27 Aug 2015, 23:30

Неудобно складывать строки.
Code: Select all
<%
    : Пример1 ( a u d u -- a u )
         +" Число\t"
         N>S SPAD+
         +" \NДата\t"
         FT>DD.MM.YYYY/hh:mm:ss SPAD+
         +" \NСтрока\t" SPAD+
         SPAD@
    ;

%>

#( _Пример1
 NoActive
SingleInstance
Action:
S" Вторник" \ строка
FT-CUR      \ двойное число
911         \ число
Пример1 MsgBox
)#


Может сделать буфер ячеек или "нано-стек" для использования в подстроках.
Code: Select all
    : Пример2 ( a u d u -- a u )
        >C 2>C 2>C
        \ какой-то код
       " Число\t %C>%\N Дата\t %2C> FT>DD.MM.YYYY/hh:mm:ss%\N Строка\t %2C>%"
    ;
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Fri, 28 Aug 2015, 08:33

Да не, тут же главная концепция в том, что переключение между компиляцией кода и компиляцией строк происходило автоматически.
Code: Select all
: test { a1 u1 a2 u2 -- } " S1: %a1 u1% ; S2: %a2 u2%" ;
S" str 1" S" str 2" test TYPE
S1: str 1 ; S2: str 2 Ok
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Sat, 29 Aug 2015, 11:06

У меня так не работает. Синтаксическая ошибка.
Code: Select all
: test { a1 u1 a2 u2 -- } " S1: %a1 u1% ; S2: %a2 u2%" ;
S" str 1" S" str 2" test TYPE

Если через задачу то внутренняя ошибка.
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Sun, 18 Oct 2015, 16:01

VoidVolker wrote:Для вставки строки со стека надо отключать контроль глубины:
Code: Select all
DEPTH-CONTROL OFF
S" qwerty" " ((% 2SWAP %))" TYPE CR



А так можно делать?
Code: Select all
<%
S" qwerty" " ((%SP@ 8 + 2@%))" TYPE CR 2DROP \ Работает.
%>

Или так. :?:
Code: Select all
<%
: Test1
 3 0 DO
   I "  Index = %SP@ @%" TYPE CR DROP
 LOOP
S" qwerty" " Stack string is: %SP@ 2@%" TYPE CR 2DROP
;

 Test1 \ Работает.
%>
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Mon, 02 Nov 2015, 14:39

Вот код:
Code: Select all
<%

\ SPAD-INIT
CR S" Перечитал кронтабы без SPAD-INIT" TYPE CR CR

: Test10
S" qwerty" " Stack string is: %2DUP%"
" Длина строки = " TYPE DUP . CR
 TYPE CR CR 2DROP
;

Test10

S" qwerty" " ((%2OVER%))"
" Длина = " TYPE DUP . CR
TYPE CR CR 2DROP

: Test20
S" qwerty" " Stack string is: %2DUP%"
" Длина такой же строки = " TYPE DUP . CR
 TYPE CR CR 2DROP
;

Test20

S" qwerty" " ((%2OVER%))"
" Длина = " TYPE DUP . CR
 TYPE CR CR 2DROP

%>


При каждом перечитывании кронтаба длина строки почему-то увеличивается на 2 ( два ноля).
Вот результат:
Image

Или я что-то не так делаю?
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby dothen » Thu, 05 Nov 2015, 16:57

Тут SPAD+ неправильно складывает строки, а +" правильно складывает.
Code: Select all
<%

: test10
    " 000 "
    SPAD!
    " 111"
    SPAD+
    SPAD@
    " Длина строки = " TYPE DUP . CR
    TYPE CR CR
;

: test20
    " 222 "
    SPAD!
    +" 333"
    SPAD@
    " Длина строки = " TYPE DUP . CR
    TYPE CR CR
;
CR S" Перечитал кронтабы" TYPE CR CR
test10
test20

%>

Вот результат:
Image
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Tue, 10 Nov 2015, 10:47

Вообще странно, должно работать. Как будет время - посмотрю.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [30/08/2014 14:08]

Postby elos » Tue, 10 Nov 2015, 14:59

Мне ближе и логичнее так:
Code: Select all
" 111 " " 222" SPAD!+
 Ok
SPAD@ TYPE
111 222 Ok

По твоему у меня вообще получилось:
Code: Select all
 Ok
" 333 " SPAD!
 Ok
" 444" SPAD+
 Ok
SPAD@
 Ok ( 97189924 18 )
" ДЛИНА СТРОКИ = " TYPE DUP . CR
ДЛИНА СТРОКИ = 18
 Ok ( 97189924 18 )
TYPE CR
            444444
 Ok
SPAD-INIT
 Ok
" 333 " SPAD!
 Ok
" 444" SPAD+
 Ok
SPAD@
 Ok ( 97189924 18 )
" ДЛИНА СТРОКИ = " TYPE DUP . CR
ДЛИНА СТРОКИ = 18
 Ok ( 97189924 18 )
TYPE CR
333         444444
 Ok

По другому попробовал - оказывается слова ещё нет в плагине:
Code: Select all
" 111 " " 222" STR+

" 111 " " 222" STR+
                 ^ -2003 WORD OR FILE ISN'T FOUND

 Ok

Осталось по исходнику разобраться что же делает SPAD+, а то слово добавить лично у меня сразу вызывает вопрос "куда?" - в начало или в конец буфера...

И из описания внутри плагина непонятен принцип работы SPAD - перезаписывается, дополняется или ещё что? Если у меня перерыв в форт-кодировании уже больше года, то хочется глянуть только в описание, а не разбираться с содержимым самого плагина. Надо для плагина (-ов) добавлять некий текстовый файл (типа plugin_name.spf.txt) с описанием функционирования и примерами (как в help-е nncron).
Да! В шапку плагина надо добавить "Для работы необходим плагин extwords.spf" - не в разделах же форума это искать, а если знал, то забыть можно. А так глянул внутрьв "шапку" и всё понятно...
Это как предложение по оформлению плагина.
elos
 
Posts: 664
Joined: Tue, 25 Apr 2006, 11:15

Re: Плагин strings.spf [30/08/2014 14:08]

Postby VoidVolker » Wed, 11 Nov 2015, 01:51

elos wrote:Осталось по исходнику разобраться что же делает SPAD+, а то слово добавить лично у меня сразу вызывает вопрос "куда?" - в начало или в конец буфера...

В конец данного буфера.
elos wrote:И из описания внутри плагина непонятен принцип работы SPAD - перезаписывается, дополняется или ещё что?

Перезаписывается, дополнятся и по всякому используется - для всего. Типа для временного хранения данных. Есть же PAD - но он для чисел и маленький.
elos wrote:Да! В шапку плагина надо добавить "Для работы необходим плагин extwords.spf" - не в разделах же форума это искать, а если знал, то забыть можно. А так глянул внутрьв "шапку" и всё понятно...Это как предложение по оформлению плагина.

Есть там все - в конце.

На волне интереса к данному плагину, хотелось бы получить фидбек: оно юзабельно вообще? Зачем использовать (с учетом того, что еще не все баги вычищены), когда есть простой и отполированный временем Autostrings.spf? Какие именно плюшки самые важные/востребованные? Что именно не хватает в autostrings?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 4 guests