#include 'FileConstants.au3'
$h = FileOpen('test.txt', $FO_OVERWRITE + $FO_UTF8_NOBOM)
FileWrite($h, 'ddddddddddddd')
FileClose($h)
$h = FileOpen('test.txt', $FO_READ + $FO_UTF8_NOBOM)
$data = FileRead($h)
FileClose($h)
If IsBinary($data) Then
MsgBox(0,'','WAT?')
EndIf
Похоже, что бетаили это бета так чудит?
#include 'FileConstants.au3'
$h = FileOpen('test.txt', $FO_OVERWRITE + $FO_UTF8_NOBOM)
FileWrite($h, 'ddddddddddddd')
FileClose($h)
test(0)
test($FO_BINARY)
test($FO_UTF16_LE)
test($FO_UTF16_BE)
test($FO_UTF8)
test($FO_UTF8_NOBOM)
test($FO_UTF8_FULL)
Func test($FO)
$h = FileOpen('test.txt', $FO_READ + $FO)
$data = FileRead($h)
FileClose($h)
ConsoleWrite($data & @CRLF)
EndFunc
ddddddddddddd
0x64646464646464646464646464
??????
??????
ddddddddddddd
ddddddddddddd
ddddddddddddd
ddddddddddddd
0x64646464646464646464646464
0x6464646464646464646464
0x6464646464646464646464
0x64646464646464646464
0x64646464646464646464646464
ddddddddddddd
Note: A maximum of 63 parameters can be returned by the array $CmdLine[]. If you would like to see the entire commandline string passed to an AutoIt executable, then use $CmdLineRaw for the entire parameter string.
Создал 2 скрипта: Из первого вызываю 2-й с параметрами:Примечание: массив $CmdLine[...] может вернуть не более 63 параметров, а $CmdLineRaw всегда возвращает полную строку параметров.
$sParam=''
For $i=1 To 3377
$sParam&=' param'&$i
Next
$sLen=StringLen($sParam) ; 32663 символа
MsgBox(4096,"Переменная ","$sLen =>" & $sLen & "<=")
Run('"D:\TC IMAGE\Utilities\Scripting\AutoIt\AutoIt3.exe" /AutoIt3ExecuteScript "'&@ScriptDir&'\TEST.au3"'&$sParam)
#include <Array.au3>
_ArrayDisplay($CmdLine)
$CmdLine является константой и не доступен для изменения размерности или параметров полученных при запуске скрипта.
#include <Array.au3>
_ArrayDisplay($CmdLine)
$CmdLine[1]='привет'
_ArrayDisplay($CmdLine)
3.3.12.0Успех: Возвращает значение выполненного выражения.
Ошибка: Возвращает "" (пустая строка) и устанавливает значение @error не равным 0.
3.3.13.19Success: the value of the evaluated expression.
Failure: "" (empty string) and sets the @error flag to non-zero.
в чем разница?Success: the value of the evaluated expression.
Failure: "" (empty string) and sets the @error flag to non-zero.
@error - понятно, DllCall вернула ошибку, а с @extended я как-то экспериментировал, но, как я не издевался над dll, флаг @extended не равный 0 мне получить не удалось.В чем смысл этих конструкций?