Read by line 2

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

Re: Read by line 2

Postby spronkin » Mon, 23 Jan 2017, 02:57

VoidVolker wrote:Использовать регулярные выражения для поиска и подсчета отдельного символа или простых последовательностей - довольно медленно, рекомендую использовать для этого обычный цикл.

А как это будет выглядеть? Вы наверное имеете ввиду цикл BEGIN UNTIL, так как количество найденных символов заранее неизвестно? Или же есть какая-то переменная в READ-BY-LINE2, которая подсчитывает длину каждой строки? Тогда можно использовать цикл со счетчиком.
То есть есть возможность проверки условия соответствия i-го символа символу TAB 0x09?
Как организовать такой цикл? Где это можно посмотреть? Наверное уже обсуждалось тут, но я не нашел.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Read by line 2

Postby VoidVolker » Mon, 23 Jan 2017, 06:16

Code: Select all
0                 \ i  \ Счетчик (просто пример, можно и переменную использовать)
S" 1 2 3 4 5"     \ i addr u
OVER + SWAP DO    \ i addr_end addr_start
    I C@              \ char  \ Код символа на стеке, в I - текущий адрес
    0x20 = IF 1+ THEN
LOOP
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: nncron+(LTSC 1809.17763.316) - переход от b13 к b15

Postby elos » Wed, 03 Apr 2019, 12:41

Проблема с построчным чтением... Простейшее не проходит
Code: Select all
#( test_20190403_01
 NoActive
Action:
\ Выведет в сообщении все строчки файла test.txt
READ-BY-LINE: "D:\MailABLO\test.txt"
MsgBox
;READ-BY-LINE
)#

Перепробовал все четыре версии построчного чтения файлов. Результат "Error # - 1073741819" в последних версиях и куча окошек в первичной безмодульной версии.
"Везение" - это результат тщательной подготовки, "невезение" - следствие разболтанности и лени. - Роберт Хайнлайн
Хорошо сформулированный вопрос отпадает сам собой.
elos
 
Posts: 692
Joined: Tue, 25 Apr 2006, 11:15

Re: Read by line 2

Postby VoidVolker » Wed, 03 Apr 2019, 21:10

Code: Select all
READ-BY-LINE: "D:\MailABLO\test.txt"
    FOUND-LINE TYPE CR
;READ-BY-LINE


Текущая версия — одна, 2.0 от 14:25 11/08/15.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Read by line 2

Postby elos » Thu, 04 Apr 2019, 10:05

Так а куда рыть то?

nncron "молчит", сглотнув плагин. На задачу не ругается. То есть "скомпилировалось" в словарь всё нормально. Ошибка появляется только при попытке запустить задачу. Но это не проблемы со стеком.
Сегодня попробую вместо LTSC на win7 запустить тот же комплект. Вдруг это из-за прав или ещё чего на LTSC... (У меня, например, не проходило соединение для DameWare при всех прописях в файрволе. Пока не выключил полностью твикалкой UAC в LTSC. Такие вот спецэффекты.)
А именно этот плагин мне "кровь из носу" нужен и именно на LTSC!

VoidVolker, можешь прислать архив своей папки "plugins" и nncron.ini на elos_yandex_ru? Вдруг у меня это всё из-за версий плагинов и порядка их подключения...

P.S. Твой код работает. Мои - нет. Что-то поменялось. Буду разбираться. Но архив жду с нетерпением (на всякий случай).
Мой ini на всякий случай:
Code: Select all
\ базовая конфигурация плагинов
  INCLUDE "plugins\tools.spf"           \ WORDS-LIKE TASKS
  INCLUDE "plugins\win2tray.spf"        \ [ALL] WIN-TO-TRAY: "pattern"
  INCLUDE "plugins\windows.spf"         \ TOPMOST? MINIMIZED? ...
\ INCLUDE "plugins\timesync.spf"        \ TP-SYNC: <server name> ...
\ INCLUDE "plugins\wakeup.spf"          \ suspend & hibernate
  INCLUDE "plugins\time.spf"            \ UPTIME FILE-TIME: ...
  INCLUDE "plugins\system.spf"          \ GET-VOL-ID MemLoad ...
\ INCLUDE "plugins\ras.spf"             \ DIAL-DLG
\ INCLUDE "plugins\http.spf"            \ HTTP-GET ...
  INCLUDE "plugins\procwin.spf"         \ PROC-CLOSE
\ INCLUDE "plugins\winlirc.spf"         \ Watch-Lirc:
\ INCLUDE "plugins\net.spf"             \ NET-FILE-LIST ...

\ пользовательские плагины VVV
\ -----------------
INCLUDE "plugins\extwords.spf"          \ Сборник различных полезных слов
INCLUDE "plugins\read-by-line.spf"      \ FOR-FILE-LINES FOR-LINES READ-BY-LINE ...

\ INCLUDE "plugins\strings.spf"         \ поддержка строк и операций с ними...
\ INCLUDE "plugins\lists.spf"           \ поддержка списков и операций с ними...
\ -----------------

