Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Diamond
Дааа, оказывается ты прав.... возьмём этот пример:

Код: Выделить весь код
#include <Array.au3>
#include <File.au3>

Dim $Array

FileWrite("test.txt", "Line1" & @LF & "Line2" & @CR & "Line3" & @LF & "Line4")

_FileReadToArray("test.txt", $Array)

_ArrayDisplay($Array)
Получается такой массив:

Код: Выделить весь код
[1] = "Line1"
[2] = "Line2Line3"
[3] = "Line4"
Если применять этот же пример используя изменённую функцию _FileReadToArray(), то мы получаем “нормальный” массив (как и записи в файле) :

Код: Выделить весь код
[1] = "Line1"
[2] = "Line2"
[3] = "Line3"
[4] = "Line4"
Вот полная функция как она, имхо, должна быть построена:

Код: Выделить весь код
Func _FileReadToArray($sFilePath, ByRef $aArray)
    ;==============================================
    ; Local Constant/Variable Declaration Section
    ;==============================================
    Local $hFile = FileOpen($sFilePath, 0)

    If $hFile = -1 Then Return SetError(1)

    $aArray = StringSplit(StringRegExpReplace(FileRead($hFile),"\r|\n", @LF), @LF)

    FileClose($hFile)
    Return 1
EndFunc   ;==>_FileReadToArray
Хм.. надо бы её автору маякнуть об этом.... а ещё лучше, сразу в баг репорт запостить на оф. форум, привести пример что эта функция может возвращать не корректные данные...

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 07:13, 21-06-2007 | #64