Вывести дату в строку (в нужном формате)

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

Вывести дату в строку (в нужном формате)

Postby manson » Fri, 17 Mar 2006, 10:24

Здравствуйте еще раз.
нашел на форуме пример:

Code: Select all
 FILE-WTIME: "c:\file.ext" FT>DD.MM.YYYY/hh:mm:ss dateout PLACE
 MSG: "value = %dateout COUNT%"


но дата выводится в формате ДД.ММ.ГГГГ/ЧЧ:ММ:СС.

А я долго не могу найти как отформатировать эту строку в ГГГГММДДЧЧММСС.
еще пробовал так:
Code: Select all
MSG: "%YYYY%%MM%%DD%%hh%%mm%%ss%"


но выводится текущая дата, помогите пожалуста.
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby Valery_Kondakoff » Fri, 17 Mar 2006, 12:17

изучи слово FT>YMDHMS в доках.
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Postby manson » Fri, 17 Mar 2006, 12:47

Я поэтому и обратился в форум за помощью, потомучто в справке есть пример
Code: Select all
FT-CUR FT>YMDHMS
а как им пользоваться никак не догоняю.

пробовал так:
Code: Select all
FILE-WTIME: "c:\file.ext" FT>YMDHMS MsgBox
- внутренняя ошибка, я в отчаянии.....

в справке очень мало примеров :( и в форуме подходящего нет.....
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby Valery_Kondakoff » Fri, 17 Mar 2006, 13:01

хм... плохо искал?
например, вот: http://www.nncron.ru/forums/viewtopic.p ... ght=YMDHMS
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Postby manson » Fri, 17 Mar 2006, 13:47

вроде бы работает !!!! :D
Code: Select all
#( help_me_please_plz_plz
NoActive
CREATE buff 200 ALLOT
: FT>YYYY.MM.DD/hh:mm:ss ( d -- a u )
  FT>YMDHMS S>D
  <# # # DROP 001 HOLD # # DROP 002 HOLD # # DROP 003 HOLD # # DROP 004HOLD # # DROP 005 HOLD # # # # #>
;
Action:
S" c:\file.ext" FILE-WTIME
FT>YYYY.MM.DD/hh:mm:ss buff ZPLACE
MSG: "-TA %buff ASCIIZ>%"
)#


но, я так понял что число в ( # DROP 001 HOLD # ) это код ASCII который вставляет между значениями символы, а мне нужно "без ничего". код 000 (Null char) пробовал выдает только первую переменную. Если не трудно, помогите....
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby manson » Fri, 17 Mar 2006, 14:03

получилось через регекспы, если кому то поможет примерчик:

Code: Select all
#( itis_work
NoActive
CREATE buff 200 ALLOT
: FT>YYYY.MM.DD/hh:mm:ss ( d -- a u )
  FT>YMDHMS S>D
   <# # # DROP 32 HOLD # # DROP 32 HOLD # # DROP 32 HOLD # # DROP 32 HOLD # # DROP 32 HOLD # # # # #>
;
Action:
S" c:\file.ext" FILE-WTIME
FT>YYYY.MM.DD/hh:mm:ss buff ZPLACE

MSG: "%buff ASCIIZ>%"
RE-MATCH: "%buff ASCIIZ>%" "/(.*) (.*) (.*) (.*) (.*) (.*)/"
    IF
        MSG: "%$1%%$2%%$3%%$4%%$5%%$6%"
    THEN
)#
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby SeMa » Fri, 17 Mar 2006, 14:47

manson wrote:получилось через регекспы, если кому то поможет примерчик:

Зачем тебе регэкспы? Просто не вставляй доп.символы:
<# # # DROP # # DROP # # DROP # # DROP # # DROP # # # # #>
Code: Select all
#( f_time
 NoActive
CREATE buff 32 ALLOT
: ft-str ( d -- a u )
  FT>YMDHMS S>D
  <# # # DROP # # DROP # # DROP # # DROP # # DROP # # # # #>
;
Action:
FILE-WTIME: "c:\file.ext" ft-str buff ZPLACE
MSG: "%buff ASCIIZ>%"
)#
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Postby vvn » Tue, 27 Nov 2007, 10:38

На основе последних записей попытался сделать свою задачу.
#( f_time
NoActive
CREATE buff 32 ALLOT
: ft-str ( d -- a u )
FT>YMDHMS S>D
<# # # DROP # # DROP # # DROP # # DROP # # DROP # # # # #>
;
fVAR dd
Action:
FILE-WTIME: "c:\Program files\nncron\test.tab" ft-str buff ZPLACE
buff ASCIIZ> TO dd
MSG: "%dd%"
)#

Вообще необходимо в файловую переменную dd записать строку вида: YYMMDDHHMM. Но приведенный код сохраняет FILE-TIME в виде YYYYMMDDHHMMSS. Как изменить, не соображу.
vvn
 
Posts: 20
Joined: Tue, 29 May 2007, 17:29

Postby SeMa » Tue, 27 Nov 2007, 12:25

vvn wrote:Вообще необходимо в файловую переменную dd записать строку вида: YYMMDDHHMM. Но приведенный код сохраняет FILE-TIME в виде YYYYMMDDHHMMSS. Как изменить, не соображу.

Поменять форматирование выводимых данных:
Code: Select all
: ft-str ( d -- a u )
  FT>YMDHMS DROP S>D
  <#  # # DROP # # DROP # # DROP # # DROP # #  #>
;

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

Postby vvn » Tue, 27 Nov 2007, 13:02

SeMa wrote:
vvn wrote:Вообще необходимо в файловую переменную dd записать строку вида: YYMMDDHHMM. Но приведенный код сохраняет FILE-TIME в виде YYYYMMDDHHMMSS. Как изменить, не соображу.

Поменять форматирование выводимых данных:
Code: Select all
: ft-str ( d -- a u )
  FT>YMDHMS DROP S>D
  <#  # # DROP # # DROP # # DROP # # DROP # #  #>
;

И желательно не использовать простые имена переменных вида dd. Они могут использоваться в коде крона, а ты их переопределяешь. Могут возникать ошибки. Обзови, например, _dd_.


Спасибо, все получилось
vvn
 
Posts: 20
Joined: Tue, 29 May 2007, 17:29


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron