1 (изменено: Gutalin, 2018-01-13 20:15:35)

Тема: AHK:Как писать условие, для определения пустого значения переменной?

На скорую руку нарезал свой код, чтобы попробовать написать условие (if). Ничего толкового найти в интернете не смог, написал как мог и что-то не работает)
Что я хочу от кода:
Если в строке Edit ничего не введено, то "основной" переменной Bukva присваивается значение "Резервной" переменной Rezerv.
Иначе "Резервной" переменной присваивается значение "Основной"

Вот код:


Gui, Add, Text,, Запомнил:
Gui, Add, Text, vString
Gui, Add, Text,, Резервная переменная:
Gui, Add, Text, vString2
Gui, Add, Text,, Изменить на:
Gui, Add, Edit,vBukva Limit1 +Uppercase
GuiControlGet, Bukva
Gui, Add, Button, gOK, Ок
Gui, Show,
return

OK:
 {
GuiControlGet, Bukva,,
GuiControl, , String, %Bukva%
GuiControl, , String2, %Rezerv%


if Bukva contains 0
vBukva:=vRezerv
else vRezerv:=vBukva


}
Return
AutoHotkey - 1.1.32.00

2

Re: AHK:Как писать условие, для определения пустого значения переменной?

На англоязычном сайте https://autohotkey.com/docs/commands/IfIs.htm нашёл информацию, исправил и всё получилось, вот код:


Gui, Add, Text,, Запомнил:
Gui, Add, Text, vString
Gui, Add, Text,, Резервная переменная:
Gui, Add, Text, vString2
Gui, Add, Text,, Изменить на:
Gui, Add, Edit,vBukva Limit1 +Uppercase
GuiControlGet, Bukva
Gui, Add, Button, gOK, Ок
Gui, Show,
return

OK:
 {
GuiControlGet, Bukva,,

if Bukva is space; Начало условия, если переменная Bukva принадлежит типу space (Пробел или пустое значение)
{
Bukva:=Rez; Тогда переменная Bukva принимает значение переменной Rez
GuiControl, , String, %Bukva%
GuiControl, , String2, %Rez%
}
else
{
Rez:=Bukva; Если переменная Bukva не пустое значение, тогда переменная Rez принимает значение переменной Bukva
GuiControl, , String, %Bukva%
GuiControl, , String2, %Rez%
}
}

Return
AutoHotkey - 1.1.32.00