INCLUDE "plugins\recode.spf"            \ RECODE TO-UPPER TO-LOWER
INCLUDE "plugins\proccmdline.spf"       \ PROC-CMDLINE PROC-FULLNAME ...


\ INCLUDE "plugins\string_manipulation.spf"
\ INCLUDE "plugins\kbd_layout.spf"      \ Retrieves the active keyboard layout
\ INCLUDE "plugins\SendInput.spf"       \ Keys & mouse emulation
\ INCLUDE "plugins\keystate.spf"        \ KEY-PRESSED? KEY-TOGGLED?
\ INCLUDE "plugins\files_pick.spf"      \ [RECURSIVE] RECENT-FILE-TIME: "filename_mask" ...
\ INCLUDE "plugins\updates.spf"         \ NEW-VERSION
"Везение" - это результат тщательной подготовки, "невезение" - следствие разболтанности и лени. - Роберт Хайнлайн
Хорошо сформулированный вопрос отпадает сам собой.
elos
 
Posts: 692
Joined: Tue, 25 Apr 2006, 11:15

Re: Read by line 2

Postby VoidVolker » Thu, 04 Apr 2019, 12:09

elos wrote:Ошибка появляется только при попытке запустить задачу. Но это не проблемы со стеком.

Так именно со стеком и проблема:
Code: Select all
READ-BY-LINE: "D:\MailABLO\test.txt"
    \ ( -- )   \ На стеке пусто, какой текст в сообщении выводить?
    MsgBox
;READ-BY-LINE


elos wrote:Вдруг у меня это всё из-за версий плагинов и порядка их подключения...

Сначала extwords, затем rbl и все должно работать. Было две версии RBL: первая и вторая. Вторая отличается от первой большим функционалом и исправлением ошибок, а так же небольших изменениях в использовании (для упрощения использования).
Все мои плагины можно скачать как с сайта ннкрона так и с гитхаба (но там кодировка UTF-8, на код не влияет, только на комментарии к коду):
http://www.nncron.ru/download/plugins/vv/extwords.spf
http://www.nncron.ru/download/plugins/v ... y-line.spf
https://github.com/nnCron/plugins
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Read by line 2

Postby elos » Thu, 04 Apr 2019, 17:59

Я с ума сойду с этим кроном...

Чтобы заработала построчная обработка, необходимо соблюдать зависимость от extwords.spf
Code: Select all
INCLUDE "plugins\extwords.spf"          \ Сборник различных полезных слов
INCLUDE "plugins\read-by-line.spf"      \ FOR-FILE-LINES FOR-LINES READ-BY-LINE ...
о чём сказано на странице форума, но не в теле плагина, что есть минус.

Заработал на тестовой машине мой старый код после исправлений. Пошел править код на рабочую машину. А мне в ответ выдает ошибку плагина и таба. После разборок выяснилось, что требуется наличие D> для read-by-line.spf, которое присутствует разблокированное в lists.spf, который у меня не подключен. Пришлось на рабочей машине добавлять определение в nncron.ini
Code: Select all
INCLUDE "plugins\extwords.spf"          \ Сборник различных полезных слов
: D> 2SWAP D< ;
INCLUDE "plugins\read-by-line.spf"      \ FOR-FILE-LINES FOR-LINES READ-BY-LINE ...

Вывел в консоли на тестовой машине список слов и проверил на наличие D>. Отсутствует! А код работает... Ну не может быть же такого быть (пока не нашёл где проглядел).
"Везение" - это результат тщательной подготовки, "невезение" - следствие разболтанности и лени. - Роберт Хайнлайн
Хорошо сформулированный вопрос отпадает сам собой.
elos
 
Posts: 692
Joined: Tue, 25 Apr 2006, 11:15

Re: Read by line 2

Postby VoidVolker » Thu, 04 Apr 2019, 19:40

Up! Версия 2.1, убран лишний код. Скачать: https://github.com/nnCron/plugins/blob/ ... y-line.spf (пока только на гитхабе, на сервер позже загружу).
extwords не нужен. Нашел ошибку в коде плагина, который был на сервер загружен и на гитхаб: был лишний код, который не использовался (тестовый или экспериментальный код). То-то я смотрю в код плагина у себя и нигде не могу найти D> =)
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Read by line 2

Postby elos » Sat, 06 Apr 2019, 09:58

Зависимость от extwords.spf осталась - теперь это -ROT

Все эти "мелкие", но базовые слова так и просятся в начало словаря. Почему их с самого начала не оставили в кроне? Кое-что даже просто выкинули...
"Везение" - это результат тщательной подготовки, "невезение" - следствие разболтанности и лени. - Роберт Хайнлайн
Хорошо сформулированный вопрос отпадает сам собой.
elos
 
Posts: 692
Joined: Tue, 25 Apr 2006, 11:15

Re: Read by line 2

Postby VoidVolker » Sat, 06 Apr 2019, 17:32

elos wrote:Зависимость от extwords.spf осталась - теперь это -ROT

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

Previous

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron