Вопрос - Ответ

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

Re: Вопрос - Ответ

Postby Morituruz » Wed, 10 Oct 2012, 09:19

Спасибо, но я думал кто-то уже из своего кронтаба готовое выложит. В общем, там всё просто, как оказалось:
Code: Select all
: INI-DEL-SECTION
INI_FileName @ 0 0 INI_SectionName @ WritePrivateProfileStringA DROP
;


ini-плагин + два слова (удаление параметра из секции и удаление всей секции):
Code: Select all
\ File:         ini.spf
\ Author:       Nicholas Nemtsev, Valery Kondakoff (based on Alan West idea)
\ Date:         10:26 10.10.2012
\ Description:  Words for retrieving/setting a string from/to the
\               specified section in an ini-file. A section in the
\               initialization file must have the following form:
\               [section]
\               key=string
\               .
\               .
\               .
\ Usage: first specify the ini-filename and ini-section:
\            S" file_name" INI-FILENAME
\            S" section_name" INI-SECTION
\        then use INI-GET-VALUE/INI-SET-VALUE to retrieve/set the
\        specified value:
\            S" key_name" INI-GET-VALUE
\            S" key_name" S" key_value" INI-SET-VALUE

\ Example:
\ #( test-get-set-ini
\ NoActive
\ : ini-key-name S" first_key" ;
\ : ini-key-name2 S" second_key" ;
\ Action:
\     S" c:\temp\test.ini" INI-FILENAME
\     S" first_section" INI-SECTION
\     ini-key-name S" first value" INI-SET-VALUE
\     ini-key-name2 S" second value" INI-SET-VALUE
\     MSG: "first_section/first_key=%ini-key-name INI-GET-VALUE%"
\     MSG: "first_section/second_key=%ini-key-name INI-GET-VALUE%"
\ )#

WINAPI: GetPrivateProfileStringA KERNEL32.DLL
WINAPI: WritePrivateProfileStringA KERNEL32.DLL

USER INI_FileName
USER INI_SectionName

: INI-FILENAME ( a u -- ) S>ZALLOC INI_FileName ! ;
: INI-SECTION ( a u -- ) S>ZALLOC INI_SectionName ! ;

: INI-GET-VALUE ( a1 u1 -- a2 u2 )
    { \ key val -- }
    S>ZTEMP TO key
    256 TEMP-ALLOC TO val
    INI_FileName @ 255 val Z" default value" key INI_SectionName @ GetPrivateProfileStringA
    val SWAP
;

: INI-SET-VALUE ( a1 u1 a2 u2  -- )
    { \ key val -- }
    S>ZTEMP TO val
    S>ZTEMP TO key
  INI_FileName @ val key INI_SectionName @ WritePrivateProfileStringA DROP
;

\ удаление параметра из секции:
: INI-DEL-VALUE ( a1 u1 -- )
 S>ZTEMP
 INI_FileName @ 0 2 ROLL INI_SectionName @ WritePrivateProfileStringA DROP
;
\ удаление всей секции:
: INI-DEL-SECTION
INI_FileName @ 0 0 INI_SectionName @ WritePrivateProfileStringA DROP
;
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Вопрос - Ответ

Postby SeMa » Thu, 11 Oct 2012, 18:00

В чём разница между фортовским D>S и кроновским DOUBLE>S, хотя в кроне первый есть.
Есть пустая 2VARIABLE tmp_file.
Code: Select all
tmp_file 2@ . .
0 0 Ok
tmp_file 2@ D>S
0 Ok
tmp_file 2@ DOUBLE>S
1 Ok
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Вопрос - Ответ

Postby VoidVolker » Fri, 12 Oct 2012, 07:28

SeMa wrote:В чём разница между фортовским D>S и кроновским DOUBLE>S

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

Re: Вопрос - Ответ

Postby SeMa » Sat, 13 Oct 2012, 19:01

VoidVolker wrote:
SeMa wrote:В чём разница между фортовским D>S и кроновским DOUBLE>S

В том, что первое "конвертировать число двойной длины в число одинарной длины", а второе "конвертировать число двойной длины в строку".

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

Re: Вопрос - Ответ

Postby VoidVolker » Sat, 13 Oct 2012, 20:24

SeMa wrote:А в форте DOUBLE>S вроде нет?

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

Re: Вопрос - Ответ

