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

Основной раздел => Общие вопросы => Topic started by: Veledar on April 10, 2019, 10:16:13 AM

Title: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 10:16:13 AM
Доброго времени суток!
Подскажите, пожалуйста!

Есть текстовый файл в *.txt, в нем несколько абзацев.
Нужно скопировать ВЕСЬ текст из этого файла и вставить его в нужное поле по координатам.

Это нужно будет делать несколько раз - вставлять этот текст заданное число раз. Т.е. надо постоянно обнулять буфер после вставки этого текста...

Благодарю!
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Oraven on April 10, 2019, 10:33:01 AM
Для правильной работы файл tekst.txt должен быть в ANSI кодировке
Code: (clickermann) [Select]
$file = "tekst.txt"
for($i = 1, $i<TFCOUNT($file)+1)
   IF($i = 1)
      $buffer = TFREAD($file,$i)
   ELSE
      $buffer = STRCONCAT($buffer,char(13),char(10),TFREAD($file,$i))
   END_IF
end_cyc
TOCLIP($buffer) // вставляем в буфер весь текст из файла "tekst.txt"

HALT

Только я не пойму зачем "постоянно обнулять буфер после вставки этого текста..."?
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 01:48:02 PM
Большое спасибо!
Если можно, для чайников, напишите пояснения по строкам, помимо последней.  :)

Просто есть цикл, есть другой файл с логин-паролем. Надо будет входить под каждым логин-паролем и вставлять один текст в нужном месте.
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 02:18:30 PM
Для правильной работы файл tekst.txt должен быть в ANSI кодировке

Что то у меня не получается, нули вставляет вместо текста. Кодировка правильная.
(https://b.radikal.ru/b36/1904/16/b42f7369d0b4.jpg) (http://www.radikal.ru)
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Oraven on April 10, 2019, 02:40:17 PM
Неужели скопировать и вставить код в сообщение сложнее чем заморачиваться с фотографированием экрана. Не говоря уже что есть кнопка PrintScreen.

В коде я вижу какую то дурь с GOTO
Относительно вставки текста ничего сказать не могу.

Если текст один и тот же то его нужно считать и записать в переменную один раз до цикла.
"Просто есть цикл, есть другой файл с логин-паролем." что то я не вижу ничего похожего в коде.
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 02:58:27 PM
Неужели скопировать и вставить код в сообщение сложнее чем заморачиваться с фотографированием экрана. Не говоря уже что есть кнопка PrintScreen.

В коде я вижу какую то дурь с GOTO
Относительно вставки текста ничего сказать не могу.

Если текст один и тот же то его нужно считать и записать в переменную один раз до цикла.
"Просто есть цикл, есть другой файл с логин-паролем." что то я не вижу ничего похожего в коде.

Я пишу с мобильника, у компа нет выхода в интернет сейчас. Просто тестирую вставку текста и цикл. Полноценный скрипт буду писать на компе с интернетом.
С гоуту это я просто так привык блоки разделять, они не нужны конечно...

Код для текста вставил до начала цикла, все равно нули ставит почему то.
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Oraven on April 10, 2019, 03:04:17 PM
Разумные программисты блоки разделяют комментариями
Code: (clickermann) [Select]

// =====================


Прежде всего протесть как кликер считывает строку из файла

Вот вывод первой строки из файла в лог
Code: (clickermann) [Select]
$a = TFREAD("Текст.txt", 1)

LOGWRITE ($a)
LOGSHOW (1)
HALT
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 03:20:44 PM
Разумные программисты блоки разделяют комментариями
Code: (clickermann) [Select]

// =====================


Прежде всего протесть как кликер считывает строку из файла

Вот вывод первой строки из файла в лог
Code: (clickermann) [Select]
$a = TFREAD("Текст.txt", 1)

LOGWRITE ($a)
LOGSHOW (1)
HALT

Я не программист!  :)
ГоуТу мне как раз программист показал, мне понравилось. :)

Вывод первой строки тоже не сработал. Лог со временем только появляется и все.
В чем может быть проблема?
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Oraven on April 10, 2019, 03:50:08 PM
Я не программист!  :)
ГоуТу мне как раз программист показал, мне понравилось. :)

Вывод первой строки тоже не сработал. Лог со временем только появляется и все.
В чем может быть проблема?

Текстовый файл должен лежать в пой же папке откуда загружен скрипт.
Ну и убедись, все таки, что текст не в юникоде.
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 04:34:18 PM
Текстовый файл должен лежать в пой же папке откуда загружен скрипт.
Ну и убедись, все таки, что текст не в юникоде.

Все! Работает, искренне благодарю!
Ошибка у меня была в размещении файла.
Файл изначально лежал в папке input (там у меня файл с логин-паролями лежит и нормально они считываются из него).

Еще раз благодарю!
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 06:01:12 PM
Если текст один и тот же то его нужно считать и записать в переменную один раз до цикла.

Еще вопрос на будущее! Посложнее... Просто чтобы не делать три разных скрипта!
Если, например, у меня есть три разных текста в трех файлах. И для списка логин-паролей надо будет иногда один текст вставлять, иногда другой, иногда третий.

Например для первых трех логинов первый текст, потом два логина - второй текст, после четыре логина - третий текст.

Как быть с буфером по текстам?
Как вообще разные тексты связать с нужными логинами?
Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Oraven on April 10, 2019, 09:28:00 PM
Если текст один и тот же то его нужно считать и записать в переменную один раз до цикла.

Еще вопрос на будущее! Посложнее... Просто чтобы не делать три разных скрипта!
Если, например, у меня есть три разных текста в трех файлах. И для списка логин-паролей надо будет иногда один текст вставлять, иногда другой, иногда третий.

Например для первых трех логинов первый текст, потом два логина - второй текст, после четыре логина - третий текст.

Как быть с буфером по текстам?
Как вообще разные тексты связать с нужными логинами?


Code: (clickermann) [Select]
SUB(_To_Clip, $file) // подпрограмма в начале скрипта
   for($i = 1, $i<TFCOUNT($file)+1)
      IF($i = 1)
         $buffer = TFREAD($file,$i)
      ELSE
         $buffer = STRCONCAT($buffer,char(13),char(10),TFREAD($file,$i))
      END_IF
   end_cyc
END_SUB

_To_Clip("tekst 1.txt") // вызов подпрограммы
$buffer1 = $buffer
_To_Clip("tekst 2.txt") // вызов подпрограммы
$buffer2 = $buffer
_To_Clip("tekst 3.txt") // вызов подпрограммы
$buffer3 = $buffer



// далее по скрипту вставляет текст в буфер из нужной переменной
TOCLIP($buffer1) // вставляем текст из файла 1


TOCLIP($buffer2) // вставляем текст из файла 2


TOCLIP($buffer3) // вставляем текст из файла 3

Title: Re: Ввод текста с абзацами из файла. Помогите, пожалуйста!
Post by: Veledar on April 10, 2019, 10:29:37 PM
Еще раз благодарю! :)