то что, в Extended можно ставить только 4 битные беззнаковые числа. максимальное число из этого диапазона - 2^32 - 1. после превышения, идет циклическая перестановка на минимальное число из диапазона, то есть на 0. в твоем случаеCreatoR сказал(а):20110418205506
то что, в Extended можно ставить только 4 битные беззнаковые числа...
Func test($var)
Return SetExtended($var, $var)
EndFunc
ConsoleWrite('return: ' & test(2^32/2-1) & @TAB & 'extended: ' & @extended & @LF)
ConsoleWrite('return: ' & test(2^32/2) & @TAB & 'extended: ' & @extended & @LF)
А что если дата изменения 19**?А если сократить 2011 до 11 и 20:55:06 до 20:55, то вполне влезает...
До 20 считать 2020, после 20 считать 1921... а вот секунды не лезут...CreatoR сказал(а):А что если дата изменения 19**?
И время нужно полное, включая секунды.
хотел в одной своей функций через @Extended возвращать дату модификаций файла (20110418205506 это и есть та дата).
ок. просто мне сначала первое что пришло в голову беззнаковое. проверил - совпало. стало быть знаковое и конечно байтов, а не битов.Поправка: 4 байтные (32 битные) знаковые числа.
как раз поэтомуУ меня не хочет возвращать 2^32 - 1
да, хорошая мысль. только надо будет достать/сделать конвертор. AutoIt-овский TimerInit() возвращает мсеки с момента запуска процессора, я пологаю. ну или холодного включения. точно не помню.Можно дату передавать в юниксовском формате,
The required value (integer) to set the @extended macro to.
Где завести? мне из функций нужно вернуть число помимо другого значения.то мешает завести свою переменную $extended?
Integer насколько мне известно, это целое число. О том, сколько оно там может содержать, AutoIt скриптер может и не знать, а об этом не помешало бы и в справке написать.The required value (integer) to set the @extended macro to.
CreatoR сказал(а):Integer насколько мне известно, это целое число.
$test=1
For $I=2 to 64
$test*=2
If $i=64 then $test-=1
ConsoleWrite('return: ' & Round($test, 0) & @TAB & 'extended: ' & @extended & @LF)
Next
ConsoleWrite('return: ' & Round($test+1, 0) & @TAB & 'extended: ' & @extended & @LF)
А если так:хотел в одной своей функций через @Extended возвращать дату модификаций файл
#include <Date.au3>
Global Const $sNulDate = '1970/01/01 00:00:00'
$sDateMod = '2038/01/19 03:14:07' ;у меня дальше ошибку выдает.
$iDateCalcMod = _DateDiff('s', $sNulDate, $sDateMod)
SetExtended($iDateCalcMod)
$iMod = @extended
ConsoleWrite('Sec:' & @TAB & $iMod & @LF)
$sDateCalcMod = _DateAdd('s', $iMod, $sNulDate)
ConsoleWrite('Date:' & @TAB & $sDateCalcMod & @LF)