<?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=11079</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11079&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Конвертация текста».]]></description>
		<lastBuildDate>Mon, 16 Nov 2015 13:47:02 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99095#p99095</link>
			<description><![CDATA[<p>У <strong>becauseim</strong>, регистр остается прежним.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 13:47:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99095#p99095</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99094#p99094</link>
			<description><![CDATA[<p>Ругается на 30-ю строчку, там точка с запятой откуда-то взялась перед&nbsp; =. После исправления, в Блокноте заменяет английскую абракадабру на русский текст в нижнем регистре. Русскую абракадабру просто удаляет.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 16 Nov 2015 13:44:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99094#p99094</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99093#p99093</link>
			<description><![CDATA[<p>Проверь, пожалуйста, хотя-бы что проблем с регистром букв при конвертации нет. <a href="http://forum.script-coding.com/viewtopic.php?pid=99081#p99081">Этот код.</a></p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 13:33:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99093#p99093</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99089#p99089</link>
			<description><![CDATA[<p>Я Скайпом не пользуюсь.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 16 Nov 2015 12:48:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99089#p99089</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99087#p99087</link>
			<description><![CDATA[<p><strong>YMP</strong>, у нас тут битва экстрасенсов <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /><br />А если серьезно, было бы кстати, если бы Вы протестировали на своей &quot;десятке&quot; в окне Скайпа вариант из 16 поста от <strong>Alectric</strong>. Подозреваю, что у меня одного все так плохо.</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Mon, 16 Nov 2015 12:37:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99087#p99087</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99086#p99086</link>
			<description><![CDATA[<p>У меня 10 стоит. А в чём мистика-то, не пойму. У вас тут какой-то таинственный разговор происходит, непонятный непосвящённому.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 16 Nov 2015 11:59:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99086#p99086</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99084#p99084</link>
			<description><![CDATA[<p>Впрочем, теперь и этот метод перестал дружить со Скайпом.</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Mon, 16 Nov 2015 10:16:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99084#p99084</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99083#p99083</link>
			<description><![CDATA[<p>OFF: Что за мистика у него там происходит?!... У кого-нибудь еще стоит windows 10, кто-нибудь может это подтвердить?</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 10:00:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99083#p99083</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99082#p99082</link>
			<description><![CDATA[<p><span class="postimg"><img src="https://i.gyazo.com/123619ea7d689b55995b49625b02fe15.gif" alt="https://i.gyazo.com/123619ea7d689b55995b49625b02fe15.gif" /></span></p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Mon, 16 Nov 2015 09:54:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99082#p99082</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99081#p99081</link>
			<description><![CDATA[<p>Дану... напечатай слово заглавными буквами(без капслока) и смени этому слову раскладку.</p><p>...</p><p>Нужно исправить возвращаемое значение на:<br /></p><div class="codebox"><pre><code>    return &quot;{vk&quot; VK &quot;}&quot;
</code></pre></div><div class="codebox"><pre><code>SendMode Input
#LAlt::
Send ^+{Left}^{vk58} ; Выделить и вырезать последнее слово слева от каретки
if (old_layout = &quot;RU&quot;)
	{
		SendMessage, 0x50,, % Locale_EN,, A
	}
else
	{
		SendMessage, 0x50,, % Locale_RU,, A
	}
gosub, Paste
return


Paste:
KeyWait Ctrl
for k, v in StrSplit(clipboard)
    Send % CharToVk(v)
return



; ---------- Functions -----------

CharToVk(Char)
{
    static Eng := 0x4090409, Rus := 0x4190419
    CharCode := Asc(Char)
    Lang := charcode &gt; 127 ? Rus : Eng
    PrevLang := getscriptlang()
    If (Lang != PrevLang) {
        SetScriptLang(Lang)
    }
    VK := DllCall(&quot;VkKeyScan&quot;, &quot;uchar&quot;, CharCode, &quot;Short&quot;)
    SetFormat, Integer, H
    VK :=  SubStr(VK &amp; 0xFF, 3)
    StringUpper, VK, VK
    SetFormat, Integer, D
    If (Lang != PrevLang) {
        SetScriptLang(PrevLang)
    }
    return &quot;{vk&quot; VK &quot;}&quot;
}

GetScriptLang()
{
    static ThreadID := 0
    If (ThreadID = 0)
        ThreadID := DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;ptr&quot;, A_ScriptHwnd, &quot;uint&quot;, 0, &quot;ptr&quot;)
    Return DllCall(&quot;GetKeyboardLayout&quot;, &quot;ptr&quot;, ThreadID, &quot;ptr&quot;)
}

SetScriptLang(Lang)
{
    static Func := &quot;PostMessage&quot; . (A_IsUnicode? &quot;W&quot;:&quot;A&quot;)
    DllCall(Func, &quot;ptr&quot;, A_ScriptHwnd, &quot;uint&quot;, 0x50, &quot;ptr&quot;, 0, &quot;ptr&quot;, Lang)
    Sleep, -1
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 09:49:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99081#p99081</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99079#p99079</link>
			<description><![CDATA[<p><strong>Alectric</strong>, используя имеющийся вариант из первого поста, проблем с регистром не возникает.</p><p>На данный момент у меня не получилось связать модификацию от <strong>YMP</strong> с отправлением скопированного текста.</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Mon, 16 Nov 2015 09:45:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99079#p99079</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99078#p99078</link>
			<description><![CDATA[<p>Далее возникнет проблема регистра букв...</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 09:37:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99078#p99078</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99077#p99077</link>
			<description><![CDATA[<p>Чтобы код определялся для обоих языков, нужно переключать язык самого скрипта. Например, так.<br /></p><div class="codebox"><pre><code>
MsgBox, % CharToVk(&quot;a&quot;) &quot;`n&quot; CharToVk(&quot;ф&quot;)


; ---------- Functions -----------

CharToVk(Char)
{
    static Eng := 0x4090409, Rus := 0x4190419
    CharCode := Asc(Char)
    Lang := CharCode &gt; 127 ? Rus : Eng
    PrevLang := GetScriptLang()
    If (Lang != PrevLang) {
        SetScriptLang(Lang)
    }
    VK := DllCall(&quot;VkKeyScan&quot;, &quot;uchar&quot;, CharCode, &quot;Short&quot;)
    SetFormat, Integer, H
    VK :=  SubStr(VK &amp; 0xFF, 3)
    StringUpper, VK, VK
    SetFormat, Integer, D
    If (Lang != PrevLang) {
        SetScriptLang(PrevLang)
    }
    Return &quot;vk&quot; VK
}

GetScriptLang()
{
    static ThreadID := DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;ptr&quot;, A_ScriptHwnd, &quot;uint&quot;, 0, &quot;ptr&quot;)
    Return DllCall(&quot;GetKeyboardLayout&quot;, &quot;ptr&quot;, ThreadID, &quot;ptr&quot;)
}

SetScriptLang(Lang)
{
    static Func := &quot;PostMessage&quot; . (A_IsUnicode? &quot;W&quot;:&quot;A&quot;)
    DllCall(Func, &quot;ptr&quot;, A_ScriptHwnd, &quot;uint&quot;, 0x50, &quot;ptr&quot;, 0, &quot;ptr&quot;, Lang)
    Sleep, -1
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 16 Nov 2015 09:24:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99077#p99077</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99072#p99072</link>
			<description><![CDATA[<p>Проблема того кода с первого поста, то из-за чего исчезает слово:<br /></p><div class="codebox"><pre><code>msgbox,% &quot;ru: &quot; asc(&quot;ф&quot;) &quot;`nen: &quot; asc(&quot;a&quot;)
</code></pre></div><p>Здесь:<br /></p><div class="codebox"><pre><code>VK := DllCall(&quot;VkKeyScan&quot;, &quot;uchar&quot;, Asc(Char), &quot;Short&quot;)
</code></pre></div><p>...</p><div class="codebox"><pre><code>VK1 := DllCall(&quot;VkKeyScan&quot;, &quot;uchar&quot;, Asc(&quot;ф&quot;), &quot;Short&quot;)
VK2 := DllCall(&quot;VkKeyScan&quot;, &quot;uchar&quot;, Asc(&quot;a&quot;), &quot;Short&quot;)

msgbox,% vk1 &quot;`n&quot; vk2
</code></pre></div><p>...</p><p>Возможно можно позаимствовать некоторые функции из <a href="http://forum.script-coding.com/viewtopic.php?id=8104">библиотеки у serzh82saratov</a>.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 16 Nov 2015 06:20:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99072#p99072</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Конвертация текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=99067#p99067</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, Скайп падает после второй конвертации.<br />Такая же проблема была и с Punto Switcher до ее обновления.</p><p>Я могу ошибаться, но мне кажется странным, что вариант с отправлением виртуальных кодов никому не приглянулся, т.к. кажется, что такой метод должен работать не хуже при гораздо меньшем объеме кода. И самое, на мой взгляд, интересное, что он должен работать с разными языками, для чего необходимо будет лишь заменить строку с заданной раскладкой.</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Mon, 16 Nov 2015 05:18:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=99067#p99067</guid>
		</item>
	</channel>
</rss>
