Плагин extwords.spf

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

Плагин extwords.spf

Postby VoidVolker » Tue, 12 Jan 2016, 12:19

Описание плагина: viewtopic.php?f=23&t=9477#p21479
Тема для обсуждения, предложений и багрепортов плагина extwords.spf.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин extwords.spf

Postby SeMa » Thu, 14 Jan 2016, 10:15

Полезный плагин.
Пользуюсь IFNOT -ROT Crop* BACK-SEARCH Печать в консоли GET-WTEXT FILE-MD5 *BlockTheInput
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Плагин extwords.spf

Postby spronkin » Wed, 03 Feb 2016, 19:28

Здравствуйте! А можно привести примеры использования слов:
Code: Select all
    : StringGetPos { a1 u1  a2 u2 -- pos }
    : CropFromString   \ ( a1 u1  a2 u2 -- a3 u3 ) \ Обрезать строку 1 начиная со строки 2
    : CropAfterString   \ ( a u a1 u1 -- a2 u2 ) \ Обрезать строку 1 после строки 2
    : CharReplace   \ ( a u char1 char2 -- a u ) \ Заменить в строке символ 1 на символ 2 и оставить строку на стеке
    : CropFromStringEnd   \ ( a1 u1  a2 u2 -- a3 u3 ) \ Обрезать строку 1 начиная со строки 2 для первого совпадения с конца строки
     : CropAfterStringEnd   \ ( a u a1 u1 -- a2 u2 ) \ Обрезать строку 1 после строки 2 для первого совпадения с конца строки
     : GET-SUBST { a0 u0 a1 u1 a2 u2 -- a3 u3 | a0 u0 } \ Получить подстроку a3 u3 из строки a0 u0, ограниченную a1 u1 и a2 u2. Если подстрока не найдена - вернуть пустую строку.
     : GET-SUBST-ANY { a0 u0 a1 u1 a2 u2 -- a3 u3 | a0 u0 } \ Получить подстроку a3 u3 из строки a0 u0, ограниченную a1 u1 и a2 u2 или ограниченную a2 u2 и a1 u1 - т.е. порядок строк-ограничителей не важен. Если подстрока не найдена - вернуть пустую строку.

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

Re: Плагин extwords.spf

Postby VoidVolker » Wed, 03 Feb 2016, 21:25

Данные слова делают именно то, что соответствует их имени. Использовать их надо в тех случаях, когда надо сделать именно то, что данные слова делают.
StringGetPos - это из мануала. Получить позицию строки 2 в строке 1.
Code: Select all
S" 123456789" S" 567" StringGetPos . CR                    \ -> 5
S" D:\path\to\file.txt" S" to\" CropFromString TYPE CR     \ -> D:\path\
S" D:\path\to\file.txt" S" to\" CropAfterString TYPE CR    \ -> D:\path\to\
S" D:\path\to\file.txt" CHAR \ CHAR / CharReplace TYPE CR  \ -> D:/path/to/file.txt
S" D:\path\to\file.txt" S" \" CropFromStringEnd TYPE CR    \ -> D:\path\to
S" D:\path\to\file.txt" S" \" CropAfterStringEnd TYPE CR   \ -> D:\path\to\
S" D:\path\to\file.txt" S" \" S" \" GET-SUBST TYPE CR      \ -> path

S" D:\path\to\file.txt" S" path" S" file" GET-SUBST TYPE CR      \ -> \to\
S" D:\path\to\file.txt" S" file" S" path" GET-SUBST TYPE CR      \ ->
S" D:\path\to\file.txt" S" path" S" file" GET-SUBST-ANY TYPE CR  \ -> \to\
S" D:\path\to\file.txt" S" file" S" path" GET-SUBST-ANY TYPE CR  \ -> \to\
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин extwords.spf

Postby VoidVolker » Mon, 15 Feb 2016, 18:37

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

Re: Плагин extwords.spf

Postby dothen » Sun, 13 Mar 2016, 12:52

Почему SCASE неправильно работает с WC-COMPARE ?

Code: Select all
#( TEST-SCASE
NoActive
: WCSOF
    POSTPONE 2OVER POSTPONE 2SWAP POSTPONE WC-COMPARE
    [COMPILE] IFNOT POSTPONE 2DROP
; IMMEDIATE
Action:
    " %ModuleDirName%nncron.tab" 2DUP
    SCASE
    S" *.txt" WCSOF  " cmd /k type |q%2SWAP%|q" START-APP ENDSOF
    S" *.tab" WCSOF  " notepad.exe |q%2SWAP%|q" START-APP ENDSOF
        2DUP  WCSOF 200 200 BEEP " |q%2SWAP%|q" START-APP ENDSOF
    ENDSCASE
)#
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин extwords.spf

Postby dothen » Sun, 13 Mar 2016, 13:27

Ага, вот так заработало.

Code: Select all
: WCSOF
    POSTPONE 2OVER POSTPONE 2SWAP POSTPONE WC-COMPARE
    [COMPILE] IF POSTPONE 2DROP
; IMMEDIATE
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Плагин extwords.spf

Postby dothen » Sat, 04 Jun 2016, 17:23

Чтобы никто не изобретал велосипед при обработке строк, может добавить (для приличия :)) слова:

Code: Select all
: LCropFromString   \ ( a1 u1  a2 u2 -- a3 u3|a1 u1 ) \ Обрезать левую часть строки 1 до строки 2
    SEARCH DROP
;

: LCropAfterString   \ ( a1 u1  a2 u2 -- a3 u3|a1 u1 ) \ Обрезать левую часть строки 1 до строки 2 включительно.
    DUP >R SEARCH IF R@ - SWAP R@ + SWAP THEN RDROP
;

dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 5 guests