<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18263&amp;type=atom" />
	<updated>2024-07-30T12:40:00Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18263</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161350#p161350" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, это было очевидней, чем я думал. Благодарю. Это блестяще.</p>]]></content>
			<author>
				<name><![CDATA[Vitalkerrain]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39447</uri>
			</author>
			<updated>2024-07-30T12:40:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161350#p161350</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161349#p161349" />
			<content type="html"><![CDATA[<p>Проверяйте, нашёл ли RegExMatch шаблон:<br /></p><div class="codebox"><pre><code>#Requires AutoHotkey v2

A_Clipboard := &#039;Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24&#039;

z:: {
    if !RegExMatch(A_Clipboard, &#039;ОА00-\d+&#039;, &amp;m) {
        return
    }
    ToolTip &quot;Номер заказа: &quot; m[0]
    SetTimer () =&gt; ToolTip(), -1000
    A_Clipboard := m[0]
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-07-30T11:44:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161349#p161349</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161348#p161348" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Благодарю, это прекрасно работает, но только до того момента, как я скопирую что-то другое.</p><p>Если поместить в буфер обмена <span class="bbu">Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24</span>, то все работает прекрасно, возвращаю обратно в буфер уже номер заказа. Но стоит мне что-то другое скопировать, то ловлю ошибку и скрипт закрывается:</p><div class="quotebox"><blockquote><p>Error: This value of type &quot;String&quot; has no property named &quot;__Item&quot;.</p></blockquote></div><p> Ругается явно на m[0], но не понимаю как сделать проверку, в справке что-то про класс. Но видно не то.</p><div class="codebox"><pre><code>F5:: ExitApp

Z::
{
;str := &#039;Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24&#039;
str := A_Clipboard
RegExMatch(str, &#039;ОА00-\d+&#039;, &amp;m)
;MsgBox m[0]
ToolTip &quot;Номер заказа: &quot; m[0]
SetTimer () =&gt; ToolTip(), -1000
A_Clipboard := m[0]
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Vitalkerrain]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39447</uri>
			</author>
			<updated>2024-07-30T09:33:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161348#p161348</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161347#p161347" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#Requires AutoHotkey v2

str := &#039;Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24&#039;
RegExMatch(str, &#039;ОА00-\d+&#039;, &amp;m)
MsgBox m[0]</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-07-29T15:02:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161347#p161347</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK V2: Извлечение номера заказа из строки в буфере обмена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=161346#p161346" />
			<content type="html"><![CDATA[<p>Добрый день, имеется строка </p><div class="quotebox"><blockquote><p>Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24</p></blockquote></div><p>Из нее нужен только номер заказа <strong>ОА00-004952</strong>. Пытаюсь сделать следующее, чтобы при копировании строки, из нее извлекался номер заказа и помещался в буфер обмена вместо неё. Вроде бы в верном направлении двигаюсь, но вот если скопировать что-то другое, то фатальная ошибка скрипт закрывается, хотелось бы просто отделаться Tooltip или MsgBox с ошибкой. Плюс слабая часть плана в том, что в данном примере я ищу 5-е слово, а оно может быть не всегда 5-м. В нумерации заказов постоянная часть &quot;ОА00&quot; и переменная после дефиза &quot;004952&quot;. Пытался находить по постоянной части, но тоже не вышло.<br /></p><div class="codebox"><pre><code>For index, strPart In strParts {    
	If (strPart == &quot;ОА00&quot;) {      
		resultStr := strParts[index+1]
		</code></pre></div><p>Хотелось бы сделать: находим ОА00, берем его и все что после него до спец. символа (&quot;пробел&quot;, &quot;\&quot;, &quot;,&quot; и т.д), должно получится ОА00-004952 и кладем в буфер обмена. Можно уведомлять в ToolTip, если получилось просто номер заказа, если в строке его нет &quot;Нет номера заказа&quot;.</p><p>Весь код<br /></p><div class="codebox"><pre><code>#Requires AutoHotkey v2.0
#SingleInstance
F5:: ExitApp
C::
{
;TestString := &quot;Приобретение товаров и услуг ОА00-004952 от 29.07.2024 13:14:24&quot;
;A_Clipboard := &quot;&quot;
TestString := A_Clipboard
word_array := StrSplit(TestString, A_Space, &quot;.&quot;)  ; Omits periods.
MsgBox &quot;Номер заказа &quot; word_array[5]
word_array[5] := A_Clipboard
MsgBox &quot;Номер заказа &quot; A_Clipboard
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Vitalkerrain]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39447</uri>
			</author>
			<updated>2024-07-29T13:23:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=161346#p161346</id>
		</entry>
</feed>
