Не получается сравнить FILE-SIZE и FREE-SPACE

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

Не получается сравнить FILE-SIZE и FREE-SPACE

Postby manson » Wed, 15 Mar 2006, 14:23

Не получается сравнить FILE-SIZE и FREE-SPACE. Хочу узнать поместится ли файл на диск при копировании, выдает ошибку стэка. я так понял что FILE-SIZE возвращает 2VARIABLE, а FREE-SPACE - VARIABLE или VALUE.
В справке нашел S>D конвертацию числа в двойную длинну, но не смог ей воспользоваться (нет примера). Помогите пожалуста, второй день сижу, справку выучил :) .......
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby Valery_Kondakoff » Wed, 15 Mar 2006, 14:32

покажи, как ты пытаешься сделать.
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Postby manson » Wed, 15 Mar 2006, 15:51

попробовал с конвертацией S>D, переменной my_var присваевается очень большое число (длинна 16 символов):

Code: Select all
NoActive
0 VALUE my
2VARIABLE my_var

2VARIABLE fs

Action:
FILE-SIZE: "c:\file.ext" fs 2!
[CHAR] C FREE-SPACE TO my
my my_var 2! S>D
my_var 2@ fs 2@ D<
IF
MSG: "dfdf"
ELSE MSG: "ddfffdddd"
THEN


а хотелось бы сравнить так:

Code: Select all
my fs 2@ D<
IF
manson
 
Posts: 10
Joined: Tue, 14 Mar 2006, 11:44

Postby Valery_Kondakoff » Wed, 15 Mar 2006, 17:08

думаю, так:
Code: Select all
#( tst_file_sizet
NoActive
Action:
\ кладем на стек размер файла в байтах (двойной длины)
FILE-SIZE: "C:\pagefile.sys"
\ делим на 1024, чтобы получить килобайты
1024 UM/MOD
\ прибиваем остаток от деления
SWAP DROP
\ кладем на стек своб. место на диске
[CHAR] C FREE-SPACE
\ сравниваем
<
IF
   MSG: "true"
ELSE
   MSG: "false"
THEN
)#
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron