Как правильно инициализировать массив OUT, чтобы заработало?
Добавлено:
я пробовал и так
Global $OUT[100]
и так
Dim $OUT
но что-то не работает
Код:
#Include <File.au3>
#Include <Array.au3>
Global $Text, $FileList, $OUT
$FileList = _FileListToArray(@scriptdir, "*.txt")
if @error = 4 Then
MsgBox(16, "Ошибка", "В директории нет TXT-файлов")
Exit
EndIf
For $x = 1 to UBound($FileList) - 1
_FileReadToArray($FileList[$x], $Text)
Next
For $x = 1 to Ubound($Text) - 1
$Text[$x] = _StringOEM2ANSI($Text[$x])
if StringRegExp($Text[$x], "^!", 0) Then _ArrayAdd($OUT, $Text[$x])
if @error <> 0 Then
MsgBox(0, "", @error)
# вот здесь выдает ошибку "1", то есть, $OUT не является массивом
Exit
EndIf
Next
_ArrayDisplay($OUT)
Func _StringOEM2ANSI($strText)
Local $sBuffer = DllStructCreate("char[" & StringLen($strText)+1 & "]")
Local $aRet = DllCall("User32.dll", "int", "OemToChar", "str", $strText, "ptr", DllStructGetPtr($sBuffer))
If Not IsArray($aRet) Then Return SetError(1, 0, '') ; ошибка DLL
If $aRet[0] = 0 Then Return SetError(2, $aRet[0], '') ; ошибка функции
Return DllStructGetData($sBuffer, 1)
EndFunc
Добавлено:
Сообщение автоматически объединено:
я пробовал и так
Global $OUT[100]
и так
Dim $OUT
но что-то не работает