Как очистить символьную строку и вставить спецсимволы?

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

Как очистить символьную строку и вставить спецсимволы?

Postby spronkin » Sat, 04 Jan 2014, 18:32

Создаю символьную строку
Code: Select all
#( bpe
WatchHotKey: "{0x76}"
CREATE interface 256 ALLOT
Action:
     READ-BY-LINE: "penza.bpe1.txt"
        RE-MATCH: "%FOUND-LINE%" "/^set interfaces ([^ ]+) (unit ([^ ]+) )*(description \x22([^\x22]*)\x22)|(vlan-tags outer ([^ ]+))|(vlan-tags inner ([^ ]+))|(family inet address ([^ ]+))|(family inet policer input ([^ ]+))|(family inet policer output ([^ ]+))/"
        $1 interface PLACE \ помещаю значение переменной в строку interface

Далее мне необходимо очистить строку. Как это можно сделать?

Скажите пожалуйста, как можно поместить в символьную строку спец. символы, скажем, символ табуляции, переноса и др. невидимые символы?
Здесь нашел, как определить, например, символ табуляции:
Code: Select all
CREATE (TABUL) 0x9 C, 3 ALLOT
: TABUL  (TABUL) 1 ;

Но вот эти конструкции не работают:
Code: Select all
Action:
    S" %TABUL%" interface PLACE
    MSG: "Табуляция: %TABUL%"

А эта - работает:
Code: Select all
FILE-APPEND: "c:\nncron\test.txt" "%TABUL%"

Просьба объяснить, почему и как правильно вставлять символы в строку.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Как очистить символьную строку и вставить спецсимволы?

Postby spronkin » Sat, 04 Jan 2014, 19:12

Сорри. На первый вопрос нашел ответ в help:
spronkin wrote:Далее мне необходимо очистить строку. Как это можно сделать?
Code: Select all
interface COUNT 255 - 0 MAX interface PLACE


Остался второй вопрос:
spronkin wrote:Просьба объяснить, почему и как правильно вставлять спецсимволы в строку.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Как очистить символьную строку и вставить спецсимволы?

Postby VoidVolker » Sun, 05 Jan 2014, 12:37

spronkin wrote:Далее мне необходимо очистить строку. Как это можно сделать?

Code: Select all
interface 256 ERASE

Это именно очистит область памяти. Или можно просто обнулить счетчик:
Code: Select all
interface OFF

Мануал > Дополнительная информация > "Неотложная помощь" по Форту > 11. Пpавильно ли я понял, что при описании стpоки (внутpи кавычек) можно поставить паpу "%%" и внутpи оных писать последовательность Forth-слов?
Или можно использовать плагины: раз и два.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Как очистить символьную строку и вставить спецсимволы?

Postby spronkin » Mon, 06 Jan 2014, 07:34

Я не понял, почему эта команда
Code: Select all
S" a%TABUL%a" interface PLACE
MSG: "%interface COUNT%"

выдает а%TABUL%a

Code: Select all
S" a" interface PLACE
TABUL interface +PLACE
S" a" interface +PLACE
MSG: "%interface COUNT%"

а а
Можно ли как-то в одну команду загнать в строковую переменную и текст и символ табуляции, а то громоздко как-то получается.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Как очистить символьную строку и вставить спецсимволы?

Postby VoidVolker » Mon, 06 Jan 2014, 10:32

spronkin wrote:Я не понял, почему эта команда

Потому что слово S" только создает обычную строку и ничего более с неё не делает. А вот почти все префиксные слова автоматически ищут в строке подстроки с кодом между знаками процента и в рантайме его выполняют. В мануале все подробно расписано: Мануал > Дополнительная информация > "Неотложная помощь" по Форту > 11. Пpавильно ли я понял, что при описании стpоки (внутpи кавычек) можно поставить паpу "%%" и внутpи оных писать последовательность Forth-слов?.

spronkin wrote:Можно ли как-то в одну команду загнать в строковую переменную и текст и символ табуляции, а то громоздко как-то получается.

Конечно, с использованием плагинов (линки выше):
Code: Select all
" Табуляция:\tтекст"
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 2 guests

cron