Postby SeMa » Wed, 24 Oct 2012, 18:17

Почему в консоли крона невозможно работать с сетевыми ресурсами, ведь консоль запускается то текущего пользователя?
пример 1. локальный диск
пример 2-4. один и тот же сетевой ресурс.
S" C:\BU" EXIST? .
-1 Ok

S" S:\BU" EXIST? .
0 Ok

S" \\10.10.10.85\D$\BU" EXIST? .
0 Ok

S" \\COMP-6789\BU" EXIST? .
0 Ok

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

Re: Вопрос - Ответ

Postby VoidVolker » Wed, 24 Oct 2012, 18:59

От имени текущего пользователя запускается только приложение, отображающее окошко с консолью, код же выполняется в отдельном потоке в главном процессе ннкрона. Поэтому у консоли авторизация соответствует авторизации основного потока крона. Проверить можно так:
Code: Select all
S" USERNAME" ENV TYPE

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

Re: Вопрос - Ответ

Postby SeMa » Thu, 25 Oct 2012, 17:56

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

Re: Вопрос - Ответ

Postby VoidVolker » Thu, 25 Oct 2012, 18:57

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

Re: Вопрос - Ответ

Postby miha2154 » Sat, 27 Oct 2012, 14:21

Имеется следующая задача:
Code: Select all
Time: 0 18 * * * *
Rule: TQUERY: "Распечатать тест дюз?" 15 Yes
Action:
StartIn: "C:\WINDOWS\system32\spool\drivers\w32x86\3"
ShowNormal   NormalPriority
START-APP: C:\WINDOWS\system32\spool\drivers\w32x86\3\E_FHUTAIE.EXE /H " " /U "1" /P "EPSON Stylus Photo R220 Series" /M "Stylus Photo R220" /D "EPSON Stylus Photo R220 Series" /O "USB001"
PAUSE: 1000
WIN-CLICK: "Проверка дюз" "Печать"
PAUSE: 1000
WIN-CLICK: "Проверка дюз" "Готово"

Почему-то не работает условие Rule: TQUERY: - сразу начинается выполнение задачи.
miha2154
 
Posts: 48
Joined: Tue, 12 Feb 2008, 01:45

Re: Вопрос - Ответ

Postby Morituruz » Sat, 27 Oct 2012, 17:27

Попробуйте так:
Code: Select all
Rule: TQUERY: "Распечатать тест дюз?" 15 Yes ;
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Вопрос - Ответ

Postby miha2154 » Sat, 27 Oct 2012, 19:06

Не работает тоже. Как выяснилось не работают TQUERY,QUERY, BALOON.
miha2154
 
Posts: 48
Joined: Tue, 12 Feb 2008, 01:45

Re: Вопрос - Ответ

Postby VoidVolker » Sat, 27 Oct 2012, 19:27

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

Re: Вопрос - Ответ

Postby miha2154 » Sat, 27 Oct 2012, 19:38

nncron.exe v 1.91 Build 1083 21.03.2006
tm.exe v 1.91 Build 499 21.03.2006
Directory: C:\Program Files\nnCron
Windows XP (5.1.2600) Service Pack 3
shell32.dll 6.0.2900
А текст задачи выше же был:
Code: Select all
Time: 0 18 * * * *
Rule: TQUERY: "Распечатать тест дюз?" 15 Yes
Action:
StartIn: "C:\WINDOWS\system32\spool\drivers\w32x86\3"
ShowNormal   NormalPriority
START-APP: C:\WINDOWS\system32\spool\drivers\w32x86\3\E_FHUTAIE.EXE /H " " /U "1" /P "EPSON Stylus Photo R220 Series" /M "Stylus Photo R220" /D "EPSON Stylus Photo R220 Series" /O "USB001"
PAUSE: 1000
WIN-CLICK: "Проверка дюз" "Печать"
PAUSE: 1000
WIN-CLICK: "Проверка дюз" "Готово"

но не в ней дело - не работают даже примеры из хелпа к программе.
miha2154
 
Posts: 48
Joined: Tue, 12 Feb 2008, 01:45

Re: Вопрос - Ответ

Postby VoidVolker » Sat, 27 Oct 2012, 19:59

Полностью все содержимое кронтабов?
miha2154 wrote:но не в ней дело - не работают даже примеры из хелпа к программе.

А какая последовательность действий привела к этому выводу?
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 1 guest

cron