<?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=7713</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7713&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Перемещение текстового фрагмента в переменной».]]></description>
		<lastBuildDate>Sat, 20 Oct 2012 19:33:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64927#p64927</link>
			<description><![CDATA[<p>Спасибо Вам. Пошёл чесать голову. Вроде что-то дошло )</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:33:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64927#p64927</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64925#p64925</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>InStr(Haystack, Needle [, CaseSensitive?, StartingPos]): возвращает позицию первого вхождения строки Needle в строку Haystack. В отличие от команды StringGetPos, позиция 1 является первым символом, так как 0 - синоним &quot;false&quot; и является интуитивным индикатором &quot;не найдено&quot;. Если параметр CaseSensitive опущен или ложен, поиск не чувствителен к регистру; иначе, регистр должен точно совпадать. Если параметр StartingPos опущен, то по умолчанию он равен 1 (начало строки Haystack). Иначе, задайте 2, чтобы начать со второго символа строки Haystack, 3 - с третьего, и т.д. Если параметр StartingPos больше, чем количество символов Haystack, возвращается 0. Если StartingPos равен 0, поиск проводится в обратном порядке (справа налево), с тем, чтобы найти соответствие, находящееся правее остальных. Вне зависимости от значения параметра StartingPos, возвращаемая позиция всегда соотносится с первым символом Haystack. Например, позиция строки &quot;abc&quot; в строке &quot;123abc789&quot; всегда 4. Похожие команды: IfInString и StringGetPos.</p></blockquote></div><p>В данном случае начальная позиция &quot;-1&quot;, т.е. поиск должен идти справа налево, начиная с предпоследнего символа.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:26:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64925#p64925</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64924#p64924</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Оно манипулирует 1w. А как указать к примеру 2w по имени?</p></blockquote></div><p>Неа. <strong>LastSep := InStr(List, &quot;|&quot;, true, -1)</strong> получает позицию разделителя между 3w и 4w. Далее часть строки правее этого разделителя помещается в начало, а часть левее и сам разделитель в конец.</p></blockquote></div><p>Теперь совсем туго. Непонятно &quot;кто и как его просит&quot; получать позицию разделителя именно между 3w и 4w.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:19:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64924#p64924</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64923#p64923</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Оно манипулирует 1w. А как указать к примеру 2w по имени?</p></blockquote></div><p>Неа. <strong>LastSep := InStr(List, &quot;|&quot;, true, -1)</strong> получает позицию разделителя между 3w и 4w. Далее часть строки правее этого разделителя помещается в начало, а часть левее и сам разделитель в конец.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:13:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64923#p64923</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64921#p64921</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>Если только на одну позицию, то вообще не вижу проблемы:<br /></p><div class="codebox"><pre><code>List := &quot;1w|2w|3w|4w|&quot;
1::
LastSep := InStr(List, &quot;|&quot;, true, -1)
List := SubStr(List, LastSep+1, StrLen(List)-LastSep) SubStr(List, 1, LastSep)
msgbox % List
return
Esc::ExitApp</code></pre></div><p>В принципе по аналогии можно и для любого сдвига сделать, вариант с mod предполагал, что парсить строку не придётся.</p></blockquote></div><p>Красиво. И всё красивое как всегда мне непонятно( <br />Оно манипулирует 1w. А как указать к примеру 2w по имени?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:07:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64921#p64921</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64920#p64920</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Если для конкретного случая</p></blockquote></div><p>А ну это конечно просто пример был <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Не настолько конкретно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 19:02:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64920#p64920</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64918#p64918</link>
			<description><![CDATA[<p>Если для конкретного случая<br /></p><div class="codebox"><pre><code>2::  ; Вниз
If Var = 1|2|3|4|
   Var = 2|1|3|4|
If Var = 2|1|3|4|
   Var = 2|3|1|4|</code></pre></div><p>и так далее. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /><br />Если универсальный, я бы использовал <em>RegEx</em>, но Вы уже применили его.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:58:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64918#p64918</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64916#p64916</link>
			<description><![CDATA[<p>Если только на одну позицию, то вообще не вижу проблемы:<br /></p><div class="codebox"><pre><code>List := &quot;1w|2w|3w|4w|&quot;
1::
LastSep := InStr(List, &quot;|&quot;, true, -1)
List := SubStr(List, LastSep+1, StrLen(List)-LastSep) SubStr(List, 1, LastSep)
msgbox % List
return
Esc::ExitApp</code></pre></div><p>В принципе по аналогии можно и для любого сдвига сделать, вариант с mod предполагал, что парсить строку не придётся.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:51:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64916#p64916</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64914#p64914</link>
			<description><![CDATA[<p>Хочется конечно и то и другое посмотреть)</p><p>Ибо не факт что универсальный - я смогу оптимизировать под данный случай(<br />Или тот что для данного конкретного случая - оптимизировать потом под что то другое(</p><p>Раз уж приходится выбирать, подскажите универсальный)</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:46:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64914#p64914</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64913#p64913</link>
			<description><![CDATA[<p>Ещё вопрос. Вам требуется универсальный алгоритм или для данного конкретного случая?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:39:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64913#p64913</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64911#p64911</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Вообще поясните, что за &quot;Вниз&quot; - <span class="bbu">вниз на одну позицию</span> или <span class="bbu">в низ списка</span>?</p></blockquote></div><p>вниз на одну позицию.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:34:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64911#p64911</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64910#p64910</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Хочется &quot;сообразить&quot; две кнопки Вверх и Вниз. Например если выбрана 1 и один раз нажать кнопку <strong>Вниз</strong>, то на выходе хочется иметь:<br />Var = 2|1|3|4|<br />а если нажать кнопку <strong>Вниз</strong> (при изначальном значении Var), то хочется иметь:<br />Var = 2|3|4|1|</p></blockquote></div><p>Не понимаю. Может, во втором случае нажимается кнопка <strong>Вверх</strong>? Вообще поясните, что за &quot;Вниз&quot; - <span class="bbu">вниз на одну позицию</span> или <span class="bbu">в низ списка</span>?</p></blockquote></div><p>Да, именно Вверх, извиняюсь за ошибку, поправил.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:32:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64910#p64910</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64908#p64908</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Хочется &quot;сообразить&quot; две кнопки Вверх и Вниз. Например если выбрана 1 и один раз нажать кнопку <strong>Вниз</strong>, то на выходе хочется иметь:<br />Var = 2|1|3|4|<br />а если нажать кнопку <strong>Вниз</strong> (при изначальном значении Var), то хочется иметь:<br />Var = 2|3|4|1|</p></blockquote></div><p>Не понимаю. Может, во втором случае нажимается кнопка <strong>Вверх</strong>? Вообще поясните, что за &quot;Вниз&quot; - <span class="bbu">вниз на одну позицию</span> или <span class="bbu">в низ списка</span>?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 20 Oct 2012 18:29:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64908#p64908</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64903#p64903</link>
			<description><![CDATA[<p>решил свой вопросик таким быдло кодом:<br /></p><div class="codebox"><pre><code>Var = 1w|2w|3w|4w|
Select = 2w

1::  ; Вниз
Loop, Parse, Var, |
{
if A_LoopField = %Select%
{
Next := (A_Index+1)
Loop, Parse, Var, |
if A_Index = %Next%
{
Next = %A_LoopField%
break
}
}
}
if Next =
{
StringReplace, Var, Var, %Select%|
Var = %Select%|%Var%
MsgBox %Var%
Return
} Else
Var := RegExReplace(Var, &quot;&quot; Select &quot;\|&quot; Next &quot;\|&quot;, &quot;&quot; Next &quot;|&quot; Select &quot;|&quot;)
MsgBox %Var%
Return

2::  ; Вверх
Loop, Parse, Var, |
{
if A_LoopField = %Select%
{
Next := (A_Index-1)
Loop, Parse, Var, |
if A_Index = %Next%
{
Next = %A_LoopField%
break
}
}
}
if Next = 0
{
StringReplace, Var, Var, %Select%|
Var = %Var%%Select%|
MsgBox %Var%
Return
} Else
Var := RegExReplace(Var, &quot;&quot; Next &quot;\|&quot; Select &quot;\|&quot;, &quot;&quot; Select &quot;|&quot; Next &quot;|&quot;)
MsgBox %Var%
Return</code></pre></div><p>если у кого то будет идея, хотелось бы увидеть более &quot;симпатяшное&quot; решение.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 17:13:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64903#p64903</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перемещение текстового фрагмента в переменной]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64896#p64896</link>
			<description><![CDATA[<p>Т.е. через Loop, Parse определяем Size. Через него же определяем k. А как в итоге получить текстовую переменную нубу совсем непонятно.<br />---------------<br />вобщем более чем на кусок индусского кода пока &quot;фантазии&quot; у меня не хватило:<br /></p><div class="codebox"><pre><code>Var = 1w|2w|3w|4w|
Select = 1w

1::  ; Вниз
Loop, Parse, Var, |
{
if A_LoopField = %Select%
{
Next := (A_Index+1)
Loop, Parse, Var, |
if A_Index = %Next%
{
Next = %A_LoopField%
break
}
}
}
if Next =
{
StringReplace, Var, Var, %Select%|
Var = %Select%|%Var%
MsgBox %Var%
Return
} Else
Var := RegExReplace(Var, &quot;&quot; Select &quot;\|&quot; Next &quot;\|&quot;, &quot;&quot; Next &quot;|&quot; Select &quot;|&quot;)
MsgBox %Var%</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 20 Oct 2012 16:06:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64896#p64896</guid>
		</item>
	</channel>
</rss>
