1 (изменено: Gutalin, 2018-01-17 15:40:22)

Тема: AHK: Возвращение значения переменной в поле ввода Edit.

В поле Edit выводится значение переменной. Я могу  менять значение этой переменной через тоже поле edit. Я хочу сделать, чтобы если я введу в поле пустое значение или пробел, то выводилось прошлое значение переменной.
Я сделал так, что если введено пустое значение(или пробел), то значение переменной возвращается прошлое (Из резервной переменной "Rez"), но почему оно в этом случает не отображается в поле Edit?
Помогает через Gui, Destroy, но можно ли сделать это по-другому?
Код:

Gui, Add, Text, section, Запомнил:
Gui, Add, Edit, x155 y5 h17 w22 vBukva gEdit, %Bukva%
Gui, Add, Button,x70 y33 gOK, Сохранить
Gui, Show, Restore  w200 h170, MyWin,
return

OK:
{
if Bukva is space
{
Bukva:=Rez
}
else
{
Rez:=Bukva
}
msgBox, Значение изменено на %Bukva%
Gui, Destroy,
Gui, Add, Text, section, Запомнил:
Gui, Add, Edit, x155 y5 h17 w22 vBukva gEdit, %Bukva%
Gui, Add, Button,x70 y33 gOK, Сохранить
Gui, Show, Restore  w200 h170, MyWin,
} 
return

Edit:
GuiControlGet, Bukva
Return

Guiclose:
ExitApp
AutoHotkey - 1.1.32.00

2

Re: AHK: Возвращение значения переменной в поле ввода Edit.

Gui Add, Edit, vBukva HwndhEdit, % Bukva
Gui Add, Button, gOK, Сохранить
Gui Show
Return

OK:
	Gui Submit, NoHide
	IfEqual Bukva,, GuiControl,, % hEdit, % Rez
	Rez:=Bukva
Return

GuiClose:
GuiEscape:
	ExitApp

3

Re: AHK: Возвращение значения переменной в поле ввода Edit.

stealzy, в моём основном коде в gEdit вот это:

Edit:
     GuiControlGet, tBukva, , Bukva  
    If (tBukva ~= "i)[^0-9A-Z]" || (0, Bukva := tBukva))
		GuiControl, , Bukva, % Bukva
    Return

Как это применить к Вашему коду?

AutoHotkey - 1.1.32.00

4

Re: AHK: Возвращение значения переменной в поле ввода Edit.


Gui, Add, Edit, vBukva gEdit
Gui, Show
Return

Edit:
    GuiControlGet, tBukva, , Bukva
    If (tBukva ~= "i)[^0-9A-Z]" || (tBukva = "") || (0, Bukva := tBukva))
	{
		GuiControl, -g, Bukva
		GuiControl, , Bukva, % Bukva
		GuiControl, +gEdit, Bukva
	}
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Возвращение значения переменной в поле ввода Edit.

serzh82saratov,
Я вставил в кнопку gOk, иначе я не могу стереть последний символ в строке Edit.
Теперь всё выполняется как я и хотел, спасибо большое!

OK:
{
if Bukva is space
{
Bukva:=Rez
GuiControl, -g, Bukva
GuiControl, , Bukva, % Bukva
GuiControl, +gEdit, Bukva
}
AutoHotkey - 1.1.32.00