<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Обращение к переменной записанной в переменной]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12670&amp;type=atom" />
	<updated>2017-09-24T08:09:07Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12670</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119535#p119535" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong>, Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2017-09-24T08:09:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119535#p119535</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119534#p119534" />
			<content type="html"><![CDATA[<p><strong>becauseim</strong>, что мне нужно исправить, чтобы выводилось содержимое переменной?</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-09-24T07:38:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119534#p119534</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119533#p119533" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong>, если это ответ, то не ясен, к сожалению.</p>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2017-09-24T06:56:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119533#p119533</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119532#p119532" />
			<content type="html"><![CDATA[<p>Помогите новичку, у меня скрип не работает:<br /></p><div class="codebox"><pre><code>var1 := 42
MsgBox % &quot;var1&quot;</code></pre></div><p>Вместо переменной выводится текст в кавычках.<br />Заранее спасибо!</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-09-24T06:19:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119532#p119532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119531#p119531" />
			<content type="html"><![CDATA[<p>Возможно, не по теме. Запутался в оформлении переменных.<br />Так я запускаю заданный j-script в консоль Chrome:<br /></p><div class="codebox"><pre><code>
var1=
(
$(&#039;.toggle-track&#039;).each(
    function(counter, song) {
        var temp = document.createElement(&#039;a&#039;);
        var $song = $(song);
		...
        temp.click();
    } );
)

SendInput ^+{vk4A} ; j - открыть консоль
Sleep 1000
SendRaw % var1 ; вставить j-скрипт
SendInput `n^+{vk4A} ; запустить скрипт и закрыть консоль
return
</code></pre></div><p>Необходимо оформить в виде функции, но вместо j-скрипта из переменной отправляется текст в кавычках:<br /></p><div class="codebox"><pre><code>
ChromeConsole(&quot;var1&quot;)

ChromeConsole(script){
	SendInput ^+{vk4A} ; j
	Sleep 1000
	SendRaw % script
	SendInput `n^+{vk4A}
	return
}
</code></pre></div><p>Подскажите, пожалуйста, как правильно оформить?</p>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2017-09-23T22:42:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119531#p119531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115800#p115800" />
			<content type="html"><![CDATA[<p><strong>cahtbap1</strong><br />Вот готовый набор функций в одном модуле. </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;SetHotKeys.ahk</div><div class="fancy_spoiler"><div class="codebox"><pre><code>;----------------fnHotkey = основная функция генерации Hotkey--------------------------------------------
;На вход
;1-й Переменная это строка из INI содержащая клавиши не более трёх
;2-й Метка - она должна быть
;3-й Включит/выключить True/False. Включить по умолчанию
;4-й Проверять(по умолчанию) или не проверять. Рекомендуется не отключать, что бы избежать конфликтов.

;На выход 
;Имя горячей клавиши(строка) ,а при ошибке авто-отработка и выход.
;Значения заносятся в массив. 
;Выходит без проверки и действий при BaseHotkeyFS  := False
fnHotkey(varKeyIn, varLabelIn, varStatusIn:=True, varСheckHotkeyIn:=True)
{
Global ;The directive &quot;global&quot; - should not be an empty string.

;Глобальные константы для справки
;cCrushItself - &quot;$&quot; Когда надо вызывать ту же клавишу внутри её вызова
;cCrushMore   - это для 2-х и 3-х. Дополнить Hotkey &quot;~&quot;, т.е. ~Ctrl &amp; Win $10 (~^#10) что бы обойти левые и правые модификаторы
;cCrushAndSPS - это &quot; &amp; &quot;

;Локальные для этой функции переменные(меняются), константы и массивы
Local i, j, iLoop, jLoop
Local vHotKeyWork, cMaxArHotKeyStr, arHotKeyStr, cMaxArHotKeyAsg, arHotKeyAsg, сHotKeyStrErr
;Thread, NoTimers
  if (!StrLen(varKeyIn)) ; Проверка на пустые Hotkey клавиши
            Goto  lFnHotkeyExit
;Инициализация констант, переменных, массивов - это обязательно
  i :=  0, j :=  0, iLoop :=  0, jLoop :=  0
  vHotKeyWork :=  &quot;&quot;, cMaxArHotKeyStr :=  0,  arHotKeyStr :=  [], cMaxArHotKeyAsg :=  0,  arHotKeyAsg :=  [], сHotKeyStrErr :=  &quot;&quot;

;------Начинаем работу------

;Расчёт и генерация строк и акнонимов, а так же сHotKeyStrErr если будет ошибка для Hotkey  
  arHotKeyStr     :=  fnParseSPS(varKeyIn)    ;Массив для текста клавиш - они нужны для построения акронимов
  cMaxArHotKeyStr :=  arHotKeyStr.MaxIndex()  ;Расчёт длины, т.е. числа клавиш
  i := 0
  Loop %cMaxArHotKeyStr%
    {
      i++
      arHotKeyAsg[i]  :=  fnAssigKey(arHotKeyStr[i])
    }
  cMaxArHotKeyAsg :=  arHotKeyAsg.MaxIndex()
  
;Построение сочетания клавиш для Hotkey(vHotKeyWork) и генерация строки клавиш для ошибки(сHotKeyStrErr)
  i :=  0,  vHotKeyWork :=  &quot;&quot;,  сHotKeyStrErr :=  &quot;&quot;
  Loop %cMaxArHotKeyAsg%
    {
      i++
      If (i = 1)
            сHotKeyStrErr :=  arHotKeyStr[i]
          Else
            сHotKeyStrErr :=  сHotKeyStrErr cCrushAndSPS arHotKeyStr[i]
      vHotKeyWork :=  vHotKeyWork arHotKeyAsg[i]
    }
   
  HotKey %vHotKeyWork%, %varLabelIn%, %cOffHK%, UseErrorLevel  ; Включение HotKey
  MyErrorLevel := ErrorLevel
  If (MyErrorLevel != 0)
    {
        сHotKeyStrErr := &quot;HotKey&quot; cSps сHotKeyStrErr cComma cSps varLabelIn 
      If (MyErrorLevel = 1)
            Error_TXT := &quot;В параметре Label указано несуществующее имя метки.&quot;
      If (MyErrorLevel = 2)
            Error_TXT := &quot;Дубликат горячих клавиш или они не поддерживаются системой.&quot;
      If (MyErrorLevel = 3)
            Error_TXT := &quot;Неподдерживаемый модификатор горячей клавиши.&quot;
      If (MyErrorLevel = 4)
            Error_TXT := &quot;Клавиши не пригодны для эмуляции AltTab или ShiftAltTab.&quot;
      If (MyErrorLevel = 5)
            Error_TXT := &quot;Команда пытается изменить несуществующую горячую клавишу.&quot;
      If (MyErrorLevel = 6)
            Error_TXT := &quot;Команда пытается изменить несуществующий вариант существующей горячей клавиши.&quot;
      If (MyErrorLevel = 98)
            Error_TXT := &quot;Создание данной горячей клавиши превысило лимит в 700 горячих клавиш.&quot;
      If (MyErrorLevel = 99)
            Error_TXT := &quot;Недостаточно памяти. Ваша OS нестабильна, требуется очистка и настройка.&quot;

      cTitle      :=  &quot;Ошибка в HotKey&quot; ;Титул MsgBox
      cMsgErr     :=  &quot;`n Ошибка в определении - &quot; сHotKeyStrErr
      cTxtErrAd1  :=  &quot;`n`n Тип ошибки :&quot;
      cTxtErrAd2  :=  &quot;`n &quot; Error_TXT
      cWait       :=  35
      cTxtErrAd3  :=  &quot;`n`n Выход из программы(Тайм-аут = &quot; cWait &quot; сек).&quot;
      MsgBox % сMsgBoxError_Ok, %cTitle%, %cMsgErr% %cTxtErrAd1% %cTxtErrAd2% %cTxtErrAd3%, %cWait%      
      Gosub lExitTotalKeys
    }
  
  If (varStatusIn)
          HotKey %vHotKeyWork%, %varLabelIn%, %cOnHK%, UseErrorLevel
  
lFnHotkeyExit:
Return vHotKeyWork
}
;-------------------------------------------------------------------------------------------


;------------------------Функция возврата акронима спец. клавиш--------------------------------
fnAssigKey(KeyIn)
{
 Local i, iLoop, flg
  i := 0, iLoop := 0, flg :=  False
  
  flg   :=  False ;Флаг акронима
  
  iLoop :=  arAssigKey.MaxIndex()
  i     :=  0
  loop %iLoop%
    {
      i++
      if (arAssigKey[i,iAsKeyName] = KeyIn)
          {
            flg  :=  True  ; Нашли акроним
            KeyOut  :=  arAssigKey[i,iAsKeyAcronym], break
          }
   }
  If (flg)
      Return KeyOut ; Акроним нашли, возврат не клавиши, а акронима
    Else
      Return KeyIn ; Акроним не нашли, возврат клавиши, что нам дали на входе
}

;---------------Функция которая убирает пробелы и табуляцию. Возвращает строку сиволов через пробел -------------------
; Если Ar = True то массив,  иначе строка
fnParseSPS(buffer, ar := True)
{
local Arr, i, Row, OutStr
  Arr := [], j := 0, i := 0, Row  := &quot;&quot;, OutStr := &quot;&quot;
  Loop, parse, buffer, &quot; &quot;
    { 
      Row := RegExReplace(A_LoopField, &quot;&quot;&quot;| |&quot; A_Tab)
        If Row is space 
            Continue
      Arr[++i] := Row
    }
  If(ar)
;Возврат массива    
    Return Arr  

;Возврат строки - символы через пробел  
  i := Arr.MaxIndex() 
  Loop %i%
    {
      j++
      ;OutStr  := OutStr Arr[j]
      If (i != j)
          OutStr  := OutStr Arr[j] &quot; &quot;
        Else
          OutStr  := OutStr Arr[j]
    }
Return OutStr
}


Goto leave_FnAr_KES
;----------------------------------Заглушки--------------------------------------------------
;Для ремаппинга клавиш
lPressKeyToMap:
Return

lSentKeyToMap:
Return

;Просто заглушка
lNoLabel: 
Return
;-------------------------------------------------------------------------------------------
leave_FnAr_KES:</code></pre></div></div></div><p> Основные константы и массив акронимов. </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;AllMainConst.ahk</div><div class="fancy_spoiler"><div class="codebox"><pre><code>;Тут только OK
  сMsgBoxInfo_Ok          :=0+8192+64 ;only an OK button + Task Modal + Icon Asterisk(info)
  сMsgBoxError_Ok         :=0+8192+16 ;only an OK button + Task Modal + Icon Hand (stop/error)  
  сMsgBoxChoice_Ok        :=0+8192+48 ;only an OK button + Task Modal + Icon Exclamation
;Тут Yes/No(Да/Нет) 
  сMsgBoxQuest_YN         :=4+8192+32 ;Yes/No button  + Task Modal + Icon Question
  сMsgBoxInfo_YN          :=4+8192+64 ;Yes/No button + Task Modal +  Icon Asterisk (info)
;Тут OK/Cansel(Да/Отмена)
  сMsgBoxInfo_OK_Cansel   :=1+8192+64 ;OK/Cansel button + Task Modal +  Icon Asterisk (info)
  сMsgBoxChoice_OK_Cansel :=1+8192+48 ;OK/Cansel button + Task Modal + Icon Exclamation
  сMsgBoxQuest_OK_Cansel  :=1+8192+32 ;OK/Cansel button  + Task Modal + Icon Question
  

;Общие определения
; Сокращения и сообщения
cLF        := &quot;`n&quot;
cNone      := &quot;&quot;  ;Это не False, а True
cFreeRec   := &quot;0&quot; ;Для определения пустой записи
cSps       := &quot; &quot; 
cGap       := &quot;—&quot;
cComma     := &quot;,&quot;
cNoLbL  := &quot;lNoLabel&quot; ; Метка-заглушка для вывода справки и просто так
cOnHK      := &quot;ON&quot; 
cOffHK     := &quot;OFF&quot;
; Только для Hotkey - не печатыемые символы
cCrushMore    := &quot;~&quot; ; для сочетаний типа Ctrl+Win+10 надо добавить (cCrush)+Ctrl+Win+10
cCrush2       := &quot;*&quot;
cCrush3       := &quot;@&quot;
cCrushItself  := &quot;$&quot;
cCrushAnd     := &quot;&amp;&quot;
cCrushAndSPS  := &quot; &amp; &quot;


;Акронимы и клавиши модификаторы
cMenuWin    := &quot;AppsKey&quot;
cRWin       := &quot;RWin&quot;
cLWin       := &quot;LWin&quot; 
cCtrl       := &quot;Ctrl&quot;
cRCtrl      := &quot;RCtrl&quot;
cLCtrl      := &quot;LCtrl&quot;
cShift      := &quot;Shift&quot;
cRShift     := &quot;RShift&quot;
cLShift     := &quot;LShift&quot;
cAlt        := &quot;Alt&quot;
cRAlt       := &quot;RAlt&quot;
cLAlt       := &quot;LAlt&quot;

iAsKeyName        := 1  ; индекс имени
iAsKeyAcronym     := 2  ; индекс акронима
arAssigKey        :=[[cMenuWin,cMenuWin]
                    ,[cRWin,cRWin], [cLWin,cLWin]
                    ,[cCtrl,&quot;^&quot;], [cRCtrl,&quot;&gt;^&quot;],[cLCtrl,&quot;&lt;^&quot;]
                    ,[cShift,&quot;+&quot;],[cRShift,&quot;&gt;+&quot;],[cLShift,&quot;&lt;+&quot;]
                    ,[cAlt,&quot;!&quot;],  [cRAlt,&quot;&gt;!&quot;],  [cLAlt,&quot;&lt;!&quot;]]</code></pre></div></div></div><p> </p><div class="quotebox"><cite>cahtbap1 пишет:</cite><blockquote><p>Мне бы заменить 10 Labelов на 1 функцию</p></blockquote></div><p> Тебе нужна реализация CASE? Могу дать, правда она привязана к коду, но не намертво - общий принцип прост. <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;fnGearSpdBrk</div><div class="fancy_spoiler"><div class="codebox"><pre><code>;---
;Main function to dynamically calculate the speed, braking and turning angle corrector, as well as set the flags for timers speed and braking
;---Beginning of function fnGearSpdBrk
fnGearSpdBrk(vParam0, vSpdBrk) ;The values for vSpdBrk (0 - no matter, 1 - speed of the timer, 2 - braking of the timer, 3 and higher - the other subprogramme)
{
;The constants function fnGearSpdBrk and all the subprogrammes who is calling, they are defined above under subprogramme &quot;lVarGameTHQ&quot;.
;cFnSB_Learn||cFnSB_Speed||cFnSB_Brake||cFnSB_GT||cFnSB_Boost||cFnSB_Sharp||cFnSB_Turn||cFnSB_Above||
;          1            2            3         4            5            6           7            8

global ;All variables in the function will be global, it is necessary to comment to engage the directive &quot;global&quot; - should not be an empty string.
local fSpdBrk, vMComp, sLabel, vRetFn, vRetResult
static arSpdBrk := [&quot;lFnSB_Learn&quot;,&quot;lFnSB_Speed&quot;,&quot;lFnSB_Brake&quot;,&quot;lFnSB_GT&quot;,&quot;lFnSB_Boost&quot;,&quot;lFnSB_Sharp&quot;,&quot;lFnSB_Turn&quot;,&quot;lFnSB_Above&quot;] 
static cErFun := &quot;Error in the function `&quot; fnGearSpdBrk `&quot;. `n&quot; 
static fRetDone := 0, fRetErr := -1 
  
  sLabel := arSpdBrk[vSpdBrk]
  if (!IsLabel(sLabel))
   {
		 msgbox, % vMsgOptionsEr 
							,Saints Row: The Third
              , %cErFun% Dynamic label with name = &quot;%sLabel%&quot; does not exist.`n`n %сErrOfExit%
              ,30
     ExitApp
    }
  ;a  := arSpdBrk[vSpdBrk]
  ;tooltip %a% = %vSpdBrk%
  vRetFn := fRetDone
  gosub, % arSpdBrk[vSpdBrk]
  if (vRetFn = fRetErr)
    {
		 sbLabel := SubStr(sLabel, 2)
     msgbox, % vMsgOptionsEr 
							,Saints Row: The Third
              , %cErFun% Semantic error in the sub-function = &quot;%sbLabel%&quot; `n`n %сErrOfExit%
              ,30
     ExitApp
    }  

return vRetResult
  
;Fast distillation the car
; cFnSB_Boost := 4
lFnSB_Boost:
  if (fKeyUpTimer) 
      {
        vBoostSpeed++
        if (vBoostSpeed&gt;cBoostSpeed)
            {
              fKeyUpTimer:=false
              gosub lGearAddUp              
              vBoostSpeed := 0
              fKeyUpTimer:=true
              return vRetResult:=false
            }
          else
            return vRetResult:=true
      }
     else
      return vRetResult:=true
      
return vRetFn:=fRetErr

;Fast braking the car
; cFnSB_Sharp := 5
lFnSB_Sharp:
  if (fKeyDnTimer)
      {
        vSharpBrake++
        if (vSharpBrake&gt;cSharpBrake)
            {
              fKeyDnTimer:=false
              gosub lGearAddDn             
              vSharpBrake := 0
              fKeyDnTimer:=true
              return vRetResult:=false ;Allow the timer subroutine work - the speed has changed.
            }
          else
            return vRetResult:=true    ;Forbid the timer subroutine work - speed does not change.        
      }
     else
      return vRetResult:=true         ;If fKeyDnTimer:=false flag allow or deny? As long as I think will be correct - forbid.
          
return vRetFn:=fRetErr

;Block of the control gear shifting
; cFnSB_GT    := 3
lFnSB_GT:
  if (!vRShX)
        return
  if (iGear&lt;&gt;iGearTrc)
        gosub lSetTimerOff
      else
        return
  if (iGear=1)
      {
        fnPlaySoundTHQ(iSoundSpeedMin)
        Goto, lFnSB_GT_Exit 
      }
  if (iGear=cMaxGear)
      {
        fnPlaySoundTHQ(iSoundSpeedMax)
        Goto, lFnSB_GT_Exit
      }  
  if (iGear&gt;=iGearTrc)		
        fnPlaySoundTHQ(iSoundSpeedUp)
      else
        fnPlaySoundTHQ(iSoundSpeedDn)
  lFnSB_GT_Exit:            
      iGearTrc:=iGear			 
      gosub lSetTimerOn
  return     

return vRetFn:=fRetErr

;The block checks the flags and the initial values for the correction of the rotation.
lFnSB_Turn:
    ;fUDLR := True
      Send, {%vParam0% Down}
        sleep %td20_Sleep%
      Send, {%vParam0% Up}    
    ;fUDLR := False    
  return 
      
return vRetFn:=fRetErr
      
;Block checking and setting lock timer - do not touch hands. I&#039;m kidding it
; cFnSB_Speed := 1
; cFnSB_Brake := 2
lFnSB_Speed:
lFnSB_Brake:
  if ((vSpdBrk=cFnSB_Speed) || (vSpdBrk=cFnSB_Brake)) 
      {
        if (fScepl || fUDLR)
            fSpdBrk := true
          else
            fSpdBrk := false

        if ((vSpdBrk=cFnSB_Speed) &amp;&amp; (iGear=cMaxGear))
            SetTimer lMoveBrk, off
          else
            SetTimer lMoveBrk, %cTimerBrk%
            
        if ((vSpdBrk=cFnSB_Brake) &amp;&amp; (iGear=1))
            SetTimer lMoveUp, off
          else
            SetTimer lMoveUp, %cTimerSpd%
            
        vGearSpdTimer:=vGearSpd//2
        vGearBrkTimer:=vGearBrk//2        
        
        return vRetResult:=fSpdBrk
      }
return vRetFn:=fRetErr
   
;Common subprogramme is not to be verified
; cFnSB_Learn := 0
lFnSB_Learn:
    vGearSpd := (arGear[iGear]+vGearSpd)//2
    vGearBrk := (arGear[iGear]+vGearBrk)//2
    vGearSpdTimer:=vGearSpd//2
    vGearBrkTimer:=vGearBrk//2
    return       
  return vRetFn:=fRetDone

return vRetFn:=fRetErr
      
;While not using - stopgap
; cFnSB_Above := 6
lFnSB_Above: 
return vRetFn:=fRetErr
}
;---End of function fnGearSpdBrk
;---</code></pre></div></div></div><p> Просто убери лишнее из функции, отдельного исходника нет - давно дело было.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2017-05-11T23:43:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115800#p115800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115798#p115798" />
			<content type="html"><![CDATA[<p>Опередили, а я ток исправил. Забыл про ограничения языка.<br />В вашем коде наверно опечатка - в Hotkey должен стоять уже % fn.<br />См. мое предыдущее сообщение.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-05-11T17:59:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115798#p115798</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115797#p115797" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong><br />Странно ,так не работает:<br /></p><div class="codebox"><pre><code>Hotkey % hh, % Func(&quot;print&quot;).Bind(ee)</code></pre></div><p>Пишет :<br />Error: Nonexistent hotkey.<br />Specifically:1</p><p>А так работает:<br /></p><div class="codebox"><pre><code>
fn := Func(&quot;print&quot;).Bind(ee)
Hotkey,% hh,% Func(&quot;print&quot;).Bind(ee)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[cahtbap1]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34377</uri>
			</author>
			<updated>2017-05-11T17:56:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115797#p115797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115796#p115796" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>hh := &quot;F1&quot;, e:=&quot;Hotkey&quot;, x := Func(&quot;print&quot;).Bind(e)
Hotkey % hh, % x

print(x) {
	MsgBox % x
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-05-11T17:08:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115796#p115796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115795#p115795" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>Поищите так же по форуму. Здесь много раз поднималась тема с хоткеями, поэтому проще воспользоваться уже готовыми наработками. Сократите время на разработку и пополните багаж знаний мудростью прочих.</p></blockquote></div><p>Возник вопрос по поводу хоткея на фунцию , но поиск мне почему-то не помогает.<br />Мне бы заменить 10 Labelов на 1 функцию:<br /></p><div class="codebox"><pre><code>
Hotkey,%hh%,print_e%Hnum%
return
print_e:
print(e)
return</code></pre></div><p>На<br /></p><div class="codebox"><pre><code>
Hotkey,%hh%,print(ee)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[cahtbap1]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34377</uri>
			</author>
			<updated>2017-05-11T16:42:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115795#p115795</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115794#p115794" />
			<content type="html"><![CDATA[<p>Хах , спасибо ребят.</p>]]></content>
			<author>
				<name><![CDATA[cahtbap1]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34377</uri>
			</author>
			<updated>2017-05-11T15:47:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115794#p115794</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115787#p115787" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>h1 := &quot;a&quot;, b := 1, c := h%b%
MsgBox % c</code></pre></div><p>В параметрах команды Hotkey в вашем коде не хватает 3 знаков %.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-05-11T11:54:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115787#p115787</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115784#p115784" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br /></p><div class="codebox"><pre><code>
h1=a
b=1
c=h%b%
MsgBox,, Title,% %c%
MsgBox,, Title,% h%b%
</code></pre></div><p>Поищите так же по форуму. Здесь много раз поднималась тема с хоткеями, поэтому проще воспользоваться уже готовыми наработками. Сократите время на разработку и пополните багаж знаний мудростью прочих.</p><p>UPD:<br />Корректней запись будет выглядеть так:<br /></p><div class="codebox"><pre><code>
h1 := &quot;a&quot;
b := 1
c :=% &quot;h&quot; b
</code></pre></div><p>Здесь каждое строковое представление явно обозначено границами кавычек. Код оформленный таким образом с меньшей вероятностью заводит в тупик при изучении.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2017-05-11T11:47:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115784#p115784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Обращение к переменной записанной в переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=115781#p115781" />
			<content type="html"><![CDATA[<p>Хотел сделать цикл назначения заданных в Gui хоткеев коих 10 на интерпретирование заданных им строк.<br />Получается примерно так:<br /></p><div class="codebox"><pre><code>
gui,submit,nohide
Hnum=0
loop 10
{
Hnum++
if h%Hnum% != &quot;&quot;
{
	if e%Hnum% != &quot;&quot;
	{
		Hotkey,% h Hnum ,print_e%Hnum%
	}
}
}
return
</code></pre></div><p>Но выдает ошибку в строке хоткея.<br />Неприятность в обращении к переменной в переменной:<br /></p><div class="codebox"><pre><code>
h1=a
b=1
c=%(h%(b)%)%
</code></pre></div><p>Либо подскажите иной способ.</p>]]></content>
			<author>
				<name><![CDATA[cahtbap1]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34377</uri>
			</author>
			<updated>2017-05-11T09:40:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=115781#p115781</id>
		</entry>
</feed>
