1

Тема: AHK: Очистка всех переменных

Собственно вопрос в заголовке.

2

Re: AHK: Очистка всех переменных

Var =

3

Re: AHK: Очистка всех переменных

100 раз?

4

Re: AHK: Очистка всех переменных

Создавайте переменные в массиве и потом уничтожайте массив.
Либо можно получить весь список переменных, пропарсить и обнулить:
http://forum.script-coding.com/viewtopi … 94#p112494

5

Re: AHK: Очистка всех переменных

Я так и поступаю, думал можно одной командой очистить память.

6

Re: AHK: Очистка всех переменных

Локальные переменные в функциях автоматически очищаются после выхода из функции.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Очистка всех переменных

Return

8

Re: AHK: Очистка всех переменных

teadrinker
Это я знаю, в моем случае функция не подойдет, т.к. переменные глобальные.
Суть такая: программа оперирует данными, которые берутся из строки Excel - считали строку - расплитили на переменные - повтыкали их в сторонней программе - перешли на следующую строку.
Так вот если в текущей строке какая либо ячейка пустая - то переменная будет содержать значение предыдущей строки, т.е. при пустой ячейке(1) str1 будет содержать предыдущее значение.

StringSplit, str, Clipboard, %A_Tab%

9

Re: AHK: Очистка всех переменных

StringSplit делит на псевдомассивы, можно использовать подобную функцию, она делит на реальный массив.
В данном случае str.4 сам удаляется:

String := "a`tb`tc`td"
str := StrSplit(String,A_Tab)
msgbox %  str.3 "`n" str.4

String := "x`ty`tz"
str := StrSplit(String,A_Tab)
msgbox %  str.3 "`n" str.4

10 (изменено: Zohann, 2017-03-01 12:33:27)

Re: AHK: Очистка всех переменных

yalanne
Вот оно как!
А как вставить эту переменную в функцию?

n = 4
txt := RTrim(str.n, "`r`n") ; ругается на str.n

11

Re: AHK: Очистка всех переменных

Zohann

n = 4
txt := RTrim(str[n], "`r`n") ; ругается на str.n

12 (изменено: svoboden, 2017-03-01 14:45:01)

Re: AHK: Очистка всех переменных

Так можно все переменные удалить:

list_1 = 1234
list_2 = 5678
list_3 = 9012

Loop, 3
    list_%A_Index% := ""
MsgBox %list_1%