<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17547</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17547&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: При записи в файл цикл копирования строк работает лишь частично».]]></description>
		<lastBuildDate>Thu, 12 Jan 2023 17:51:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156253#p156253</link>
			<description><![CDATA[<div class="codebox"><pre><code>Haystack1 =
(
nLpvkPRx/SDR001.jpg
fRxcYNv5/SDR002.jpg
Gm0PB2vH/SDR003.jpg
)
Haystack2 =
(
[spoiler=&quot;[SDR001] Khoa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR002] Lissa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR003] Phil (2015)&quot;]
[123][456]
[/spoiler]
)
temp := Haystack2
Loop, parse, Haystack1, `n
{
    Cat := regexreplace(A_LoopField, &quot;`am)^.*\/(.*).jpg$&quot;, &quot;$1&quot;)
    pos := InStr(temp, &quot;[spoiler=&quot;&quot;[&quot;Cat)
    temp := RegExReplace(temp, &quot;s)(?&lt;=\[123\]).*?(?=\[456\])&quot;, A_LoopField,, 1, pos)
}
MsgBox % temp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 12 Jan 2023 17:51:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156253#p156253</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156252#p156252</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Проще дописывать в переменную новое значение, сохраняя старое.</p></blockquote></div><p>Нужно, чтобы текст переменной Haystack2 обновлялся или заменялся другой переменной после каждого шага цикла. Сначала значение Haystack2 считывается из файла, потом в него добавляется текст и этот результат возвращается в эту же (или другую) переменную, чтобы при следующем шаге текст считывался уже из него, а не из файла.</p><p>Как-то так:<br /></p><div class="codebox"><pre><code>Haystack =
(
text1
text2
)
Loop, 1
{
Haystack2 := RegExReplace(Haystack, &quot;text1&quot;, &quot;text123&quot;)
Haystack3 := RegExReplace(Haystack2, &quot;text2&quot;, &quot;text456&quot;)
MsgBox % Haystack3
}</code></pre></div><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Я, правда, не понял, как должен в итоге выглядеть файл.</p></blockquote></div><div class="codebox"><pre><code>[spoiler=&quot;[SDR001] Khoa (2015)&quot;]
[123]nLpvkPRx/SDR001.jpg[456]
[/spoiler]
[spoiler=&quot;[SDR002] Lissa (2015)&quot;]
[123]fRxcYNv5/SDR002.jpg[456]
[/spoiler]
[spoiler=&quot;[SDR003] Phil (2015)&quot;]
[123]Gm0PB2vH/SDR003.jpg[456]
[/spoiler]</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (viviancels)]]></author>
			<pubDate>Thu, 12 Jan 2023 17:14:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156252#p156252</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156251#p156251</link>
			<description><![CDATA[<p>Проще дописывать в переменную новое значение, сохраняя старое. Есть такой приём:<br /></p><div class="codebox"><pre><code>var := &quot;text&quot;
var .= &quot;`nnew text&quot;
MsgBox % var</code></pre></div><p>Я, правда, не понял, как должен в итоге выглядеть файл.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 12 Jan 2023 16:28:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156251#p156251</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156250#p156250</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>перед записью в файл в переменной самый последний вариант</p></blockquote></div><p>Теперь понятно. Файл должен записываться после каждого варианта (обновления переменной)?</p>]]></description>
			<author><![CDATA[null@example.com (viviancels)]]></author>
			<pubDate>Thu, 12 Jan 2023 16:05:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156250#p156250</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156249#p156249</link>
			<description><![CDATA[<div class="quotebox"><cite>viviancels пишет:</cite><blockquote><p>при каждом нажатии OK копируется следующая ссылка</p></blockquote></div><p>Копируется куда?</p><div class="quotebox"><cite>viviancels пишет:</cite><blockquote><p>при записи в файл записывается, почему-то, только третья ссылка, а первая и вторая не записываются</p></blockquote></div><p>А почему должны записываться первая и вторая? Что у вас в переменной, то и записывается. В каждой итерации <em>Loop, Parse</em> в переменную <em>Haystack3</em> помещается новое значение, предыдущее нигде не сохраняется. Соответственно, перед записью в файл в переменной самый последний вариант. Посмотреть содержание переменной можно через <em>MsgBox</em>.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 12 Jan 2023 15:38:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156249#p156249</guid>
		</item>
		<item>
			<title><![CDATA[AHK: При записи в файл цикл копирования строк работает лишь частично]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=156248#p156248</link>
			<description><![CDATA[<p>Здравствуйте. С MsgBox цикл, вроде бы, работает (при каждом нажатии OK копируется следующая ссылка):</p><div class="codebox"><pre><code>#NoEnv
Haystack1 =
(
nLpvkPRx/SDR001.jpg
fRxcYNv5/SDR002.jpg
Gm0PB2vH/SDR003.jpg
)
Haystack2 =
(
[spoiler=&quot;[SDR001] Khoa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR002] Lissa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR003] Phil (2015)&quot;]
[123][456]
[/spoiler]
)
Loop, parse, Haystack1, `n
 {
Cat := regexreplace(A_LoopField, &quot;`am)^.*\/(.*).jpg$&quot;, &quot;$1&quot;)
pos := InStr(Haystack2, &quot;[spoiler=&quot;&quot;[&quot;Cat)
MsgBox % RegExReplace(Haystack2, &quot;s)(?&lt;=\[123\]).*?(?=\[456\])&quot;, A_LoopField,, 1, pos)
 }
</code></pre></div><p>Но при записи в файл записывается, почему-то, только третья ссылка, а первая и вторая не записываются (текст в файлах Haystack1.txt и Haystack2.txt тот же самый):<br /></p><div class="codebox"><pre><code>
#NoEnv
FileRead, Haystack1, Haystack1.txt
FileRead, Haystack2, Haystack2.txt
Loop, parse, Haystack1, `n
 {
Cat := regexreplace(A_LoopField, &quot;`am)^.*\/(.*).jpg$&quot;, &quot;$1&quot;)
pos := InStr(Haystack2, &quot;[spoiler=&quot;&quot;[&quot;Cat)
Haystack3 := RegExReplace(Haystack2, &quot;s)(?&lt;=\[img=right\]).*?(?=\[/img\])&quot;, A_LoopField,, 1, pos)
 }

file := FileOpen(&quot;Haystack2.txt&quot;, &quot;w `n&quot;, &quot;UTF-8&quot;)
if !IsObject(file)
log(&quot;Can&#039;t open &quot; Haystack2 &quot; for writing.&quot;)
file.Write(Haystack3)
file.Close()
</code></pre></div><p>При записи в файл результат получается таким:<br /></p><div class="codebox"><pre><code>
[spoiler=&quot;[SDR001] Khoa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR002] Lissa (2015)&quot;]
[123][456]
[/spoiler]
[spoiler=&quot;[SDR003] Phil (2015)&quot;]
[123]Gm0PB2vH/SDR003.jpg[456]
[/spoiler]
</code></pre></div><p>Версия Autohotkey 1.1.34.4.</p>]]></description>
			<author><![CDATA[null@example.com (viviancels)]]></author>
			<pubDate>Thu, 12 Jan 2023 12:38:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=156248#p156248</guid>
		</item>
	</channel>
</rss>
