<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Переменная внутри цикла]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=9767</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9767&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Переменная внутри цикла».]]></description>
		<lastBuildDate>Mon, 07 Jul 2014 16:02:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84605#p84605</link>
			<description><![CDATA[<p>Упс)) Прошу прощения, даже в мыслях небыло, но все таки&nbsp; чуть чуть или практически не считаеться)) Тема похожа, но не идентична! Всем спасибо за предоставленные примеры, теперь будет над чем поработать и заодно свой уровень знаний повысить!</p>]]></description>
			<author><![CDATA[null@example.com (Центурион)]]></author>
			<pubDate>Mon, 07 Jul 2014 16:02:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84605#p84605</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84604#p84604</link>
			<description><![CDATA[<p>А... а я то думал что я <em>&quot;накосячил&quot;</em> в скрипте, хотя возможно - я не проверил его.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Mon, 07 Jul 2014 15:39:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84604#p84604</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84603#p84603</link>
			<description><![CDATA[<p>Я про то, что товарищ практически сдублировал свою тему.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Jul 2014 15:29:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84603#p84603</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84601#p84601</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p><strong>Центурион</strong> - практически рецидив.</p></blockquote></div><p> не понял фразы - ты про что/что имел ввиду?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Mon, 07 Jul 2014 14:43:32 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84601#p84601</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84588#p84588</link>
			<description><![CDATA[<p><strong>Центурион</strong> - практически <a href="http://forum.script-coding.com/viewtopic.php?pid=83768#p83768">рецидив</a>. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>
#UseHook  

1::
2::
3::
4::
5::
6::
7::
8::
9::
0::     
    SetTimer, LoopSend, Off
    T := 0  
    
LoopSend: 
    SendInput % (T := !T) ? 6 : A_ThisHotkey
    Random, time, T ? 125 : 3000, T ? 350 : 3300
    SetTimer, LoopSend, % &quot;-&quot; time
    Return 
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Jul 2014 06:13:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84588#p84588</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84586#p84586</link>
			<description><![CDATA[<div class="quotebox"><cite>Центурион пишет:</cite><blockquote><p>Нужен любой наглядный пример с возможным решением данной задачи! Самому с ноля пока не по силам справиться! Заранее благодарен за помощь!</p></blockquote></div><p> Исходя из выше написанного, я не понял причём тут клавиша &quot;4&quot;, так что даю некий обобщённый пример.</p><p><strong>1.</strong> Из скрипта для упрощения убраны определители HotKey (включение и выключение)<br /><strong>2.</strong> Отсутствует работа с таймерами и многопоточностью.<br /><strong>3.</strong> Скрипт не тестировался, а его объёмность это множество комментариев.</p><p>Конечно можно было написать проще, но как я сказал выше - <em>&quot;даю некий обобщённый пример&quot;</em></p><p>По всем вопросам пиши отвечу исправлю поправлю <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><div class="codebox"><pre><code>;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance
; Точка выхода, смотри описание по AHK
OnExit, lExample

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Данный вариант должен удволитворить все требования по вызову чего угодно.
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cNone     := &quot;&quot;           ; false? нет это true! Определитель конца массива, что бы не писать индексы.
cNoLbL    := &quot;lNonempty&quot;  ; блокиратор метки, т.е. метка которая есть, но она ничего не делает
cSps      := &quot; &quot;          ; Обычный пробел - для удобства.

; Не нужный фрагмент скрипта - дань моей привычке
;----------------------------------------------------
i         := 0            ; Индекс в массиве (не нужно)
MaxAr     := i            ; Максимальное значение массива (не нужно)
MaxArSize := 4            ; Число записей в одном элементе массива (не нужно)
;------------------------------------------------------

; Индексы внутри массива (естественно их может быть больше)
; НО!!! iText всегда должен быть последним, 
; так как этот индекс определяет последовательность клавиш, а так же служит указателем конца массива
iKeys       := 1  ; Базовая клавиша, индекс или что то ещё, но не (=cNone) иначе пропуск
iLabels     := 2  ; Метка обработки клавиши или что то ещё
iSupply     := 3  ; Резерв - можно текст или что угодно.
iText       := 4  ; Последовательность посылки, если он пуст, т.е. начинается с (=cNone) то конец обработки


;----------------------Формат для одного элемента массива
; [ 
; ,cNone(Базовая клавиша или что то ещё) 
; ,cNone(Резерв для вызова подпрограммы)
; ,cNone(Резерв) - можно текст или что угодно.
; ,cNone(Начало последовательности клавиш) - Запись через &quot;,&quot; последний элемент должен быть (=cNone) ВСЕГДА!!!
; ] 

; И так описываем то что нужно (пример записи)
arMain := [[cNone,cNone,cNone,cSps] ; Если 4-й элемент cNone то конец массива, т.к. cNone не может быть клавишей. 
          ,[&quot;5&quot;,cNoLbL ,&quot;Hello Wold!&quot; ,&quot;1&quot;,&quot;8&quot;,&quot;9&quot;,cNone]  
          ,[cNone ,cNoLbL ,&quot;Это не сработает, т.к. конец массива&quot; ,cNone]]
;----------------------

; Описание закончено, программа резидентна, а её вызов можно сделать или по клавише или иным способом.
; Первый вызов мы всё же сделаем
fFirstEntry := True
Gosub lReparMain
fFirstEntry := !fFirstEntry          
Return
          
;----&gt;&gt;&gt;&gt; Точка первичного/повторного обработки массива.
lReparMain:
i := 1
while (!arMain[i,iText] = cNone) ; Выполнять пока arMainKey[i,iText] != cNone
  {
    
    vKeysFirst := arMain[i,iKeys]        ; Сохраняем клавишу или что там написано, проверку не делаю.
    if (!IsLabel(arMainKey[i, iLabels]))
        {
          ; Тут обработка если метки нет
          ; Выход через метку lExample
          ; C диагностикой, что бы знать в чём ошибка
        }
      else
        {
          vKeysLabel := arMainKey[i, iLabels]  ; Сохраняем метку 
        }
    
    if ((arMain[i,iSupply]) = cNone))
        {
          ; Резерв пуст, можно выдать сообщение и выйти через метку lExample (не обязательно)
          ; Можно просто проигнорировать когда - arMain[i,iSupply]) = cNone
        }
      else
        {
          vSupply := arMain[i,iSupply] ; Сохоаняем резерв, для чего, для общего примера
        }
    
    ; Вызов подпрограммы для заполнения массива вторичных клавиш
    Gosub lSubKeys

    ; Внимание!!!
    ; Метка обхода первого вызова - lFirstEntryCall
    ; Следить за флагом fFirstEntry, если он True(ИСТИНА), то можно проигнорировать запуск, до полной инициализации
    ; А так же проверить правильнось клавиш и меток
    
    ; Тут или в подпрограмме/функции делаем то что нужно.
    ; vKeysFirst - Первичная клавиша или индекс или просто нужное число, т.е. что угодно.
    ; vKeysLabel - Mетка(уже проверенная) для вызова подпрограммы - Gosub %vKeysLabel%
    ; vSupply    - Резерв, может использоваться например как задержка - Delay %vSupply%   
    ; arSubKeys  - Массив вторичных клавиш, как вызывать - ваше дело.
    ; MaxSubKeys - Число вторичных клавиш.
    
; Обработка сл. элемента массива.
lFirstEntryCall:
    i++
  }

; Массив закончился, точка повтора или выхода.
if (fFirstEntry) Return
Goto lReparMain ; И так до бесконечности, причём массив arMain можно заполнять динамически, но соблюдая правила заполнения.

; Подпрограмма заполнения массива вторичных клавиш  
lSubKeys:
    iSubKeys := 1
    j := iText
    while (arMain[i,j] != cNone)
      {
        arSubKeys[iSubKeys] := arMain[i,j]
        iSubKeys++
      }
      MaxSubKeys := iSubKeys
Return  

; Подпрограмма-заглушка  
lNonempty:
return

; Точка выхода
lExample:
; Тут делаем то что хотим сделать перед выходом
; И выходим
ExitApp
      
;---------------------------------------
;Тут пишем что угодно, код, таймеры, функции, подпрограммы, etc.
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Mon, 07 Jul 2014 04:56:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84586#p84586</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84561#p84561</link>
			<description><![CDATA[<p>Чуть позже напишу, сейчас очень занят.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sat, 05 Jul 2014 16:10:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84561#p84561</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84559#p84559</link>
			<description><![CDATA[<p>Нужен любой наглядный пример с возможным решением данной задачи! Самому с ноля пока не по силам справиться! Заранее благодарен за помощь!</p>]]></description>
			<author><![CDATA[null@example.com (Центурион)]]></author>
			<pubDate>Sat, 05 Jul 2014 14:21:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84559#p84559</guid>
		</item>
		<item>
			<title><![CDATA[Re: Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84547#p84547</link>
			<description><![CDATA[<p>Можно... тебе большой пример или маленький? <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><p>Описываешь клавиши в массиве и по индексу LOOP их нажимаешь.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sat, 05 Jul 2014 05:07:12 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84547#p84547</guid>
		</item>
		<item>
			<title><![CDATA[Переменная внутри цикла]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=84473#p84473</link>
			<description><![CDATA[<p>Здраствуйте! Имееться самый простенький скрипт, а точней самый обычный цикл:<br /></p><div class="codebox"><pre><code>Loop
            {
                Send, 6
                Random, t, 125, 350     
                Sleep, t
                Send, 4
                Random, t, 3000, 3300
                Sleep, t
            }</code></pre></div><p>Возможно ли задать клавишу 4 как переменную,&nbsp; тоесть при нажатии на 1 происходило б поочередное нажатие 1 и 6, если 2, то соответственно 2 и 6, если 3, то 3 и 6 и так далее! И возможно ли создать в данном случае определенный список нужных клавиш, чтоб ток из них шел перебор, а на ненужные клавиши просто б не реагировало!</p>]]></description>
			<author><![CDATA[null@example.com (Центурион)]]></author>
			<pubDate>Thu, 03 Jul 2014 13:32:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=84473#p84473</guid>
		</item>
	</channel>
</rss>
