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

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Tue, 27 Nov 2012, 13:59

SeMa, спасибо за баг-репорт! Проблемные места найдены и в ближайшее время все баги будут устранены, а неудобные места приведены в порядок.
SeMa wrote:При повторном перечитывании кронтаба (естественно с ошибкой) каждый раз добавляется

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby SeMa » Tue, 27 Nov 2012, 18:56

VoidVolker, спасибо.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Плагин strings.spf [05/11/2012 15:41]

Postby ask » Sun, 02 Dec 2012, 13:00

Добрый день!

Обновление strings.spf уже было?
ask
 
Posts: 56
Joined: Sun, 11 Dec 2011, 09:38

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Sun, 02 Dec 2012, 13:52

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby SeMa » Thu, 13 Dec 2012, 14:15

С этим плагином перестала работать конструкция
Code: Select all
" qwerty " " Stack string is: %2SWAP%" TYPE

" qwerty " " Stack string is: %2SWAP%" TYPE
qwerty Ok ( 37301987 17 )
TYPE
k string is: Ok
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Thu, 13 Dec 2012, 22:22

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby inquiro » Wed, 30 Jan 2013, 11:30

Здравствуйте.
Огромное Спасибо за плагины! Набравшись наглости, осмелюсь просить:
1. Возможно ли добавить слово:
!" \ ( a u -- ) Записать строку в буфер SPAD. ?
Получится аналог SPAD!, но так, на мой взгляд, будет удобнее. Я попробовал сделать сам, но чего-то не хватило, толи знаний, толи нет нужных клавиш на клавиатуре...

2. Если, в приступе криворукости, не записывая строку в буфер словом SPAD! записать так:
+" Строка 1." SPAD@
то на стеке будет:
: listWallpapersHistory#@ listWallpapersHistory LIST#@ ; String 1.
т. е. слово для быстрой работы со списками + строка. Это не проблема, но нельзя ли, по-возможности, предотвратить? Т. е., при отсутствии в SPAD какой-либо строки, просто помещать туда строку как бы словом SPAD!.
inquiro
 
Posts: 4
Joined: Wed, 26 Dec 2012, 21:57

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Wed, 30 Jan 2013, 21:07

inquiro wrote:Возможно ли добавить слово:!" \ ( a u -- ) Записать строку в буфер SPAD. ?Получится аналог SPAD!, но так, на мой взгляд, будет удобнее. Я попробовал сделать сам, но чего-то не хватило, толи знаний, толи нет нужных клавиш на клавиатуре...

Хочется по-минимуму использовать всякие символы, иначе таких слов набирается немерянное количество и становится сложно запомнить семантику всех слов. Впрочем, если очень хочется, то вот так:
Code: Select all
: !" \  SPAD! ;


inquiro wrote:Если, в приступе криворукости, не записывая строку в буфер словом SPAD! записать так:

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby inquiro » Thu, 31 Jan 2013, 01:46

Я неверно пояснил, вот такое слово:
: !" SPAD! ;
я бы и сам смог, но это действительно не нужно, нужно аналог
" String 1."
только с записью строки сразу в SPAD, т. е. вот эту последовательность:
" String 1." SPAD!
записывать вот таким образом:
!" String 1."
со всеми радостями внутри !" " - эскейп-последовательностями, выполнением кода между %%, и т. д. ...
Вот такое у меня никак пока не получается.
inquiro
 
Posts: 4
Joined: Wed, 26 Dec 2012, 21:57

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Thu, 31 Jan 2013, 08:12

А зачем это надо? Какова задача-то? На самом деле, в этом смысла вообще нет, т.к. строки без сложения и складываемые подстроки находятся в кодофайле, а буфер SPAD - он временный, если туда сохранить строку на этапе компиляции она попросту будет испорчена ближайшим сложением строк. Помещать строку в SPAD вручную во время выполнения имеет смысл только в случае если в ней нет сложения строк(код между %%), если же сложение есть, то результирующая строка автоматически окажется в SPAD.
Основная идея этого плагина и заключается в поиске наиболее простого и удобного способа сложения строк и без утечек памяти, как в случае с S+. Основная задача слова SPAD! в инициализации буфера начальной строкой, чтобы позже нужные куски строк автоматически складывались в этот же буфер и в итоге можно было получить контролируемый результат.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин strings.spf [05/11/2012 15:41]

Postby inquiro » Thu, 31 Jan 2013, 11:37

VoidVolker wrote:Помещать строку в SPAD вручную во время выполнения имеет смысл только в случае если в ней нет сложения строк(код между %%), если же сложение есть, то результирующая строка автоматически окажется в SPAD.

А вот об этом предупреждать надо! Так ведь можно и мозг перегреть, пытаясь понять, почему сложение в SPAD не работает, а понять исходники полностью пока не под силу.
VoidVolker wrote:А зачем этот надо?

Мне понадобилось, мало того, испытываю непреодолимое желание сие осуществить.
И, тем не менее, спасибо за то, что стимулируете самостоятельный поиск решения.
inquiro
 
Posts: 4
Joined: Wed, 26 Dec 2012, 21:57

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Thu, 31 Jan 2013, 14:19

