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

Основной раздел => Общие вопросы => Topic started by: Loginow on April 29, 2017, 08:08:35 PM

Title: В начале каждой строки вставить один и тот же текст
Post by: Loginow on April 29, 2017, 08:08:35 PM
Добрый день. Предо мной более 7К строк, с равным кол-вом цифр в каждой. Стоит задача в начале каждой строки вставить один и тот же текст. Голову еще не сломал, прошу спасите. Как правильно составить скрипт?
Title: Re: В начале каждой строки вставить один и тот же текст
Post by: dramster on April 29, 2017, 09:37:37 PM
в помощь функции для работы с тестом (если речь идет о текстовом документе).

TFCOUNT ("file") - числовая функция; возвращает кол-во строк в файле
STRCONCAT ("str1", "str2", ...) - строковая функция; возвращает объединенную строку
TFREAD ("file", str_n) - строковая функция; считывает строку из файла
TFWRITE ("file", "str", [str_n]) - записывает строку в файл

а вот готовый скрипт:
Code: (clickermann) [Select]
FOR($a=1, $a < TFCOUNT("input.txt")+1)
   TFWRITE("output.txt",STRCONCAT ("один и тот же текст ",TFREAD ("input.txt", $a)), $a)
END_CYC
halt

"input.txt" - обрабатываемый файл.
"output.txt" - отредактированный файл, итог работы скрипта.
Title: Re: В начале каждой строки вставить один и тот же текст
Post by: Vint on April 29, 2017, 11:19:04 PM
После TFWRITE нужно поставить задержку маленькую, а то будет сбоить.
И да, почему частный вопрос не вывести в отдельную тему? Зачем это в типовых алгоритмах?
Title: Re: В начале каждой строки вставить один и тот же текст
Post by: Loginow on April 30, 2017, 08:01:47 AM
dramster, благодарю вас. Vint прошу простить, впредь не повторится.
Title: Re: В начале каждой строки вставить один и тот же текст
Post by: Oraven on April 30, 2017, 08:02:07 AM
Более правильно делать это через массив. Не нужно будет 7000 раз читать и переписывать файл  :o
Code: (clickermann) [Select]
TFREADARR("Input.txt", $arr) // читаем файл в массив
FOR($a=0,$a<ARRSIZE($arr)) // обрабатываем
   $arr[$a] = STRCONCAT("Текст ", $arr[$a])
END_CYC
TFWRITEARR("Output.txt", $arr) // записываем массив в новый файл

halt