Общий раздел по AutoIt > Баг-репорты и запросы на новые функции
_FileWriteFromArray не пишет в файл больше 3 столбцов 2D массива
(1/1)
Entropy:
Приветствую!
Код: [Выделить]>>>>#include <Array.au3>
#include <File.au3>
Global $Results[5][5]
For $i = 0 To 4
For $j = 0 to 4
$Results[$i][$j] = 0
Next
Next
_ArrayDisplay($Results)
$CurrentSessionFile = FileOpen("temp.txt", 1)
_FileWriteFromArray($CurrentSessionFile, $Results)<<<<
В результате пишется файл:
0|0|0
0|0|0
0|0|0
0|0|0
0|0|0
Может это конечно не бага, а фича, но в ремарках я никаких предпосылок не нашел. Есть идеи?
madmasles:
Entropy,
1. Для кода AutoIt есть специальный тег AutoIt tag (справа от тега Код).
2. Надо указывать версию AutoIt В данном случае это 3.3.8.1 (наверное, и 3.3.8.0).
3. Только в версиях выше 3.3.6.1. Замените в файле Диск:\Program Files\AutoIt3\Include\File.au3 в коде функции _FileWriteFromArray(...) этот кусок кода:Код: AutoIt [Выделить];....
Case 2
Local $s_Temp
For $x = $i_Base To $i_UBound
$s_Temp = $a_Array[$x][0]
For $y = 1 To $iDims;здесь ошибка
$s_Temp &= $s_Delim & $a_Array[$x][$y]
Next
If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
$ErrorSav = 3
ExitLoop
EndIf
Next
;...На этот:Код: AutoIt [Выделить];...
Case 2
Local $s_Temp
For $x = $i_Base To $i_UBound
$s_Temp = $a_Array[$x][0]
For $y = 1 To UBound($a_Array, 2) - 1;здесь замена
$s_Temp &= $s_Delim & $a_Array[$x][$y]
Next
If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
$ErrorSav = 3
ExitLoop
EndIf
Next
;...
PS
Не аккуратно переписаны штатные библиотеки в 3.3.8.0 и выше. Это пока вторая найденная ошибка (первая: Ошибка в FTPEx.au3 (версия 3.3.8.0)).
Просьба к знающим английский язык сообщить об этих ошибках на оф. форуме.
Entropy:
Спасибо огромное! Все заработало! :laugh:
madmasles:
В 3.3.9.0 beta не исправили. :(
Навигация