inquiro wrote:А вот об этом предупреждать надо! Так ведь можно и мозг перегреть, пытаясь понять, почему сложение в SPAD не работает, а понять исходники полностью пока не под силу.

Так ведь специально для этого он и был создан. В описание же все подробно расписано.
inquiro wrote:Мне понадобилось, мало того, испытываю непреодолимое желание сие осуществить.

А чем не устраивает запись вида:
Code: Select all
" string" SPAD!

Так ведь нагляднее. Мало того, ведь тогда придется писать еще, такое же слово для AZ строк и еще пару слов для режима без экранирования спецсимволов.
Слова для ручной записи и дозаписи в SPAD нужны как раз для явной записи строки в буфер и большего контроля происходящего. Например в цикле:
Code: Select all
" Begin numbers: " SPAD!  \ ИНициализируем SPAD начальной строкой
10 0 DO
  I N>S SPAD+   \ Записываем число в буфер *(1)
LOOP
+"  End numbers"  \ Записываем конец строки в буфер
SPAD@ TYPE CR   \ Печатаем содержимое буфера

Вывод:
Code: Select all
Begin numbers: 0123456789 End numbers
 Ok

*(1) Из-за особенностей реализации в СПФ циклов со счетчиком более логичный вариант:
Code: Select all
+" %I%"

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby inquiro » Thu, 31 Jan 2013, 15:57

VoidVolker wrote:
inquiro wrote:А вот об этом предупреждать надо! Так ведь можно и мозг перегреть, пытаясь понять, почему сложение в SPAD не работает, а понять исходники полностью пока не под силу.

Так ведь специально для этого он и был создан. В описание же все подробно расписано.

К сожалению, не смог понять из описания, что запись:
" |q%ModuleUpDirName%nnBackup\nnbackup.exe|q sync %strSyncSource% -ci -o |q%strSyncDest ASCIIZ>%|q " SPAD!
поместит в SPAD пустую строку, хоть и перечитал описание вдоль и поперёк в попытке выяснить что я делаю не так (кстати, в описании присуствует r". Ну да ладно!). А написал я так потому, что дальше код и +" strng 2" и опять код и +" string 3".

Эта запись:
" string" SPAD!
мне кажется несколько громоздкой, да ещё и имеет вышеуказанную особенность. Хочется, чтобы строка помещалась в SPAD записью !" string" вне зависимости от наличия в ней %%.

VoidVolker wrote:Мало того, ведь тогда придется писать еще, такое же слово для AZ строк и еще пару слов для режима без экранирования спецсимволов.

Да! Дааааа!! И я это сделаю! И пусть моя башка треснет, но сделаю!
Спасибо за пояснения, я понимаю, для чего нужен SPAD. Идея великолепная, исполнение очень функциональное. Но всегда хочется чего-то ещё... Да побольше!
inquiro
 
Posts: 4
Joined: Wed, 26 Dec 2012, 21:57

Re: Плагин strings.spf [05/11/2012 15:41]

Postby VoidVolker » Thu, 31 Jan 2013, 18:52

inquiro wrote:К сожалению, не смог понять из описания, что запись:" |q%ModuleUpDirName%nnBackup\nnbackup.exe|q sync %strSyncSource% -ci -o |q%strSyncDest ASCIIZ>%|q " SPAD!поместит в SPAD пустую строку, хоть и перечитал описание вдоль и поперёк в попытке выяснить что я делаю не так (кстати, в описании присуствует r". Ну да ладно!). А написал я так потому, что дальше код и +" strng 2" и опять код и +" string 3".

В данном случае эта строка:
Code: Select all
" |q%ModuleUpDirName%nnBackup\nnbackup.exe|q sync %strSyncSource% -ci -o |q%strSyncDest ASCIIZ>%|q "

магическим образом превратится в следующий код:
Code: Select all
SPAD-INIT
" |q" SPAD+
DEPTH >R
ModuleUpDirName
DEPTH R> ?sub+
" nnBackup\nnbackup.exe|q sync "
SPAD+
DEPTH >R
strSyncSource
DEPTH R> ?sub+
"  -ci -o |q"
SPAD+
DEPTH >R
strSyncDest
ASCIIZ>
DEPTH R> ?sub+
" |q "
SPAD+
SPAD@

Таким вот образом результирующая строка оказывается в буфере SPAD. Повторное помещение строки в буфер словом SPAD! приведет лишь к пустой потере производительности.

inquiro wrote:Эта запись:
" string" SPAD!
мне кажется несколько громоздкой, да ещё и имеет вышеуказанную особенность. Хочется, чтобы строка помещалась в SPAD записью !" string" вне зависимости от наличия в ней %%.

Не громоздкая, а информативная.

inquiro wrote:Да! Дааааа!! И я это сделаю! И пусть моя башка треснет, но сделаю!

Ну что ж, раз есть такое большое желание, дам подсказку: стоит посмотреть определение слова ".

inquiro wrote:Спасибо за пояснения, я понимаю, для чего нужен SPAD. Идея великолепная, исполнение очень функциональное. Но всегда хочется чего-то ещё... Да побольше!

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

Re: Плагин strings.spf [05/11/2012 15:41]

Postby SeMa » Wed, 29 May 2013, 15:55

Когда можно ожидать пофиксенную версию сабжа?
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests

cron