<?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=7304</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7304&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: запись инфы в файл по команде из полноэкранного приложения».]]></description>
		<lastBuildDate>Thu, 19 Jul 2012 21:14:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61803#p61803</link>
			<description><![CDATA[<div class="quotebox"><cite>AleksLee пишет:</cite><blockquote><p>NewStr := RegExReplace(Var, &quot;(?&lt;=targetX&gt;)(.*)(?=&lt;/targetX&gt;)&quot;, <span class="bbu"><strong>%</strong></span>Length1<span class="bbu"><strong>%</strong></span>)</p></blockquote></div><p>Ошибка выделена в цитате.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Thu, 19 Jul 2012 21:14:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61803#p61803</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61761#p61761</link>
			<description><![CDATA[<p>В очередной раз прошу прощения, что задаю наверно глупые вопросы, но бьюсь уже не первый день, ничего не выходит казалось бы в элементарном вопросе, помогите если не трудно.<br />В продолженнии всего вышесказанного, есть файл в нем для упрощения 1 строка<br /></p><div class="codebox"><pre><code>&lt;targetX&gt;-300&lt;/targetX&gt;</code></pre></div><p>(чисто там может быть абсолютно любое положительное отрицательное...любое)<br />Хотел сделать чтобы можно было сделать окно с элементом EDIT и кнопкой СОХРАНИТЬ, чтобы можно было ввести в этом поле значение любое, положительное или отрицательное и нажав на кнопку Сохранить внести это значение в строку &lt;targetX&gt;-300&lt;/targetX&gt;, заменив в данном примере -300 на то, что будет введено в строке EDIT.<br />Пишу вот так:<br /></p><div class="codebox"><pre><code>Gui, Add, Edit, vLength1 
Gui, Add, Button, gSaveSettigs, Сохранить
Gui, Show
Return

 

SaveSettigs:
   Gui, Submit, NoHide
  FileRead, Var, DAR.xml
NewStr := RegExReplace(Var, &quot;(?&lt;=targetX&gt;)(.*)(?=&lt;/targetX&gt;)&quot;, %Length1%)

FileDelete, DAR.xml
FileAppend, %NewStr%, DAR.xml
   Return</code></pre></div><p>Но в итоге ничего не меняется...видимо выражение для поиска и замены не то, да?</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Thu, 19 Jul 2012 10:32:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61761#p61761</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61338#p61338</link>
			<description><![CDATA[<div class="quotebox"><cite>AleksLee пишет:</cite><blockquote><p>А на подшаблоны это как?</p></blockquote></div><p>Во втором сообщении самый первый пример, там <strong>\d+</strong> является подшаблоном и его значение можно использовать. Пример:<br /></p><div class="codebox"><pre><code>Var := &quot;sgshdhfhf&lt;target&gt;ABCD&lt;/target&gt;fghfgh&quot;
NewStr := RegExReplace(Var, &quot;(?&lt;=&lt;target&gt;)(\w)(\w)(\w)(\w)(?=&lt;/target&gt;)&quot;, &quot;Z$2$3$4&quot;)
msgbox %NewStr%</code></pre></div><p>Ищется 4 символа в тегах и каждый из них является подшаблоном.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Mon, 02 Jul 2012 15:13:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61338#p61338</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61337#p61337</link>
			<description><![CDATA[<p>А на подшаблоны это как?</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Mon, 02 Jul 2012 14:41:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61337#p61337</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61336#p61336</link>
			<description><![CDATA[<p>Если я верно понял задачу, то RegExReplace не позволяет редактировать найденные шаблоны, поэтому нужно либо разбить строку на подшаблоны, либо просто находить нужный фрагмент и заменять его вручную.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Mon, 02 Jul 2012 14:24:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61336#p61336</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61331#p61331</link>
			<description><![CDATA[<p>Извинте, за глупые вопросы, но 2-й день уже мучаюсь, можно ли сделать так чтобы производилась замена в строке из нескольких символов только конкретного символа, например в строке&nbsp; &quot;&lt;target&gt;АБСД&lt;/target&gt;&quot; менялась сначала буква А, а остальное оставалось, потом только Б и остальное не трогалось и т.д. Надеюсь понятно объяснил? по мануалу что то у меня ничего не получается. Причем нге зависимо от того какая там буква просто по факту 3 символ значит третий.</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Mon, 02 Jul 2012 13:20:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61331#p61331</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61289#p61289</link>
			<description><![CDATA[<div class="quotebox"><cite>AleksLee пишет:</cite><blockquote><p>И можно ли сделать так, что бы оно появлялось, а приложение не сворачивалось?</p></blockquote></div><p>Можно, если приложение запущенно в оконном режиме (и растянуто на весь экран, если нужен эффект полноэкранного).</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Fri, 29 Jun 2012 20:33:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61289#p61289</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61261#p61261</link>
			<description><![CDATA[<p><strong>AleksLee</strong>, я ведь вам уже писАл:<br /></p><div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>Составляйте нужный gui, устанавливаете ему стиль AlwaysOnTop и скрываете/отображаете по команде.</p></blockquote></div><p>А у вас Gui создаётся по горячей клавише. Код должен быть примерно такого вида:<br /></p><div class="codebox"><pre><code>Gui, Add, DropDownList, vList, 1|2|3 ;создаём gui
Gui, Add, button, glButton, Enter
return

*1::
   Gui, Show ;отображаем gui
return

lButton:
   Gui, Submit
   f(List)
return
   
f(x)
{
   msgbox выбран вариант %x%.
   return
}

Esc::
GuiClose:
   ExitApp</code></pre></div><div class="quotebox"><cite>AleksLee пишет:</cite><blockquote><p>И можно ли сделать так, что бы оно появлялось, а приложение не сворачивалось?</p></blockquote></div><p>Зависит от приложения.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Thu, 28 Jun 2012 19:48:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61261#p61261</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61255#p61255</link>
			<description><![CDATA[<p>Ну вот хочется почти такое же:<br /></p><div class="codebox"><pre><code> *1::


Gui, Add, DropDownList, gChoose x6 y45 w200 h20 R3, 1|2|3
   Gui, Add, Text, vText cred x6 y75 w200 h20
   Gui, Show
   Return

Choose:
   if A_GuiControl = 1
      Goto, 1
   if A_GuiControl = 2
      Goto, 2
   if A_GuiControl = 3
      Goto, 3
   Return
   
1:
   GuiControl,, Text, metka 1

FileRead, Var, C:\test.xml

Loop
{
  StringReplace, Var, Var, &lt;gun&gt;f411&lt;/gun&gt;, &lt;gun&gt;222&lt;/gun&gt;, All
    If ErrorLevel = 0  ; No more replacements needed.
      Break
}
FileDelete, C:\test.xml
FileAppend %Var%, C:\test.xml

   Return
   
2:
   GuiControl,, Text, metka 2
   Return
3:
   GuiControl,, Text, metka 3
   Return</code></pre></div><p>Вот приблизительно вот так как смог понять.... ну и список будет соответственно диннее и на каждую будет своя такая же команда с заменой.<br />А не подскажите как сделать чтобы путь был независимо от диска, т.е диск и место может у всех разные, но конечные папки полюбому допустим \111\222\333\DARGunSetting.xml или например чтобы если скрипт лежал бы в папке конечной рядом с файлом test.хмл, тогда вообще путь не нужно соблюдать будет.<br />Ну вот, осталось только понять как сделать так чтобы она выскакивала всегда по нажатии горячей клавиши, а то сейчас при повторном нажатии ругается что не работает.<br />И можно ли сделать так, что бы оно появлялось, а приложение не сворачивалось?<br />Можно ли чтобы выбор поисходил не при выборе пункта меню, а еще после подтверждения нажатия кнопки ОК?</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Thu, 28 Jun 2012 14:34:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61255#p61255</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61241#p61241</link>
			<description><![CDATA[<p>Задавайте более конкретные вопросы. Составляйте нужный gui, устанавливаете ему стиль AlwaysOnTop и скрываете/отображаете по команде.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Wed, 27 Jun 2012 12:25:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61241#p61241</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61231#p61231</link>
			<description><![CDATA[<p>Огpомное спасибо за ответ, а можете еще мне помочь? Больная фантазия тянет вперед-можно ли осуществить похожий скрипт... - чтобы по нажатию горячей клавиши перед полноэкранным приложением появлялось окошко с выпадающий списком, в котором был были все возможные варианты числа, которое находится в файле, как и в примере выше в тегах target, и при выборе одного из вариантов происходит перезапись существующей значения и перезапись самого файла. <br />Для меня это очень сложно, там надо подключать gui, а тут я вообще ничего не понял. Но если не сложно помогите плиз. Может тут похожий пример где есть. Заранее благодарен.</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Tue, 26 Jun 2012 14:13:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61231#p61231</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61226#p61226</link>
			<description><![CDATA[<div class="quotebox"><cite>AleksLee пишет:</cite><blockquote><p>никак не могу понять как осуществить чтобы в файле искал не полную строку как я написал выше&lt;target&gt;300&lt;/target, а игнорировал само число 300, тк оно изначально там может быть любым, те ориентировался только на &lt;target&gt;*****&lt;/target&gt;?</p></blockquote></div><div class="codebox"><pre><code>FoundPos := RegExMatch(Var, &quot;&lt;target&gt;(\d+)&lt;/target&gt;&quot;, Result)</code></pre></div><p>Совпадение на символе номер FoundPos, найдена строка Result, а число в тегах Result1.<br />Используя запросы вперёд и назад:<br /></p><div class="codebox"><pre><code>FoundPos := RegExMatch(Var, &quot;(?&lt;=&lt;target&gt;)\d+(?=&lt;/target&gt;)&quot;, Result)</code></pre></div><p>Тоже самое, но найденным шаблоном будет только число.<br />Замена:<br /></p><div class="codebox"><pre><code>NewStr := RegExReplace(Var, &quot;&lt;target&gt;\d+&lt;/target&gt;&quot;, &quot;&lt;target&gt;700&lt;/target&gt;&quot;)</code></pre></div><p>собственно замена всего шаблона. Результат помещён в NewStr.<br />См. <a href="http://www.script-coding.com/AutoHotkey/RegEx.html">это</a>, <a href="http://www.script-coding.com/AutoHotkey/RegExMatch.html">это</a> и <a href="http://www.script-coding.com/AutoHotkey/RegExReplace.html">это</a>.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Tue, 26 Jun 2012 09:53:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61226#p61226</guid>
		</item>
		<item>
			<title><![CDATA[AHK: запись инфы в файл по команде из полноэкранного приложения]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61215#p61215</link>
			<description><![CDATA[<p>ДОброго времени суток, ко многим знакомым уже приставал с вопросом, посоветовали обратиться сюда, тк язык говорят позволяет такое сделать.<br />Я честно в этом вообще ничего не понимаю, надеюсь на вашу помощь. Сейчас сижу читаю темы и мануалы, но понимаю, что наверно не осилю сам, поэтому рискну написать мольбу о помощи.<br />У меня вопрос вот в чем, можно ли чтобы нажимая в полноэкранном приложении (игрушке) клавиши 1, 2 или 3 происходила в фоне замена определенной строки в файле. Т.е. я нажал кнопку 1 в это время в фоне открылся тхт файл и например строка в тегах &lt;target&gt;200&lt;/target&gt; заменилась строкой &lt;target&gt;100&lt;/target&gt;. По нажатию кнопки 2 - &lt;target&gt;200&lt;/target&gt;, по нажатию 3 - &lt;target&gt;300&lt;/target&gt;. НАдеюсь написал понятно. Помогите плиз. Ушел дальше читать темы и мануалы.</p><p>Само чтение файла и замену в нем строки я понял что вот так можно сделать -&nbsp; это просто для примера. <br /></p><div class="codebox"><pre><code>*1::

FileRead, Var, C:\work.txt

Loop
{
  StringReplace, Var, Var, &lt;info&gt;true&lt;/info&gt;, &lt;info&gt;ВСЕ ИДЕТ КАК НАДО&lt;/info&gt;, All
    If ErrorLevel = 0  ; No more replacements needed.
      Break
}
FileDelete, C:\work.txt
FileAppend %Var%, C:\work.txt
return</code></pre></div><p>О! в общем я разобрался и получил эффект который хотел, но помогите плиз с одним, никак не могу понять как осуществить чтобы в файле искал не полную строку как я написал выше&lt;target&gt;300&lt;/target, а игнорировал само число 300, тк оно изначально там может быть любым, те ориентировался только на &lt;target&gt;*****&lt;/target&gt;?</p>]]></description>
			<author><![CDATA[null@example.com (AleksLee)]]></author>
			<pubDate>Mon, 25 Jun 2012 22:36:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61215#p61215</guid>
		</item>
	</channel>
</rss>
