<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: заглавные буквы в hotstrings]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17432&amp;type=atom" />
	<updated>2022-10-24T22:34:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17432</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155390#p155390" />
			<content type="html"><![CDATA[<p>Успехов, появятся вопросы — задавайте.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-10-24T22:34:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155390#p155390</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155389#p155389" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Есть более сложный способ отслеживания ввода — InputHook().</p></blockquote></div><p>Вас понял, спасибо большое за наводку! Буду изучать.</p>]]></content>
			<author>
				<name><![CDATA[adeckwatt]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42844</uri>
			</author>
			<updated>2022-10-24T22:15:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155389#p155389</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155378#p155378" />
			<content type="html"><![CDATA[<p>То, что вы хотите, не получится сделать силами hotstring. То, что вводится скриптом после срабатывания одной горячей строки, не может быть частью сочетания букв, запускающего другую горячую строку. И если горячая строка сработала, то скрипт никак не сможет узнать, что было набрано до неё.</p><p>Есть более сложный способ отслеживания ввода — <a href="https://www.autohotkey.com/docs/commands/InputHook.htm">InputHook()</a>. Там можно получать вводимые символы в буфер параллельно вводу, и если в буфере окажется нужная комбинация, совершать какие-либо действия, например, стереть уже введённый текст бэкспейсами, и ввести новый. Попробуйте поиграть с этим, хотя придётся потратить время, чтобы разобраться.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-10-23T22:19:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155378#p155378</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155377#p155377" />
			<content type="html"><![CDATA[<p>Здравствуйте, <strong>teadrinker</strong>!</p><p>Значит, в качестве примера оставим тот же фрагмент кода:</p><div class="codebox"><pre><code>::пч::потому что
::ч::чтобы
:c?*:. п::. П</code></pre></div><p>Допустим, с использованием этих строчек я хочу набрать фразу &quot;Он меня удивил. <strong>Потому что</strong> это было неожиданно с его стороны&quot;. Я набираю (буквально): &quot;Он меня удивил. <strong>пч</strong> это было неожиданно с его стороны&quot;. И получаю по факту: &quot;Он меня удивил. <strong>Пчтобы</strong> это было неожиданно с его стороны&quot;. То есть строчка </p><div class="codebox"><pre><code>:c?*:. п::. П</code></pre></div><p> воспринимает &quot;п&quot; как отдельную букву, которую надо сделать заглавной, а то, что после &quot;п&quot; идет еще другая буква, которая содержится в другой hotstring и должна запускать срабатывание &quot;потому что&quot;, игнорируется. Если бы у меня была hotstring </p><div class="codebox"><pre><code>::п::почему</code></pre></div><p> она бы вообще не сработала (вроде я пробовал такое, действительно не работает), то есть буква &quot;п&quot; стала бы заглавной, но слово &quot;почему&quot; я бы не получил. </p><p>То есть получается так, что буква-то становится заглавной, но если с этой буквы начинается hotstring (аббревиатура, я сорри за абьюз этого термина), то эта hotstring уже не срабатывает как задумывалось, попросту ломается. То есть строчка, которая делает букву заглавной, обрабатывает только эту букву саму по себе, игнорируя то, что она не является самостоятельной, а является частью hotstring. Иными словами, я хочу, чтобы, если hotstring состоит из двух слов (и более), то у первого слова в нем была заглавная буква, а у остальных строчная, ну как и полагается по правилам русского языка: после точки предложение должно начинаться с &quot;Потому что&quot;, &quot;Так как&quot;, а сейчас получается &quot;Пчтобы&quot; и &quot;Тк&quot;. </p><p>По идее, нужно как-то сделать так, чтобы большая буква выставлялась уже после того, как сама hotstring сработает. То есть я набираю &quot;. пч&quot;, получается сначала &quot;. потому что&quot; (срабатывает строчка &quot;::пч:потому что&quot;), а потом уже искомое &quot;. Потому что&quot; (срабатывает строчка &quot;:c?*:. п::. П&quot;). Осталось понять, как перевести этот алгоритм в язык кода. </p><br /><br /><p>Прошу извинить за определенную спутанность в мыслях, но я старался, чтобы ее не было.</p>]]></content>
			<author>
				<name><![CDATA[adeckwatt]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42844</uri>
			</author>
			<updated>2022-10-23T21:49:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155377#p155377</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155368#p155368" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>Она работает, да не совсем так, как требуется. В частности, если я имею, допустим, следующие строчки кода</p></blockquote></div><p>Поясните подробнее, что и в какой последовательности вы нажимаете, и какого поведения ожидаете.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-10-23T14:21:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155368#p155368</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: заглавные буквы в hotstrings]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155365#p155365" />
			<content type="html"><![CDATA[<p>Категорически приветствую &quot;Серый форум&quot; и его досточтимых обитателей! Позвольте просить вашей помощи в одном деле.</p><p>Дело в том, что я использую АХК исключительно для оптимизации набора текста. Все, что смог освоить самостоятельно, – это написание строчек вида: </p><div class="codebox"><pre><code>::пч::потому что
::ч::чтобы</code></pre></div><p>Но по мере взаимодействия с АХК растут запросы, вместе с которыми, к сожалению, не растет навык программирования... Ну то есть я честно читаю разделы мануала АХК, касающиеся всяких разных приемов, но применение их на практике, особенно в комбинациях, выглядит для меня непосильной задачей. Идеи есть, а реализовать их не получается, к сожалению. Поиском пользовался, но безуспешно.</p><p>Собственно, в чем проблема? Я бы хотел сделать так, чтобы АХК выдавал большие буквы после точек. И вроде все просто, в частности, нашел в готовом виде вот такую строчку: </p><div class="codebox"><pre><code>:c?*:. п::. П</code></pre></div><p>Она работает, да не совсем так, как требуется. В частности, если я имею, допустим, следующие строчки кода: </p><div class="codebox"><pre><code>::пч::потому что
::ч::чтобы
:c?*:. п::. П</code></pre></div><p>то при наборе фразы вида &quot;Он не смог. Потому что не смог&quot; я получаю &quot;Он не смог. Пчтобы не смог&quot;. То есть &quot;п&quot; выставляется как надо, но сама hotstring (аббревиатура, не знаю, как сказать правильно, простите) ломается. Это первый момент.</p><p>И второй момент. Бывают ситуации, при которых многоточие (...) может находиться внутри предложения, а потому не требовать после себя выставления большой буквы. Но при том коде, который я описал выше, эта ситуация не учитывается, большая буква все равно образуется. Как в АХК прописать исключение, чтобы одна точка только учитывалась, а три уже не считались, т. е. не активировали hotstring? </p><p>Простите за много букв, сейчас это не в почете, но хотел, чтобы было понятно, в чем весь сыр-бор. Заранее спасибо за внимание и по возможности за помощь. </p><br /><br /><br /><br /><p>P.S. Прочитал правила форума – всецело разделяю ваш посыл &quot;мы пишем грамотно&quot;, спасибо вам за него.</p>]]></content>
			<author>
				<name><![CDATA[adeckwatt]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42844</uri>
			</author>
			<updated>2022-10-22T20:36:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155365#p155365</id>
		</entry>
</feed>
