Что нового

Использовать переменную (значение тестового поля) у всей программе

jilexandr

Знающий
Сообщения
129
Репутация
6
есть функция в которой определяю значения в текстовом поле input

Код:
Func enter()
$Iname = GUICtrlRead($Input1)
$Ipass = GUICtrlRead($Input2)
....
EndFunc


эти же данные нужно использовать в другой функции, как это сделать без повторного присвоения переменной? как-то можно создать глобальную переменную вне функций и использовать ее у всей программе? а то во второй функции приходиться повторять тот самый код

пробовал через Global вне функции
Global $Iname = GUICtrlRead($Input1)
но не получается
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
jilexandr [?]
как это сделать без повторного присвоения переменной?
Использовать глобальную переменную.


Добавлено:
Сообщение автоматически объединено:

jilexandr [?]
пробовал через Global вне функции
Global $Iname = GUICtrlRead($Input1)
но не получается
Код:
Global $Iname, $Ipass

Func enter()
$Iname = GUICtrlRead($Input1)
$Ipass = GUICtrlRead($Input2)
....
EndFunc
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Используй функцию во функции:
Код:
Func Func2()
enter()
EndFunc

Func enter()
$Iname = GUICtrlRead($Input1)
$Ipass = GUICtrlRead($Input2)
....
EndFunc
 
Автор
J

jilexandr

Знающий
Сообщения
129
Репутация
6
CreatoR

ошибка вылетает

4505.JPG

заодно спрошу как правильно проверять переменную на наличии значения,
при выходе с программы проверяю input'ы, если имя или пароль пустые чтобы настройки в ini файл не сохранялись


Добавлено:
Сообщение автоматически объединено:

Zaramot
функция не ограничивается присвоением переменной ))) зачем во второй функции выполнять не нужные действия?) лучше еще одну функцию создать и вызывать ее в первых двух =) (если я правильно вас понял, поздно уже :laugh:smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
$Ret = enter()

Func enter()
    Local $Result[2]
    $Iname = GUICtrlRead($Input1)
    $Ipass = GUICtrlRead($Input2)
    $Result[0] = $Iname
    $Result[1] = $Ipass
    ....
    Return $Result
EndFunc

MsgBox(0, "", "Name = " & $Ret[0] & @CRLF & "Pass = " & $Ret[1])
 
Автор
J

jilexandr

Знающий
Сообщения
129
Репутация
6
Значит переменная используется до Global $Iname, $Ipass.
и правда)) объявил их после оператора выбора кнопок... не знаю как правильно назвать :laugh:
 
Верх