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

Основной раздел => Общие вопросы => Topic started by: putman on July 21, 2019, 01:13:09 PM

Title: Чтение данных из файла.
Post by: putman on July 21, 2019, 01:13:09 PM
Есть ли возможность считать весь файл в одну переменную, а не в массив ?
Массив потом приходится очень долго перебирать, в переменной же на порядок быстрее поиск происходит.
Title: Re: Чтение данных из файла.
Post by: Doc on July 21, 2019, 06:16:08 PM
В одно действие считать файл в переменную не получится. Только с циклом.
Из буфера обмена можно взять без цикла, с фильтром, но без разделителя строк. Или с разделителем, но в цикле. Всё это конечно не то.

Примеры с буфером:
Code: (clickermann) [Select]
$str = FROMCLIP()

$string = STRFILTER($str, char(13), 0) // без разделителя
$string = STRFILTER($string, char(10), 0)
LOGWRITE ($string)

//--------------------------------

WHILE(STRPOS($str, char(13)))
   $str = STRREPLACE($str, char(13), ":") // с разделителем
   $str = STRREPLACE($str, char(10), "")
END_CYC

LOGWRITE ($str)

HALT
Title: Re: Чтение данных из файла.
Post by: Oraven on July 21, 2019, 08:25:39 PM
Есть ли возможность считать весь файл в одну переменную, а не в массив ?

Нет. Можно конечно построчно собрать весь текст в одну переменную, но на это уйдет времени не меньше чем на возню с массивом.
Title: Re: Чтение данных из файла.
Post by: putman on July 21, 2019, 09:55:45 PM
Примеры с буфером:
От буфера я отказался, очень он нестабилен.

Нет. Можно конечно построчно собрать весь текст в одну переменную, но на это уйдет времени не меньше чем на возню с массивом.
Это точно.
Файл весом 50 Кб загружается из сети за 200 мс. на жёсткий диск. А извлечение в переменную примерно шестиста строк занимает 1.5 секунды.

Очень жалко, что кликером нельзя менять прокси, тогда бы все проблемы были решены разом.