Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: ksa-nsk on November 14, 2014, 09:52:35 PM

Title: проблема в работе с массивом, только у меня?
Post by: ksa-nsk on November 14, 2014, 09:52:35 PM
Вот небольшой фрагмент кода - помещаю содержимое текстового файла в массив, потом перебираю строки, если пустая, то хочу пропустить, если нет, то записываю в другой массив, проверку делаю через INT строки (там первыми стоят цифры),
проблема - вылет на $v_arr_test = $f_arr[$v]

Code: (clickermann) [Select]
    TFReadArr($tek_work_file, $f_arr)
   
    FOR ($v=0, $v < ARRSIZE($f_arr))
     
$v_arr_test = $f_arr[$v]

IF (INT($v_arr_test) > 0)   
            $v_arr = INT(STRCUT($v_arr_test, 1, 5))
    ARRPUSH($f_reg, $v_arr)
END_IF

    END_CYC
Title: Re: проблема в работе с массивом, только у меня?
Post by: quant13 on November 15, 2014, 03:24:55 AM
Code: (Clickermann) [Select]
TFReadArr("lib.txt", $f_arr)
FOR ($v=0, $v < ARRSIZE($f_arr))
   print($f_arr[$v])
END_CYC
halt

если в файле есть "пустая"(0A 0D) строка, print($f_arr[$v]) на этой строке вызывает ошибку выполнения

Вообще то логично, массив строковый, в нем не может быть 0, как у цифровых, а выдать несуществующий элемент программа не может.
2ksa-nsk: временное решение заменить все "пустые" строки в файле на какой-нибудь не используемый обычно символ(альт+19 - ‼ , например)

2Johnny: Надо бы заменить "пустые" строки из файла в массиве на что-нибудь, на 00, 255 или ввести константу #_Null, #_Epty, чтоб можно было вычислять пустые строки и при том чтоб небыло несуществующих элементов массива
Title: Re: проблема в работе с массивом, только у меня?
Post by: ksa-nsk on November 15, 2014, 11:28:43 AM
проблема не смертельная, просто хотел спросить у коллег (свою винду уже замучил основательно, может только моя глючит).
Раз не только у меня, то заострим внимание автору проекта.