<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Сопоставление значений двух файлов]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9659&amp;type=atom" />
	<updated>2014-05-29T12:38:00Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9659</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83487#p83487" />
			<content type="html"><![CDATA[<p>О, спасибо. А Я никак понять не мог, почему так.<br /></p><div class="codebox"><pre><code>
oList1 := StrSplit(Content1, [&quot;`n&quot;, A_Tab]) 
oList2 := StrSplit(Content2, [&quot;`n&quot;, A_Tab]) 
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-05-29T12:38:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83487#p83487</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83486#p83486" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>StrSplit не поддерживает мульти разделитель.</p></blockquote></div><div class="quotebox"><blockquote><p><strong><a href="http://ahkscript.org/docs/commands/StringSplit.htm">StrSplit()</a> пишет</strong>:<br />For example: &quot;,&quot; would divide the string based on every occurrence of a comma. Similarly, [A_Tab, A_Space] would create a new array element every time a space or tab is encountered in the input string.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2014-05-29T12:28:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83486#p83486</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83472#p83472" />
			<content type="html"><![CDATA[<p>А нет, так надо:<br /></p><div class="codebox"><pre><code>
FileRead, Content1, *t C:\Users\sergey\Desktop\new  2.txt
FileRead, Content2, *t C:\Users\sergey\Desktop\new  3.txt

StringSplit, 1List, Content1, %A_Tab%`n
StringSplit, 2List, Content2, %A_Tab%`n
 
Loop % 1List0
{
    SendInput % 1List%A_Index%
    SendInput % 2List%A_Index%
}
</code></pre></div><p>StrSplit не поддерживает мульти разделитель.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-05-29T09:00:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83472#p83472</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83471#p83471" />
			<content type="html"><![CDATA[<p>Ну так в справке ответ есть:<br /></p><div class="codebox"><pre><code>Loop
{
    FileReadLine, line, C:\My Documents\ContactList.txt, %A_Index%
    if ErrorLevel
        break
    MsgBox, 4, , Строка №%A_Index%: &quot;%line%&quot;.  Продолжить?
    IfMsgBox, No
        return
}
MsgBox, Достигнут конец файла или возникла проблема чтения.
Return</code></pre></div><p>Ну а для этого случая, наверное удобнее с массивами, так как разделение не только по переносу строки.<br /></p><div class="codebox"><pre><code>
FileRead, Content1, *t M:\AHKScripts\List.txt
FileRead, Content2, *t M:\AHKScripts\List2.txt

oList1 := StrSplit(Content1, [&quot;`n&quot;, A_Tab]) 
oList2 := StrSplit(Content2, [&quot;`n&quot;, A_Tab]) 

Loop % oList1.MaxIndex()
{
    SendInput % oList1[A_Index]
    SendInput % oList2[A_Index]
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-05-29T08:51:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83471#p83471</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83470#p83470" />
			<content type="html"><![CDATA[<p>Ух ты.<br /></p><div class="codebox"><pre><code>
Loop {
FileReadLine, OutputVar, M:\AHKScripts\List.txt, %A_Index%
Send %OutputVar%
}
</code></pre></div><p>Действительно выглядит симпатичнее чем то что использую я.<br />Спасибо. А как заставить его остановиться в конце файла?</p>]]></content>
			<author>
				<name><![CDATA[Misamoto]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32189</uri>
			</author>
			<updated>2014-05-29T08:37:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83470#p83470</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83469#p83469" />
			<content type="html"><![CDATA[<p>Есть же просто FileReadLine.<br /></p><div class="codebox"><pre><code>
FileReadLine, OutputVar, M:\AHKScripts\List.txt, 3
Send %OutputVar%
FileReadLine, OutputVar, M:\AHKScripts\List2.txt, 3
Send %OutputVar%
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-05-29T08:26:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83469#p83469</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Сопоставление значений двух файлов]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=83468#p83468" />
			<content type="html"><![CDATA[<p>Изначальная задача: вставить в одно поле программы значение из одного списка, а в другое - из другого.</p><p>Так как программа непростая, то поместить все значения в один файл один за другим нельзя, перед тем как вставить значения нужны всякие действия (кликнуть кнопку &quot;Добавить&quot;, удалить старое значение, жмакнуть мышкой в поле, в которое требуется ввод и тому подобные) Для краткости обзову их Sub#</p><p>Как мне видится решение:<br /></p><div class="codebox"><pre><code>Sub1
Вставить следующую строку первого файла
Sub2
Вставить следующую строку второго файла
Sub3</code></pre></div><p>Но я не мог придумать как мне прочитать для, скажем, третьей строчки первого файла третью же второго.</p><div class="codebox"><pre><code>

SubPr
Loop, read, M:\AHKScripts\List.txt
    {
        Loop, parse, A_LoopReadLine, %A_Tab%
        {
        Sub1
        Send %A_LoopField%
        Loop, read, M:\AHKScripts\List2.txt
            {
            Loop, parse, A_LoopReadLine, %A_Tab%
                {
                Sub2
                Send %A_LoopField%
                }
            }
        }
    }
</code></pre></div><p>Вставляет мне все значения второго списка для каждого значения первого, это не то что мне надо.<br />Из того что я знаю о программировании мне вспоминается слово &quot;Массив&quot; и слово &quot;Рекурсия&quot;, но как организовать это в AHK я пока не сообразил.<br />Или я вообще выбрал неверный путь для своей задачи? Тогда подскажите пожалуйста верный <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Misamoto]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32189</uri>
			</author>
			<updated>2014-05-29T08:17:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=83468#p83468</id>
		</entry>
</feed>
