<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Несколько мест для сохранения текста из Clipboard]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12685&amp;type=atom" />
	<updated>2017-05-25T14:41:53Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12685</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=116020#p116020" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong></p><p>Numpad1&nbsp; копирует выделенный текст в буфер и сохраняет в файл.<br />Numpad2 запускает цикл вывода каждой строки по очереди, причем до появления следующей строки, ожидается нажатие этого же хоткея (Sleep тут не нужен).</p><div class="quotebox"><blockquote><p>Sleep 500 после SendInput поставьте, если слишком быстро.</p></blockquote></div><p>Не в этом проблема.<br />Когда переменная &quot;cpline&quot;, которая содержит в себе каждую новую строку из FileReadLine с A_Index, используется командой Send - то работает как надо, т.е. при поочередном нажатии Numpad2, выводится каждая следующая строка из файла.<br />А если использовать не Send, а SendInput (чтобы строка вводилась мгновенно, а не прописывались каждые символы), в таком случае переменная &quot;cpline&quot; будет содержать в себе все строки из файла сразу, ну и выводить их все сразу.</p><p>Возможно со слов сложно представить, что я имею ввиду, но на практике все станет понятно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[SeaVodikendu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33752</uri>
			</author>
			<updated>2017-05-25T14:41:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=116020#p116020</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=116015#p116015" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />Не совсем понял вас.</p><p>Из файла берутся строки по очереди:<br /></p><div class="codebox"><pre><code>FileReadLine, cpline, %a_temp%\ClipBoardM.txt, %A_Index%</code></pre></div><p>Все работает хорошо, только вот Send не устраивает в отличии от SendInput из-за не мгновенного ввода.<br />Но если заменить на SendInput, он не вводит строки по очереди, а все строки в файле сразу...</p><p>Попробовал заменить на SendPlay, он вводит строки по очереди, но текст выходит с другой кодировкой(кракозябры).</p>]]></content>
			<author>
				<name><![CDATA[SeaVodikendu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33752</uri>
			</author>
			<updated>2017-05-25T08:55:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=116015#p116015</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=116014#p116014" />
			<content type="html"><![CDATA[<p>SendInput тут явно не при чем:<br /></p><div class="codebox"><pre><code>cpline := &quot;test&quot;
f1::
Send, %cpline%{BS}
return
f2::
SendInput, %cpline%{BS}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-05-25T06:14:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=116014#p116014</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=116012#p116012" />
			<content type="html"><![CDATA[<p>Сделал простенький скрипт, то что и хотел. Чтобы не ломать голову переменными, просто нужный текст сохраняется в файл.<br /></p><div class="codebox"><pre><code>#SingleInstance force

Numpad1::
Send ^c
FileAppend, %clipboard% `n, %a_temp%\ClipBoardM.txt
Return

Numpad2::
Loop
{

 FileReadLine, cpline, %a_temp%\ClipBoardM.txt, %A_Index%
   if  cpline =
   {
   MsgBox , , ,Текст не выбран, 1
   goto, endx
   }
     if ErrorLevel
	 {
	    Sendinput, {Numpad2}
        goto, endx
	 } 
Send, %cpline%{BS}
KeyWait, Numpad2, D
}
endx:
Return

Numpad3::
FileDelete, %a_temp%\ClipBoardM.txt
MsgBox , , ,Очищено, 1
Reload
Return</code></pre></div><p>Вот только не пойму почему в этой строке:<br /></p><div class="codebox"><pre><code>Send, %cpline%{BS}</code></pre></div><p>если заменить Send на Sendinput, команда не учитывает %A_Index%, а прописывает все строки из файла?</p>]]></content>
			<author>
				<name><![CDATA[SeaVodikendu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33752</uri>
			</author>
			<updated>2017-05-25T05:56:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=116012#p116012</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115942#p115942" />
			<content type="html"><![CDATA[<p>Это называется менеджер буфера обмена (Clipboard manager). Существуют сотни программ и даже несколько скриптов на ahk.<br />По вопросу - познакомьтесь с функциями и массивами.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-05-19T12:08:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115942#p115942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Несколько мест для сохранения текста из Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115941#p115941" />
			<content type="html"><![CDATA[<p>Доброго времени суток.<br />Написал скрипт, с помощью которого можно сохранять несколько текстов из clipboard в переменные, для их дальнейшего использования.<br /></p><div class="codebox"><pre><code>#SingleInstance force


Numpad1::
if clpb =
{
Send ^c
cb1 := clipboard
clpb := 1
Goto, endx
}

if clpb = 1
{
Send ^c
cb2 := clipboard
clpb := 2
Goto, endx
}

if clpb = 2
{
Send ^c
cb3 := clipboard
clpb := 3
Goto, endx
}
endx:
return

Numpad2::
if incb =
{
Sendinput, %cb1%
incb = 1
Goto, endt
}

if incb = 1
{
Sendinput, %cb2%
if cb3 =
{
incb =
}
else
{
incb = 2
}
Goto, endt
}

if incb = 2
{
Sendinput, %cb3%
incb =
Goto, endt
}
endt:
return

Numpad3::
Reload
Return</code></pre></div><p>Получилось много текста и это всего лишь на три переменные (места).<br />Можно ли как нибудь упростить это дело, чтоб не прописывать много?<br />К примеру увеличить до 10 мест для сохранений.</p>]]></content>
			<author>
				<name><![CDATA[SeaVodikendu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33752</uri>
			</author>
			<updated>2017-05-19T11:40:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115941#p115941</id>
		</entry>
</feed>
