<?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=11819</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11819&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Определение границ массива».]]></description>
		<lastBuildDate>Tue, 19 Jul 2016 00:24:02 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106169#p106169</link>
			<description><![CDATA[<div class="codebox"><pre><code>
fileSize := 0
position := 0
file := FileOpen(&quot;Test.txt&quot;, &quot;r&quot;, &quot;UTF-8&quot;)
strArray := []
arrCount := 0
while (true) {
	if (file.Length &gt; fileSize) {
		fileSize := file.Length
		file.Seek(position)
		line := file.ReadLine()
		while (line != &quot;&quot;) {
			strArray.Push(line)
			line := file.ReadLine()
		}
		position := file.Tell()
		arrCount := strArray.Length()
	}
	sleep 100
}
</code></pre></div><p>Такая конструкция прочитает &quot;Test.txt&quot;, положит прочитанные строки в массив &quot;strArray&quot;, сообщит переменной &quot;arrCount&quot; верхнее значение массива и раз в 100 миллисекунд будет проверять размер &quot;Test.txt&quot;. Если размер увеличится, новые строки будут добавлены в массив &quot;strArray&quot;, а переменная &quot;arrCount&quot; получит новое предельное значение.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Tue, 19 Jul 2016 00:24:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106169#p106169</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106155#p106155</link>
			<description><![CDATA[<p>Ещё такой вариант.<br /></p><div class="codebox"><pre><code>Loop, Read, Test.txt
{
line%A_Index% := A_LoopReadLine
last_line := A_Index
}
Random, varrandom, 1, last_line
MsgBox,  % line%varrandom%</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 18 Jul 2016 20:00:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106155#p106155</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106154#p106154</link>
			<description><![CDATA[<p><strong>ypppu</strong><br />В файле неизвестное кол-во строк, необходимо рандомно вывести одну из строк.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 18 Jul 2016 16:37:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106154#p106154</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106153#p106153</link>
			<description><![CDATA[<p>Кто-нибудь переведите, в чём задача вообще заключалась?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 18 Jul 2016 16:16:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106153#p106153</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106151#p106151</link>
			<description><![CDATA[<p>Благодарю за помощь! Все варианты поробовал, но остановился на решении от <strong>Malcev</strong> из предыдущего сообщения.</p>]]></description>
			<author><![CDATA[null@example.com (Veranda)]]></author>
			<pubDate>Mon, 18 Jul 2016 15:23:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106151#p106151</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106150#p106150</link>
			<description><![CDATA[<p>Можно так ещё:<br /></p><div class="codebox"><pre><code>FileRead, All, test.txt
Sort, All, Random
msgbox % RegExReplace(All, &quot;\R.*&quot;)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 18 Jul 2016 15:11:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106150#p106150</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106149#p106149</link>
			<description><![CDATA[<p>А зачем два раза файл читать?<br /></p><div class="quotebox"><blockquote><p>random, varrandom, 1, % (objList := <a href="https://autohotkey.com/docs/commands/StringSplit.htm">StrSplit(</a><a href="https://autohotkey.com/docs/commands/FileOpen.htm">FileOpen(</a>&quot;Test.txt&quot;,&quot;r&quot;).<a href="https://autohotkey.com/docs/objects/File.htm">Read()</a>,&quot;`r`n&quot;)).<a href="https://autohotkey.com/docs/objects/Object.htm#Length">Length()</a><br />MsgBox % objList[varrandom]</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Mon, 18 Jul 2016 15:07:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106149#p106149</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106148#p106148</link>
			<description><![CDATA[<p>Первую строку заменить на:<br /></p><div class="codebox"><pre><code>FileRead, All, Test.txt
random, varrandom, 1, StrLen(RegExReplace(All, &quot;[^\r\n]&quot;))/2 + 1</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Mon, 18 Jul 2016 14:33:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106148#p106148</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106146#p106146</link>
			<description><![CDATA[<p>Можно посчитать количество строк в файле до вызова random.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 18 Jul 2016 14:07:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106146#p106146</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106145#p106145</link>
			<description><![CDATA[<p>Файл Test прилагаю. Представляет из себя 14 строк с разными значениями для вывода в MsgBox.</p>]]></description>
			<author><![CDATA[null@example.com (Veranda)]]></author>
			<pubDate>Mon, 18 Jul 2016 13:59:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106145#p106145</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106144#p106144</link>
			<description><![CDATA[<p>Нужно конкретный пример файла Test.txt в начальный момент, а потом после добавления.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 18 Jul 2016 13:36:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106144#p106144</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Определение границ массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106143#p106143</link>
			<description><![CDATA[<p>Доброго дня, уважаемые форумчане!<br />Столкнулся с проблемой: для работы скрипта подключаю внешний файл, в котором есть 16 строк. Строки вызываю через random, с ограничением диапазона чтения строк с 1 по 14<br />Каким образом можно отказаться от необходимости указывать в параметрах переменно varrandom количество строк, из списка которых необходимо вывести строку со значением? Т.е чтобы пр добавлении новых строк в файл - они наравне с уже имеющимися участвовали в поиске и ненужно было изменять значение верхней границы массива строк в файле? <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /></p><p>Была мысль сверять количество символов в строке при генерации varrandom и если их количество=0 - то происходит повторная генерация, пока в переменной не окажется строка с количеством символов &gt;0. Однако данное решение мне кажется не очень удачным.</p><div class="codebox"><pre><code>
random, varrandom, 1, 14
FileReadLine, OutputVar, Test.txt, %varrandom% ;путь к файлу
MsgBox, Текущее значение:`n%OutputVar%
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Veranda)]]></author>
			<pubDate>Mon, 18 Jul 2016 13:27:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106143#p106143</guid>
		</item>
	</channel>
</rss>
