У меня есть функция с именем fillUI()
, основная цель которой - заполнить созданный пользовательский интерфейс.В моем оригинальном сценарии мне нужно пройти более 20 элементов управления редактированием и заполнить их содержимым.Содержимое хранится в массиве.
Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как «вернуть» глобальную переменную с содержимым, имя переменной которого составлено из строки.
Это как сказать, myVar1 := "Hello World"
- это исходная переменная.Затем я указываю на эту переменную с помощью varName := "myVar1"
, а затем изменяю ее на varName := "foobar"
, но myVar1
все равно будет Hello World
в конце ..
Возможна ли такая вещь?
; Start of script
#SingleInstance Force
FillUI()
Gui, Add, Edit, x12 y9 w350 h30 , %Text_1%
Gui, Add, Edit, x12 y89 w350 h30 , %Text_2%
Gui, Add, Edit, x12 y159 w350 h30 , %Text_3%
Gui, Show, w390 h278, Code testing
return
FillUI() {
words := {1:"Hello World",2:"foobar",3:"lorem ipsum"}
i := 1
while(i <= words.MaxIndex()) {
global variable_name := "Text_" i
word := words[i]
; I need to return a variable here whose variable name needs to be something like "Text_X" and whose content is %word%
; This is in order to fill the UI above
;
; Is this achievable?
variable_name := word
i++
}
}
GuiClose:
ExitApp
return
; End of script